execute: Treat signalled processes like wait-process does.
[gnulib.git] / ChangeLog
blob397bd7dbdd0957456f9eb691ff0f56c4a43611d0
1 2020-12-24  Bruno Haible  <bruno@clisp.org>
3         execute: Treat signalled processes like wait-process does.
4         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
5         (execute): Recognize the case where the exit code indicates a signalled
6         child process.
7         * tests/test-execute-main.c (main): Update expected test result.
8         * modules/execute (Depends-on): Add sys_wait.
10 2020-12-24  Bruno Haible  <bruno@clisp.org>
12         windows-spawn: Improve errno upon failure on native Windows.
13         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
14         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
15         * tests/executable-script.sh: New file.
16         * tests/test-posix_spawn-script.c (main): Also try executing
17         executable-script.sh.
18         * tests/test-posix_spawnp-script.c (main): Likewise.
19         * tests/test-execute-script.c (main): Likewise.
20         * tests/test-spawn-pipe-script.c (main): Likewise.
21         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
22         * modules/posix_spawnp-tests (Files): Likewise.
23         * modules/execute-tests (Files): Likewise.
24         * modules/spawn-pipe-tests (Files): Likewise.
26 2020-12-24  Bruno Haible  <bruno@clisp.org>
28         findprog-in: Improve errno upon failure on native Windows.
29         * lib/findprog-in.c (find_in_given_path): If the file basename has no
30         dot and the search with a suffix returned no result, do also a search
31         without a suffix, and set errno = ENOEXEC if we find a file in this way.
32         * tests/test-spawn-pipe-script.c (main): Update expected errno.
34 2020-12-23  Bruno Haible  <bruno@clisp.org>
36         posix_spawn, posix_spawnp: Fix execution of scripts.
37         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
38         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
39         or posix_spawnp allows unsecure execution of scripts.
40         * doc/posix-functions/posix_spawn.texi: Document the script execution
41         problem.
42         * doc/posix-functions/posix_spawnp.texi: Likewise.
44 2020-12-23  Bruno Haible  <bruno@clisp.org>
46         Add unit tests regarding execution of scripts.
47         * tests/executable-script: New file.
48         * tests/executable-shell-script: New file.
49         * tests/test-posix_spawn-script.c: New file.
50         * tests/test-posix_spawnp-script.c: New file.
51         * tests/test-execute-script.c: New file.
52         * tests/test-spawn-pipe-script.c: New file.
53         * modules/posix_spawn-tests (Files): Add
54         tests/test-posix_spawn-script.c, tests/executable-script,
55         tests/executable-shell-script.
56         (Makefile.am): Compile and run test-posix_spawn-script.
57         * modules/posix_spawnp-tests (Files): Add
58         tests/test-posix_spawnp-script.c, tests/executable-script,
59         tests/executable-shell-script.
60         (Makefile.am): Compile and run test-posix_spawnp-script.
61         * modules/execute-tests (Files): Add tests/test-execute-script.c,
62         tests/executable-script, tests/executable-shell-script.
63         (Makefile.am): Compile and run test-execute-script.
64         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
65         tests/executable-script, tests/executable-shell-script.
66         (Makefile.am): Compile and run test-spawn-pipe-script.
68 2020-12-23  Bruno Haible  <bruno@clisp.org>
70         Don't execute scripts without '#!' marker through /bin/sh.
71         This reflects the change done in glibc through
72         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
73         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
74         * lib/spawni.c (internal_function): Remove macro.
75         (script_execute): Remove function.
76         (__spawni): Don't invoke script_execute.
77         * lib/execute.c (execute): Disable the ENOEXEC handling.
78         * lib/spawn-pipe.c (create_pipe): Likewise.
79         * NEWS: Mention the change.
81 2020-12-23  Bruno Haible  <bruno@clisp.org>
83         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
84         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
85         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
86         * lib/spawni.c (__spawni): Update function parameters.
88 2020-12-23  Bruno Haible  <bruno@clisp.org>
90         posix_spawn tests: Add two more tests.
91         * tests/test-posix_spawn-inherit0.c: New file, based on
92         tests/test-posix_spawn-open2.c.
93         * tests/test-posix_spawn-inherit1.c: New file, based on
94         tests/test-posix_spawn-open2.c.
95         * modules/posix_spawn-tests (Files): Add them.
96         (Depends-on): Add fflush.
97         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
98         test-posix_spawn-inherit1.
100 2020-12-23  Bruno Haible  <bruno@clisp.org>
102         posix_spawn tests: Add another test.
103         * tests/test-posix_spawn-open2.c: New file, based on
104         tests/test-posix_spawn-open1.c.
105         * modules/posix_spawn-tests (Files): Add it.
106         (Makefile.am): Compile and run test-posix_spawn-open1.
108 2020-12-20  Bruno Haible  <bruno@clisp.org>
110         Remove support for broken <wchar.h> in AIX 3.
111         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
113 2020-12-20  Bruno Haible  <bruno@clisp.org>
115         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
116         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
117         * lib/mbchar.h: Likewise.
118         * lib/mbiter.h: Likewise.
119         * lib/mbuiter.h: Likewise.
120         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
121         * lib/mbfile.h: Don't include <time.h>.
122         * lib/mbswidth.h: Update comment.
123         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
124         <wchar.h>.
125         * lib/wctype.in.h: Likewise.
126         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
127         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
128         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
129         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
130         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
131         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
132         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
133         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
134         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
135         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
136         AC_FUNC_MBRTOWC): Likewise.
137         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
138         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
139         Likewise.
140         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
141         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
142         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
143         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
144         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
145         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
146         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
147         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
148         Likewise.
149         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
150         gl_WCSRTOMBS_NULL): Likewise.
151         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
152         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
153         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
155         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
156         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
157         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
158         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
159         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
160         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
162 2020-12-20  Bruno Haible  <bruno@clisp.org>
164         isnanf: Fix autoconf test.
165         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
167 2020-12-20  Bruno Haible  <bruno@clisp.org>
169         Remove some of the support for obsolete IRIX 4 and 5.
170         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
171         libsun.
172         * tests/init.sh (setup_): Don't talk about IRIX 5.
174 2020-12-20  Bruno Haible  <bruno@clisp.org>
176         filemode: Remove Cray support.
177         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
178         (filemodestring): Don't produce an 'M' type.
179         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
180         * m4/st_dm_mode.m4: Remove file.
181         * modules/filemode (Files): Remove it.
183 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
185         free-posix: assume glibc 2.33 fixes this.
186         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
187         Use compile-time test rather than guessing for cross-builds.
189 2020-12-20  Bruno Haible  <bruno@clisp.org>
191         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
192         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
193         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
194         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
196 2020-12-20  Bruno Haible  <bruno@clisp.org>
198         float: Fix compilation error when gnulib's float.h exists twice.
199         Reported by Santiago Vila <sanvila@unex.es>.
200         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
202 2020-12-19  Bruno Haible  <bruno@clisp.org>
204         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
205         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
206         Don't trust _POSIX_VERSION for this test.
208 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
210         free-posix: port to GNU/Linux
211         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
212         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
213         other GNU/Linux hosts.
215 2020-12-19  Bruno Haible  <bruno@clisp.org>
217         free-posix: Add tests.
218         * tests/test-free.c: New file.
219         * tests/macros.h (ASSERT_NO_STDIO,
220         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
221         WRITE_TO_STDERR): New macros.
222         * modules/free-posix-tests: New file.
224 2020-12-18  Bruno Haible  <bruno@clisp.org>
226         free-posix: Add C++ declaration test.
227         * tests/test-stdlib-c++.cc (free): New declaration.
229 2020-12-18  Bruno Haible  <bruno@clisp.org>
231         free-posix: New module, renamed from 'free'.
232         * modules/free-posix: Renamed from modules/free.
233         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
234         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
235         not GNULIB_FREE.
236         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
237         GNULIB_FREE.
238         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
239         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
240         what it does.
241         * NEWS: Mention that module 'free' no longer exists.
242         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
243         * modules/canonicalize-lgpl (Depends-on): Likewise.
245 2020-12-18  Bruno Haible  <bruno@clisp.org>
247         free: Remove support for obsolete platforms.
248         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
249         CANNOT_FREE_NULL.
250         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
251         * modules/free (Description): Update.
252         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
254 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
256         intprops: port to ICC 2021.1 Beta 20201112
257         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
258         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
259         Add a clause for other compilers that claim to support
260         __builtin_mul_overflow_p, since we might as well find out about
261         slackers other than Clang and ICC.
262         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
263         like older GCCs even when it claims to be a newer one.
265 2020-12-18  Bruno Haible  <bruno@clisp.org>
267         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
268         Reported by Stefan Liebler <stli@linux.ibm.com> in
269         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
270         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
271         GCC 5.x and 6.x.
272         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
273         GCC 5.x and 6.x.
275 2020-12-17  Bruno Haible  <bruno@clisp.org>
277         free: Fix warning.
278         Reported by Pádraig Brady <P@draigBrady.com> in
279         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
280         * lib/stdlib.in.h (free): New declaration.
281         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
282         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
283         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
284         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
285         'free' as a macro here.
286         * modules/free (Depends-on): Add stdlib.
287         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
289 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
291         canonicalize-lgpl: fix AIX test failures
292         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
293         Problem reported by Bruno Haible in:
294         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
295         * lib/canonicalize-lgpl.c: Include sys/stat.h.
296         (__realpath): When testing a file name ending in '/', use stat
297         rather than readlink, so that it does the right thing on AIX.
298         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
300         canonicalize: omit second readlink when not needed
301         * lib/canonicalize.c (canonicalize_filename_mode_stk):
302         Omit second readlink when (can_exist != CAN_MISSING
303         && startlen != 0 && !logical).  Simplify.
305         canonicalize: remove arbitrary 8192-byte limit
306         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
307         like GNU Hurd that do not define the PATH_MAX macro, and similarly
308         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
309         using scratch buffers.  Lessen the number of differences between
310         the two source files, to simplify this and future maintenance.
311         * lib/canonicalize-lgpl.c (__realpath):
312         * lib/canonicalize.c (canonicalize_filename_mode_stk):
313         Use scratch buffers instead of malloc and malloca.  This avoids
314         the need for alloca, and avoids the need for malloc in most cases.
315         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
316         easier to compare, e.g., by sorting include files and by switching
317         to the GNU convention of calling file names "file names", not
318         "path names".  Include stdbool.h, scratch_buffer.h.
319         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
320         (malloca) [_LIBC]: Remove.
321         [!_LIBC]: Do not include malloca.h.
322         (get_path_max): New function, so that pathconf is called only in
323         the rare and dubious case when when RESOLVED is not null and
324         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
325         file name, as we care about the longest file name starting from
326         "/" (not from the input file name), and POSIX does not specify
327         what pathconf does on a non-directory file anyway.  If PATH_MAX is
328         not defined, do not worry about overriding a path_max of 0, and do
329         not let path_max exceed IDX_MAX.
330         (__realpath): Remove an assumption that file name components
331         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
332         the Hurd, presumably).
333         When allocating the result, allocate it to just the right size;
334         this costs nothing when the result is smaller than 1023 bytes,
335         and for larger results it's probably worth the CPU to call realloc,
336         as canonicalize.c already does.
337         * lib/canonicalize.c: Include attribute.h.
338         Do not include pathmax.h or xgetcwd.h.
339         (PATH_MAX): Do not define, so file names longer than 8192 bytes
340         work on platforms with no fixed limit.
341         (canonicalize_filename_mode_stk): New function, with
342         the content of the old canonicalize_filename_mode.
343         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
344         since the scratch buffers now do memory management for us.
345         Use rawmemchr instead of adding strlen.
346         Use mempcpy instead of mempcpy + size.
347         Assume free preserves errno.
348         (canonicalize_filename_mode): Use it.
349         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
350         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
351         scratch_buffer, stdbool, xalloc-die.
352         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
353         malloca, realloc-posix.  Add scratch_buffer, stdbool.
355         canonicalize-lgpl: simplify merge to glibc
356         This patch lessens the differences between git glibc
357         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
358         The (perhaps wishful) goal is to make them identical.
359         * lib/canonicalize-lgpl.c [!_LIBC]:
360         Include <libc-config.h>, not config.h.
361         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
362         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
363         Do not include alloca.h, since we use malloca now.
364         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
365         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
366         freea so that the mainline code can be kept #ifdef free.
367         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
368         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
369         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
370         __eloop_threshold.  All uses of their definiens changed.
371         (SIZE_MAX): Remove; no longer needed.
372         (alloc_failed): Remove, and remove all instances.
373         No need for alloc_failed now that free preserves errno.
374         (__realpath): Default path_max to 1024 instead of 8192, as that’s
375         the glibc tradition and is safer when the 2nd argument is null.
376         Use __rawmemchr instead of strchr.
377         Use __mempcpy where appropriate.
378         Simplify test for overflow so that it does not need SIZE_MAX.
379         Do not preserve errno around free or freea calls; no longer needed.
380         Mark __realpath with libc_hidden_def.
381         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
382         malloc-posix, mempcpy, realloc-posix, rawmemchr.
383         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
385         free: preserve errno
386         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
387         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
388         platforms that do not preserve errno.
389         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
390         Also, define CANNOT_FREE_NULL if free cannot free NULL.
391         * modules/free (configure.ac): Also replace 'free' if
392         it does not preserve errno.
394         idx: simplify IDX_MAX, remove IDX_WIDTH
395         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
396         to UNSIGNED_IDX_T.
397         (IDX_WIDTH): Remove, since it’s not used and its value
398         arguably should be PTRDIFF_WIDTH anyway.
400 2020-12-16  Bruno Haible  <bruno@clisp.org>
402         posix_spawn_file_actions_addfchdir-tests: Rename test.
403         * tests/test-posix_spawn-fchdir.c: Renamed from
404         tests/test-posix_spawn5.c.
405         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
406         Update.
408         posix_spawn_file_actions_addchdir-tests: Rename test.
409         * tests/test-posix_spawn-chdir.c: Renamed from
410         tests/test-posix_spawn4.c.
411         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
412         Update.
414         posix_spawn-tests: Rename test.
415         * tests/test-posix_spawn-open1.c: Renamed from
416         tests/test-posix_spawn3.c.
417         * modules/posix_spawn-tests (Files, Makefile.am): Update.
419         posix_spawnp-tests: Rename test.
420         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
421         tests/test-posix_spawn2.c.
422         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
423         tests/test-posix_spawn2.in.sh.
424         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
426         posix_spawnp-tests: Rename test.
427         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
428         tests/test-posix_spawn1.c.
429         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
430         tests/test-posix_spawn1.in.sh.
431         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
433 2020-12-14  Bruno Haible  <bruno@clisp.org>
435         findprog-in: Allow overriding the current directory.
436         * lib/findprog.h (find_in_given_path): Add directory argument.
437         * lib/findprog-in.c (find_in_given_path): Likewise.
438         * lib/execute.c (execute): Update caller.
439         * lib/spawn-pipe.c (create_pipe): Likewise.
440         * lib/windows-spawn.c (spawnpvech): Likewise.
441         * NEWS: Mention the change.
443 2020-12-14  Bruno Haible  <bruno@clisp.org>
445         posix_spawn-internal: Make better use of 'const'.
446         * lib/spawn_int.h (__spawni): Does not need write access to the elements
447         of argv and envp.
448         * lib/spawni.c (__spawni, script_execute): Likewise.
449         * lib/spawn.c (posix_spawn): Update caller.
450         * lib/spawnp.c (posix_spawnp): Likewise.
452 2020-12-14  Bruno Haible  <bruno@clisp.org>
454         spawn: Make it compile on native Windows.
455         * modules/spawn (Depends-on): Add signal-h.
457 2020-12-14  Bruno Haible  <bruno@clisp.org>
459         windows-spawn: Avoid shadowing a variable.
460         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
462 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
464         string: port memchr macro to AIX 7.2 XLC
465         Its <string.h> defines a memchr macro to help inlining.
466         * lib/string.in.h (memchr): #undef before #defining.
468         canonicalize: fix AIX test failures
469         Problem reported by Bruno Haible in:
470         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
471         * lib/canonicalize.c (canonicalize_filename_mode):
472         When testing a file name ending in '/', use stat rather than
473         readlink, so that it does the right thing on AIX.
474         * modules/canonicalize (Depends-on): Add readlink, to pull in the
475         recent changes in the Gnulib readlink module.
477         Assume readlink/readlinkat ERANGE fix
478         * lib/areadlink-with-size.c (areadlink_with_size):
479         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
480         * lib/careadlinkat.c (readlink_stk):
481         Do not worry about readlink or readlinkat failing with errno == ERANGE,
482         since the Gnulib readlink and readlinkat modules now fix that.
484         getcwd: port to AIX
485         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
486         in case our sys/stat.h #defined a function macro with the same name.
488         readlink, readlinkat: add ERANGE portability
489         Fix some portability issues with Gnulib's readlink and readlinkat,
490         notably mostly working around the ERANGE problem in AIX and HP-UX.
491         * doc/posix-functions/readlink.texi:
492         * doc/posix-functions/readlinkat.texi:
493         ERANGE problem is mostly fixed now.  Mention AIX problem with
494         trailing / and EINVAL.  Lessen differences between these two files.
495         * lib/readlink.c (rpl_readlink):
496         * lib/readlinkat.c (rpl_readlinkat):
497         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
498         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
499         Lessen spurious differences between the readlink and readlinkat code.
500         * lib/readlinkat.c (rpl_readlinkat):
501         Fix bug where stat was used where fstatat was intended.
502         * m4/readlink.m4 (gl_FUNC_READLINK):
503         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
504         to identify readlink problems more precisely.  All uses changed.
505         Guess no on AIX or HP-UX for this variable.
506         Add check for whether readlink truncates results,
507         and define new macro READLINK_TRUCATE_BUG accordingly.
508         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
509         Also check gl_cv_func_readlink_trailing_slash when deciding
510         whether to replace readlinkat.
511         * modules/readlinkat (Depends-on): Most dependencies are also
512         needed if replacing readlinkat.  fstatat is different, as it
513         is needed only if replacing an existing readlinkat.
515 2020-12-13  Bruno Haible  <bruno@clisp.org>
517         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
518         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
519         the stdin_handle and/or stdout_handle.
521 2020-12-12  Bruno Haible  <bruno@clisp.org>
523         Fix gnulib-tool error when some modules occur in tests/.
524         * doc/gnulib.texi (Specification): Update statistics.
525         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
526         (Using AC_LIBOBJ): New section.
527         * check-AC_LIBOBJ: New file.
528         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
529         * modules/fopen-gnu (Files): Add lib/fopen.c.
530         * modules/memmem (Files): Add lib/memmem.c.
531         * modules/renameat (Files): Add lib/at-func2.c.
532         * modules/strcasestr (Files): Add lib/strcasestr.c.
533         * modules/strstr (Files): Add lib/strstr.c.
535 2020-12-11  Bruno Haible  <bruno@clisp.org>
537         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
538         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
539         elements of argv.
540         * lib/sh-quote.c (shell_quote_argv): Likewise.
541         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
542         the return type.
543         * lib/windows-spawn.c (prepare_spawn): Likewise.
544         * lib/os2-spawn.h (prepare_spawn): Likewise.
545         * lib/os2-spawn.c (prepare_spawn): Likewise.
546         * lib/execute.h (execute): Does not need write access to the elements of
547         prog_argv.
548         * lib/execute.c (execute): Likewise.
549         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
550         Likewise.
551         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
552         create_pipe_out): Likewise.
553         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
554         Likewise.
555         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
556         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
557         * lib/javaexec.h (execute_fn): Does not need write access to the
558         elements of prog_argv.
559         * lib/javaexec.c (execute_java_class): Update variable types and remove
560         casts to 'char *'.
561         * lib/csharpexec.h (execute_fn): Does not need write access to the
562         elements of prog_argv.
563         * lib/csharpexec.c (execute_csharp_using_mono,
564         execute_csharp_using_sscli): Update variable types and remove casts to
565         'char *'.
566         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
567         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
568         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
569         is_jikes_present): Update variable types and remove casts to 'char *'.
570         * lib/javaversion.c (execute_and_read_line): Does not need write access
571         to the elements of prog_argv.
572         * lib/csharpcomp.c (compile_csharp_using_mono,
573         compile_csharp_using_sscli): Update variable types and remove casts to
574         'char *'.
575         * tests/test-sh-quote.c (main): Update variable types and remove casts
576         to 'char *'.
577         * tests/test-execute-main.c (main): Update variable types and remove
578         casts to 'char *'.
579         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
580         remove casts to 'char *'.
581         * NEWS: Mention the changes.
583 2020-12-11  Bruno Haible  <bruno@clisp.org>
585         execute-tests: Fix compilation error with MSVC.
586         * tests/test-execute-child.c (is_device): With _fstat, use
587         'struct _stat', not 'struct stat'.
589 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
591         vararrays: just use 2.70
592         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
593         and later, since Autoconf 2.70 matches Gnulib now.
595         sys_types: just use 2.70
596         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
597         Reindent to match Autoconf sources.
598         Use Autoconf 2.70 as a prerequisite, not 2.69c.
600         stdint: port to Autoconf 2.70
601         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
602         instead of assuming that AC_INCLUDES_DEFAULT does it.
603         The old code relied on AC_INCLUDES_DEFAULT being called
604         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
605         but this does not occur in Autoconf 2.70.
607         pid_t.m4: just use 2.70
608         * m4/pid_t.m4 (AC_TYPE_PID_T):
609         Use Autoconf 2.70 as a prerequisite, not 2.69c.
611         largefile: just use 2.70
612         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
613         Use Autoconf 2.70 as a prerequisite, not 2.69c.
615         AC_C_RESTRICT: update from Autoconf
616         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
617         as a prerequisite, not 2.69c, since 2.70 is now out.
618         (AC_C_RESTRICT): Define only for 2.70 or earlier.
619         Try __restrict__ before __restrict.
621         extensions: update from Autoconf
622         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
623         Provide a default implementation for Autoconf 2.69 or earlier.
624         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
625         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
627         alloca: update from Autoconf
628         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
629         Trivial update to match Autoconf 2.70.
631 2020-12-11  Bruno Haible  <bruno@clisp.org>
633         memchr: Work around memory overrun bug on AIX 7.2.
634         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
635         * doc/posix-functions/memchr.texi: Mention the AIX bug.
637 2020-12-11  Bruno Haible  <bruno@clisp.org>
639         execute-tests: Fix compilation error on AIX in 32-bit mode.
640         * tests/test-execute-child.c: In order to get the original definition of
641         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
642         include the system's <sys/stat.h> and use it before including other
643         header files.
645 2020-12-10  Bruno Haible  <bruno@clisp.org>
647         windows-spawn: Relicense under LGPLv2+.
648         * modules/windows-spawn (License): Change to LGPLv2+.
650 2020-12-10  Bruno Haible  <bruno@clisp.org>
652         execute, spawn-pipe: Fix memory leak on native Windows.
653         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
654         * lib/windows-spawn.c: Don't include xalloc.h.
655         (quoted_arg_length, quoted_arg_string): New functions, extracted from
656         prepare_spawn.
657         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
658         elements of *new_argv together.
659         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
660         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
661         * lib/os2-spawn.c: Don't include xalloc.h.
662         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
663         elements of *new_argv together.
664         * lib/execute.c: Include xalloc.h.
665         (execute): Check return value of prepare_spawn. Free the memory
666         allocated by prepare_spawn.
667         * modules/execute (Depends-on): Add xalloc-die.
668         * lib/spawn-pipe.c: Include xalloc.h.
669         (create_pipe): Check return value of prepare_spawn. Free the memory
670         allocated by prepare_spawn.
671         * modules/spawn-pipe (Depends-on): Add xalloc-die.
673 2020-12-10  Bruno Haible  <bruno@clisp.org>
675         findprog-in: Relicense under LGPLv2+.
676         Paul Smith's approval is in
677         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
678         * modules/findprog-in (License): Change to LGPLv2+.
680 2020-12-10  Bruno Haible  <bruno@clisp.org>
682         findprog-in: Don't exit upon out-of-memory.
683         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
684         code.
685         * lib/findprog-in.c: Don't include xalloc.h.
686         (find_in_given_path): Call concatenated_filename, not
687         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
688         return NULL with errno set.
689         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
690         concat-filename, strdup-posix, malloc-posix.
692 2020-12-09  Bruno Haible  <bruno@clisp.org>
694         fmaf: Work around a bug on FreeBSD 12.2/arm.
695         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
696         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
698 2020-12-09  Bruno Haible  <bruno@clisp.org>
700         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
701         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
702         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
703         * lib/glthread/threadlib.c: Include <errno.h>.
704         (glthread_in_use): For FreeBSD, provide an alternative implementation
705         that uses pthread_key_create.
707 2020-12-09  Bruno Haible  <bruno@clisp.org>
709         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
710         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
711         not 'isnan'.
713 2020-12-08  Bruno Haible  <bruno@clisp.org>
715         std-gnu11: Make compatible with Autoconf 2.70.
716         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
717         use.
719 2020-12-08  Bruno Haible  <bruno@clisp.org>
721         argp: Avoid undefined behaviour when invoking qsort().
722         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
723         Reported by Jeffrey Walton <noloader@gmail.com> in
724         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
725         * lib/argp-help.c (group_cmp): Remove third argument.
726         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
727         upon hol_cluster_cmp.
728         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
729         (hol_entry_cmp): Rewritten to implement a total order.
731 2020-12-08  Bruno Haible  <bruno@clisp.org>
733         argp: Improve comments.
734         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
735         null pointer.
736         (struct hol_entry): Fix comment regarding sort order of group.
737         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
738         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
739         (hol_cluster_is_child, argp_hol): Move functions.
740         (HOL_ENTRY_PTRCMP): Remove unused macro.
742 2020-12-08  Bruno Haible  <bruno@clisp.org>
744         argp: Don't pass invalid arguments to isspace() and isalnum().
745         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
746         before passing it to isspace() or isalnum().
748 2020-12-08  Bruno Haible  <bruno@clisp.org>
750         argp: Don't rely on undefined behaviour of _tolower().
751         Patch by Eric Blake
752         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
753         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
754         not upper-case.  Pass correct range to tolower.
756 2020-12-07  Bruno Haible  <bruno@clisp.org>
758         unicodeio: Fix wrong result on FreeBSD.
759         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
760         characters on all platforms.
762 2020-12-07  Bruno Haible  <bruno@clisp.org>
764         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
765         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
766         FreeBSD systems.
768 2020-12-07  Bruno Haible  <bruno@clisp.org>
770         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
771         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
772         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
773         trivially of sbrk is not available.
774         * doc/glibc-functions/sbrk.texi: Mention that the function does not
775         exist in FreeBSD 12.2/arm64.
776         * doc/glibc-functions/brk.texi: Likewise.
778 2020-12-07  Bruno Haible  <bruno@clisp.org>
780         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
781         Suggested by Zack Weinberg in
782         <https://savannah.gnu.org/support/?110294>.
783         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
784         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
786 2020-12-07  Bruno Haible  <bruno@clisp.org>
788         Tweak the Windows oldnames workaround.
789         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
790         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
791         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
792         always.
793         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
794         * lib/stdlib.in.h (putenv): Likewise.
796 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
798         doc: fix flat address space discussion
799         * doc/gnulib-readme.texi (Other portability assumptions):
800         Move the all-bits-zero assumption outside the flat address space
801         section, since the two issues are independent.
803         doc: document -static-libubsan more
804         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
805         -static-libubsan a bit more.  Mostly cons.
807 2020-12-06  Bruno Haible  <bruno@clisp.org>
809         doc: Add more details regarding the undefined behaviour sanitizer.
810         * doc/gnulib-readme.texi (High Quality): Describe
811         -fsanitize-undefined-trap-on-error better.
813 2020-12-06  Bruno Haible  <bruno@clisp.org>
815         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
816         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
817         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
818         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
819         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
820         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
821         a preprocessor #define.
822         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
823         * lib/search.in.h (lfind, lsearch): Likewise.
824         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
825         Likewise.
826         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
827         * lib/string.in.h (memccpy, strdup): Likewise.
828         * lib/sys_stat.in.h (chmod, umask): Likewise.
829         * lib/time.in.h (tzset): Likewise.
830         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
831         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
832         read, rmdir, swab, unlink, write): Likewise.
833         * lib/utime.in.h (utime): Likewise.
834         * lib/wchar.in.h (wcsdup): Likewise.
835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
836         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
837         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
838         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
839         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
840         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
841         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
842         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
844         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
845         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
846         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
847         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
848         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
850 2020-12-06  Bruno Haible  <bruno@clisp.org>
852         doc: Mention some missing function declarations.
853         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
854         AIX.
855         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
856         FreeBSD.
857         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
858         Cygwin.
859         * doc/pastposix-functions/fcvt.texi: Likewise.
860         * doc/pastposix-functions/gcvt.texi: Likewise.
862 2020-12-06  Bruno Haible  <bruno@clisp.org>
864         doc: Tweak example.
865         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
866         'print'.
868 2020-12-06  Bruno Haible  <bruno@clisp.org>
870         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
871         * tests/test-filenamecat.c: Include idx.h.
872         (main): Mark prefixlen as nonnegative.
873         * modules/filenamecat-tests (Depends-on): Add idx.
875 2020-12-06  Bruno Haible  <bruno@clisp.org>
877         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
878         * lib/time_rz.c: Include idx.h.
879         (save_abbr): Mark zone_size as nonnegative.
880         * modules/time_rz (Depends-on): Add idx.
882 2020-12-06  Bruno Haible  <bruno@clisp.org>
884         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
885         * lib/parse-datetime.y: Include idx.h.
886         (textint): Mark digits as nonnegative.
887         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
888         dsts_seen, times_seen, zones_seen as nonnegative.
889         (lookup_word): Mark wordlen as nonnegative.
890         (yylex): Mark count as nonnegative.
891         (parse_datetime2): Mark tzsize as nonnegative.
892         * modules/parse-datetime (Depends-on): Add idx.
894 2020-12-06  Bruno Haible  <bruno@clisp.org>
896         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
897         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
898         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
899         nonnegative.
900         * modules/fnmatch (Depends-on): Add idx.
902 2020-12-06  Bruno Haible  <bruno@clisp.org>
904         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
905         * lib/c-stack.c: Include idx.h.
906         (die): Mark buflen as nonnegative.
907         * modules/c-stack (Depends-on): Add idx.
909 2020-12-06  Bruno Haible  <bruno@clisp.org>
911         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
912         * lib/backupfile.c: Include idx.h.
913         (numbered_backup): Mark base_offset as nonnegative.
914         (backupfile_internal): Likewise.
915         * modules/backup-rename (Depends-on): Add idx.
916         * modules/backupfile (Depends-on): Likewise.
918 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
920         doc: fix curved quotes issue
921         * doc/gnulib.texi: Set txicodequoteundirected and
922         txicodequotebacktick so that ` and ' in examples do not generate
923         curved single quotes that do the wrong thing when cut and pasted.
925         doc: mention static and dynamic checking
926         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
927         for static and dynamic checking.
929         intprops: Add INT_ADD_OK etc.
930         * doc/intprops.texi (Checking Integer Overflow): New section.
931         * lib/intprops.h: From a suggestion by Bruno Haible in:
932         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
933         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
935         doc: move exotic platfroms to Target Platforms
936         * doc/gnulib-intro.texi (Supported Platforms)
937         (Formerly Supported Platforms, Unsupported Platforms):
938         New subsections, split off from Target Platforms.
939         (Unsupported Platforms): Move the exotic-platform stuff here ...
940         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
941         section.
943         doc: mention intptr_t etc. and IBM i
944         * doc/gnulib-readme.texi (Other portability assumptions):
945         Mention intptr_t and uintptr_t, and that arithmetic on them
946         works in the usual way.
947         (Exotic platforms): New section, containing material from
948         the old 'Integer Portability' section.  Also mention IBM i.
949         * doc/intprops.texi (Wraparound Arithmetic):
950         Say that the macros work on unsigned integers too.
951         (Integer Portability): Remove.
953 2020-12-04  Bruno Haible  <bruno@clisp.org>
955         utime: Fix a test failure on macOS 10.13.
956         Reported by Martin Storsjö <martin@martin.st> in
957         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
958         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
959         slashes on files.
960         * lib/utime.c (utime): Add alternative implementation for Unix
961         platforms.
962         * modules/utime (Depends-on): Add stat.
963         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
964         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
965         trailing-slash bug.
966         * doc/posix-functions/open.texi: Likewise.
967         * doc/posix-functions/stat.texi: Likewise.
968         * doc/posix-functions/symlink.texi: Likewise.
970 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
972         intprops: update doc and mention Unisys
973         * doc/gnulib-readme.texi (Other portability assumptions):
974         Also mention ptrdiff_t when talking about widths and overflow.
975         * doc/intprops.texi (Integer Properties): Summarize new section.
976         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
977         evaluates its argument.
978         (Integer Bounds): Fix typo.
979         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
980         Document that the _WRAPV macros now support pointers to unsigned
981         integers.
982         (Integer Range Overflow): Update SEI CERT citation.
983         (Integer Portability): New subsection, which mentions
984         the oddball Unisys platforms as non-Gnulib targets.
986 2020-12-03  Bruno Haible  <bruno@clisp.org>
988         idx: Clarify that idx_t always behaves like a signed type.
989         Suggested by Paul Eggert in
990         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
991         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
992         Don't test UNSIGNED_IDX_T.
994 2020-12-03  Bruno Haible  <bruno@clisp.org>
996         idx: New module.
997         * lib/idx.h: New file.
998         * modules/idx: New file.
999         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
1000         ptrdiff_t.
1001         * lib/canonicalize.c: Likewise.
1002         * modules/canonicalize-lgpl (Depends-on): Add idx.
1003         * modules/canonicalize (Depends-on): Likewise.
1005 2020-12-03  Bruno Haible  <bruno@clisp.org>
1007         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
1008         Reported by Martin Storsjö <martin@martin.st> in
1009         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1010         * tests/test-fprintf-posix3.c: Skip the test on macOS.
1011         (main): Return a different exit code at each point. Allow 100 KB extra
1012         memory consumption.
1013         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
1014         doesn't work" diagnostic.
1016 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
1018         canonicalize: refactor can_mode flag
1019         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
1020         (multiple_bits_set): ... this new static function.  Uses changed.
1021         (canonicalize_filename_mode): Refactor for clarity to avoid
1022         modifying the CAN_MODE argument.
1024         canonicalize: prefer signed integer types
1025         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
1026         (seen_triple, canonicalize_filename_mode): Prefer signed to
1027         unsigned types where either will do, as they avoid some glitches
1028         in comparisons and can trap on overflow when debugging.
1030         canonicalize: fix most of another EOVERFLOW issue
1031         * lib/canonicalize.c (canonicalize_filename_mode):
1032         Do not call stat if fewer than 20 symlinks have been traversed.
1033         This avoids EOVERFLOW failure in the common case where there
1034         are not that many symlinks, while continuing to catch loops
1035         (or fail due to EOVERFLOW) in the unusual case when there
1036         are many symlinks to traverse.
1038         canonicalize: do not assume symlinks have st_ino
1039         * lib/canonicalize.c (canonicalize_filename_mode):
1040         When checking for loops, use st_dev and st_ino from the parent
1041         directory not from the symlink, as pre-2017 POSIX says these
1042         members are not reliable for symlinks.  Couple this with START
1043         (the remaining file name to be resolved), not NAME (the whole file
1044         name with START as its suffix).
1045         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
1047         canonicalize: fix EOVERFLOW bug
1048         * lib/canonicalize.c (canonicalize_filename_mode):
1049         When testing whether a directory entry is a symbolic link, or a
1050         directory or other, do not use lstat or stat or
1051         areadlink_with_size.  Just use areadlink, as this suffices and it
1052         avoids the EOVERFLOW problem that lstat and stat have.
1053         * modules/canonicalize (Depends-on): Depend on areadlink instead
1054         of areadlink-with-size and stat.
1056         canonicalize-lgpl: fix EOVERFLOW bug
1057         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
1058         (__realpath): Do not use lstat.  Just use readlink, as this
1059         suffices and it avoids the EOVERFLOW problem that lstat has.
1060         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
1062 2020-12-02  Bruno Haible  <bruno@clisp.org>
1064         strsignal-tests: Fix test failure on macOS 10.13.
1065         Reported by Martin Storsjö <martin@martin.st> in
1066         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1067         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
1068         to be longer than the expected result.
1070 2020-12-02  Bruno Haible  <bruno@clisp.org>
1072         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
1073         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
1074         recursive self-include problem on FreeBSD 12.2 in C++ mode.
1076 2020-12-02  Bruno Haible  <bruno@clisp.org>
1078         spawn-pipe: Allow caller to specify directory for the subprocess.
1079         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1080         Add directory argument.
1081         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
1082         (create_pipe): Add directory argument. If specified, resolve the program
1083         file name and make it absolute, first. Pass the directory to spawnpvech
1084         and posix_spawn_file_actions_addchdir.
1085         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
1086         argument.
1087         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
1088         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
1089         * tests/test-spawn-pipe-main.c (test_pipe): Update.
1090         * NEWS: Mention the change.
1091         * lib/csharpcomp.c (compile_csharp_using_mono,
1092         compile_csharp_using_sscli): Update.
1093         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
1094         is_gcj_43): Update.
1095         * lib/javaversion.c (execute_and_read_line): Update.
1096         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
1097         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
1099 2020-12-02  Bruno Haible  <bruno@clisp.org>
1101         execute: Allow caller to specify directory for the subprocess.
1102         * lib/execute.h (execute): Add directory argument.
1103         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
1104         (execute): Add directory argument. If specified, resolve the program
1105         file name and make it absolute, first. Pass the directory to spawnpvech
1106         and posix_spawn_file_actions_addchdir.
1107         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
1108         posix_spawn, posix_spawn_file_actions_addchdir.
1109         * tests/test-execute-main.c: Add test for passing a directory.
1110         * tests/test-execute-child.c: Likewise.
1111         * tests/test-execute.sh: Update.
1112         * modules/execute-tests (Depends-on): Add mkdir.
1113         * NEWS: Mention the change.
1114         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
1115         * lib/csharpexec.c (execute_csharp_using_mono,
1116         execute_csharp_using_sscli): Update.
1117         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1118         compile_using_javac, compile_using_jikes, is_javac_present,
1119         is_jikes_present): Update.
1120         * lib/javaexec.c (execute_java_class): Update.
1122 2020-12-01  Bruno Haible  <bruno@clisp.org>
1124         vma-iter: Add support for macOS11/arm64.
1125         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
1126         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
1127         and by Martin Storsjö <martin@martin.st> in
1128         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1129         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
1131 2020-12-01  Bruno Haible  <bruno@clisp.org>
1133         spawn-pipe: Fix handling of OS/2 kLIBC.
1134         Reported by KO Myung-Hun <komh78@gmail.com> in
1135         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
1136         * modules/spawn-pipe (configure.ac): Use the common idiom for
1137         recognizing the OS/2 operating system.
1139 2020-11-30  Bruno Haible  <bruno@clisp.org>
1141         execute: Fix uninitialized use of errno.
1142         * lib/execute.c (execute): Preserve errno across several system calls.
1144 2020-11-30  Bruno Haible  <bruno@clisp.org>
1146         access tests: Fix test failure on native Windows.
1147         * tests/test-access.c (main): Change permissions of f2 file before
1148         attempting to remove it.
1150 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
1152         faccessat: link with $(LIB_EACCESS)
1153         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
1154         module depends on euidaccess.
1156 2020-11-30  Bruno Haible  <bruno@clisp.org>
1158         execute, spawn-pipe: Make multithread-safe on native Windows.
1159         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
1160         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
1161         (spawnpvech): New declaration.
1162         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
1163         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
1164         (_): Remove macro.
1165         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
1166         undup_safer_noinherit): Remove functions.
1167         (spawnpvech): New function.
1168         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
1169         cloexec, dup2, error, gettext-h.
1170         * lib/execute.c: Include msvc-nothrow.h.
1171         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
1172         * lib/spawn-pipe.c: Include msvc-nothrow.h.
1173         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
1174         instead of _spawnvpe.
1175         * modules/execute (Depends-on): Add msvc-nothrow.
1176         * modules/spawn-pipe (Depends-on): Likewise.
1178 2020-11-30  Bruno Haible  <bruno@clisp.org>
1180         execute, spawn-pipe: Improve documentation.
1181         * lib/execute.h: Describe progname, prog_path, prog_argv.
1182         * lib/spawn-pipe.h: Likewise.
1184 2020-11-30  Bruno Haible  <bruno@clisp.org>
1186         execute tests: Add more tests.
1187         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
1188         inherited file descriptors >= 3.
1189         * tests/test-execute-child.c: Likewise.
1190         * tests/test-execute.sh: Update.
1192 2020-11-30  Bruno Haible  <bruno@clisp.org>
1194         havelib: Fix for non-ELF platforms (regression 2019-11-17).
1195         Reported by comex <comexk@gmail.com> in
1196         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
1197         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
1198         don't expect an ELF header.
1200 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1202         bitset: use integer_length in table implementation
1203         * lib/bitset/table.c (tbitset_list_reverse): Use
1204         BITSET_FOR_EACH_BIT_REVERSE.
1206 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1208         bitset: use integer_length in list implementation
1209         * lib/bitset/list.c (lbitset_list_reverse): Use
1210         BITSET_FOR_EACH_BIT_REVERSE.
1212 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1214         bitset: use integer_length in vector implementation
1215         * lib/bitset/array.c (vbitset_list_reverse): Use
1216         BITSET_FOR_EACH_BIT_REVERSE.
1218 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1220         bitset: use integer_length in array implementation
1221         * modules/bitset (Depends-on): Add integer_length_l.
1222         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
1223         * lib/bitset/array.c (abitset_list_reverse): Use it.
1225 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1227         bitset: style: use consistent names
1228         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
1229         and 'boffset' as 'bitoff', for consistency with the other
1230         implementations.
1231         * bitset/table.c (tbitset_list_reverse): Likewise.
1233 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1235         bitset: style: sort header
1236         * lib/bitset/base.h (bitset_ffs): Rename as...
1237         (bitset_ffs_): this.
1238         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
1240 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1242         bitset: tests: check BITSET_FOR_EACH_REVERSE
1243         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
1244         Check BITSET_FOR_EACH_REVERSE.
1246 2020-11-29  Bruno Haible  <bruno@clisp.org>
1248         spawn-pipe tests: Fix test failure with MSVC.
1249         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
1250         (gl_msvc_invalid_parameter_handler): New function.
1251         (main): Set a global invalid-parameter handler.
1252         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
1254 2020-11-29  Bruno Haible  <bruno@clisp.org>
1256         execute: Add tests.
1257         * tests/test-execute.sh: New file.
1258         * tests/test-execute-main.c: New file.
1259         * tests/test-execute-child.c: New file.
1260         * modules/execute-tests: New file.
1262 2020-11-29  Bruno Haible  <bruno@clisp.org>
1264         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
1265         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
1266         works.
1267         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
1268         fallback implementation as on Haiku.
1269         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
1270         effective.
1271         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
1273 2020-11-29  Bruno Haible  <bruno@clisp.org>
1275         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
1276         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
1277         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
1278         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
1279         * lib/windows-spawn.c: Remove modifications for kLIBC.
1280         * modules/spawn-pipe (Files): Add the new files.
1281         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
1283 2020-11-28  Bruno Haible  <bruno@clisp.org>
1285         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
1286         Reported by Paul Eggert in
1287         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
1288         * m4/sparcv8+.m4: New file.
1289         * modules/sparcv8+: New file.
1290         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
1292 2020-11-28  Bruno Haible  <bruno@clisp.org>
1294         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
1295         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
1297 2020-11-28  Bruno Haible  <bruno@clisp.org>
1299         windows-spawn: New module.
1300         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
1301         implementations.
1302         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
1303         * modules/windows-spawn: New file.
1304         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
1305         * lib/spawn-pipe.c: Likewise.
1306         * modules/execute (Files): Remove lib/w32spawn.h.
1307         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1308         xalloc.
1309         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1310         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
1311         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1312         xalloc.
1313         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1315 2020-11-27  Bruno Haible  <bruno@clisp.org>
1317         ssfmalloc tests: Port to macOS 11.
1318         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
1320 2020-11-26  Bruno Haible  <bruno@clisp.org>
1322         Fix dependencies of modules that use '_exit' on native Windows.
1323         Reported by Jim Meyering in
1324         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
1325         * modules/_Exit (Depends-on): Add unistd.
1326         * modules/closein (Depends-on): Likewise.
1327         * modules/closeout (Depends-on): Likewise.
1328         * modules/forkpty (Depends-on): Likewise.
1329         * modules/posix_spawn-internal (Depends-on): Likewise.
1330         * modules/savewd (Depends-on): Likewise.
1331         * modules/stat-time-tests (Depends-on): Likewise.
1333 2020-11-26  Bruno Haible  <bruno@clisp.org>
1335         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
1336         * modules/raise-tests (Depends-on): Add unistd.
1337         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
1339 2020-11-25  Jim Meyering  <meyering@fb.com>
1341         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
1342         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
1343         non-NULL, since we don't bother handing strdup failure.
1345         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
1346         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
1347         * tests/test-raise.c: Include unistd.h.
1348         (handler): Use _exit, not exit.
1350 2020-11-23  Bruno Haible  <bruno@clisp.org>
1352         Use the correct printf format attribute for mingw.
1353         Reported by Reuben Thomas <rrt@sc3d.org> in
1354         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
1356         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
1357         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
1359         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
1360         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
1361         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
1362         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
1363         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
1364         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
1366         * modules/vasnprintf (Depends-on): Add stdio.
1367         * lib/vasnprintf.h: Include <stdio.h>.
1368         (asnprintf, vasnprintf): Use the standard printf format attribute.
1370         * modules/xvasprintf (Depends-on): Add stdio.
1371         * lib/xvasprintf.h: Include <stdio.h>.
1372         (xasprintf, xvasprintf): Use the standard printf format attribute.
1374         * modules/xprintf (Depends-on): List stdio first.
1375         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
1376         depends on GNULIB_VPRINTF_POSIX.
1377         (xfprintf, xvfprintf): Use a printf format attribute that depends on
1378         GNULIB_VFPRINTF_POSIX.
1380         * modules/c-vasnprintf (Depends-on): Add stdio.
1381         * lib/c-vasnprintf.h: Include <stdio.h>.
1382         (c_vasnprintf): Use the standard printf format attribute.
1384         * modules/c-vasprintf (Depends-on): Add stdio.
1385         * lib/c-vasprintf.h: Include <stdio.h>.
1386         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
1388         * modules/c-vsnprintf (Depends-on): Add stdio.
1389         * lib/c-vsnprintf.h: Include <stdio.h>.
1390         (c_vsnprintf): Use the standard printf format attribute.
1392         * modules/c-snprintf (Depends-on): Add stdio.
1393         * lib/c-snprintf.h: Include <stdio.h>.
1394         (c_snprintf): Use the standard printf format attribute.
1396         * modules/c-xvasprintf (Depends-on): Add stdio.
1397         * lib/c-xvasprintf.h: Include <stdio.h>.
1398         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
1400         * modules/error (Depends-on): Depend on stdio always.
1401         * lib/error.h: Include <stdio.h>.
1402         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
1403         (error, error_at_line): Use a printf format attribute that depends on
1404         GNULIB_VFPRINTF_POSIX.
1405         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
1406         _GL_ATTRIBUTE_FORMAT_PRINTF.
1408         * modules/verror (Depends-on): Add stdio.
1409         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
1410         (verror, verror_at_line): Use the standard printf format attribute.
1411         * lib/verror.c: Include "error.h".
1413         * modules/argp (Depends-on): Add stdio.
1414         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
1415         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
1417         * modules/libtextstyle-optional (Depends-on): Add stdio.
1418         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
1419         printf format attribute.
1421         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
1422         format attribute.
1424 2020-11-23  Pádraig Brady  <P@draigBrady.com>
1426         selinux-at, selinux-h: use const correct declarations
1427         * lib/se-selinux.in.h: Use const for "set" functions,
1428         to match current selinux, and support cleaner user code.
1429         * lib/selinux-at.c: Likewise.
1430         * lib/selinux-at.h: Likewise.
1432 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
1434         canonicalize-lgpl: fix memory leak
1435         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
1436         which could have occurred if BUF was so large that malloc was
1437         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
1438         this eliminates the need to free BUF separately.
1440 2020-11-22  Bruno Haible  <bruno@clisp.org>
1442         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
1443         * modules/xvasprintf (Depends-on): Add xalloc.
1444         * modules/pipe-filter-gi (Depends-on): Likewise.
1445         * modules/execute (Depends-on): Likewise, for w32spawn.h.
1446         * modules/spawn-pipe (Depends-on): Likewise.
1448 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
1450         bootstrap: add option hooks
1451         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
1452         (bootstrap_option_hook): Likewise.
1453         (usage): Call bootstrap_print_option_usage_hook.
1455 2020-11-22  Bruno Haible  <bruno@clisp.org>
1457         argp: Don't break getprogname on non-glibc systems.
1458         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
1459         program_invocation_name and program_invocation_short_name.
1461 2020-11-22  Bruno Haible  <bruno@clisp.org>
1463         doc: Document <link.h>.
1464         * doc/glibc-headers/link.texi: New file.
1465         * doc/gnulib.texi: Include it.
1467 2020-11-22  Bruno Haible  <bruno@clisp.org>
1469         doc: Add references to the LSB.
1470         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
1471         * doc/posix-functions/*.texi: Likewise.
1473 2020-11-22  Bruno Haible  <bruno@clisp.org>
1475         doc: Fix a makeinfo warning (regression 2020-11-03).
1476         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
1478 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
1480         parse-datetime: fix printf format typo
1481         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
1482         previous patch to this file.  Problem reported by Chris Elvidge in
1483         <https://bugs.gnu.org/44763#32>.
1485         setlocale-null-tests: work around GCC bug 44511
1486         * tests/test-setlocale_null-mt-all.c:
1487         * tests/test-setlocale_null-mt-one.c:
1488         Ignore -Wreturn-type, to work around GCC bug 44511.
1490         nl_langinfo-tests: work around GCC bug 44511
1491         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
1492         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
1493         Problem reported for GNU grep by Andreas Schwab
1494         <https://bugs.gnu.org/44535>.
1496         selinux-h: add stubs for selabel_open etc.
1497         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
1498         because matchpathcon is deprecated in favor of selabel_open etc.,
1499         so this patch adds stubs for these functions.
1500         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
1501         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
1502         as it is needed for selabel_open and selinux/selinux.h declares
1503         this type here.
1504         * modules/selinux-h (Files): Add the new files.
1505         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
1506         (lib_SOURCES): Add se-label.in.h, se-label.c.
1507         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
1508         (selinux/label.h): New rule, mimicking selinux/context.h.
1509         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
1510         (Include): Add selinux/label.h.
1512 2020-11-21  Bruno Haible  <bruno@clisp.org>
1514         Update after 'test-driver' in Automake changed.
1515         * build-aux/test-driver.diff: Rebase.
1517 2020-11-21  Daiki Ueno  <ueno@gnu.org>
1519         read-file: remove dead assignment
1520         * lib/read-file.c (fread_file): Remove dead assignment when
1521         RF_SENSITIVE is set, flagged by clang-analyzer.
1523 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1525         bitset: tests: exercise the stats too
1527         * tests/test-bitset.c: Display the stats at the end of the test.
1528         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
1529         last bin, display "256-..." rather that "256-511", since the last bin
1530         does count item greater than or equal to 256.
1532 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1534         bitset: tests: try harder to break it
1535         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
1536         BITSET_LIST_SIZE.
1537         (main): Likewise.
1538         While at it, also exercise super small bitsets.
1540 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1542         bitset: use ffs where possible in the vector implementation
1543         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
1545 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1547         bitset: use ffs where possible in the table implementation
1548         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
1550 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1552         bitset: check empty and full bitsets
1553         * tests/test-bitset.c (check_zero, check_ones): New.
1554         (check_attributes): Use them.
1556 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1558         bitset: be sure to always return a value
1559         * lib/bitset/array.c (abitset_small_list): Always update *next and
1560         return a value.
1562 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1564         vcs-to-changelog: Expect spaces in file names
1565         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
1566         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
1567         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
1568         tabs to spaces.
1569         (list_changes): Use tabs to identify file names.
1571 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1573         bitset: strengthen tests
1574         * tests/test-bitset.c (compare): Also check count.
1575         Deal only with random values, move the one-bit tests to...
1576         (check_one_bit): this new function.
1577         (check_attributes): Call it.
1579 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1581         bitset: fix iteration over table bitsets
1582         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
1584 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1586         bitset: rename internal details for consistency
1587         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
1589 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1591         bitset: test: run deterministic tests on several bitset sizes
1592         * tests/test-bitset.c (check_attributes): Run it with small and large
1593         sizes.
1595 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1597         bitset: use ffs where possible in the list implementation
1598         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
1600 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1602         bitset: use ffs where possible in array implementation
1603         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
1605 2020-11-17  Bruno Haible  <bruno@clisp.org>
1607         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
1608         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
1609         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
1610         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
1611         C++ mode.
1613 2020-11-17  Bruno Haible  <bruno@clisp.org>
1615         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
1616         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
1617         is always declared.
1618         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
1619         declared.
1621 2020-11-17  Bruno Haible  <bruno@clisp.org>
1623         Fix link errors on AIX.
1624         * modules/clean-temp (Link): Link with $(LIBTHREAD).
1625         * modules/getumask (Link): Link with $(LIBTHREAD).
1626         * modules/getumask-tests (Makefile.am): Link test-getumask with
1627         $(LIBTHREAD).
1628         * modules/supersede (Link): Link with $(LIBTHREAD).
1629         * modules/supersede-tests (Makefile.am): Link test-supersede with
1630         $(LIBTHREAD).
1631         * modules/fatal-signal (Link): New section.
1632         * modules/execute (Link): New section.
1633         * modules/csharpexec (Link): Link with $(LIBTHREAD).
1634         * modules/javaexec (Link): Link with $(LIBTHREAD).
1635         * modules/spawn-pipe (Link): New section.
1636         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
1637         $(LIBTHREAD).
1638         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
1639         * modules/javacomp (Link): Link with $(LIBTHREAD).
1640         * modules/javaversion (Link): Link with $(LIBTHREAD).
1641         * modules/pipe-filter-gi (Link): New section.
1642         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
1643         test-pipe-filter-gi2-main with $(LIBTHREAD).
1644         * modules/pipe-filter-ii (Link): New section.
1645         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
1646         test-pipe-filter-ii2-main with $(LIBTHREAD).
1647         * modules/term-style-control (Link): New section.
1648         * modules/term-style-control-tests (Makefile.am): Link
1649         test-term-style-control-hello, test-term-style-control-yes with
1650         $(LIBTHREAD).
1651         * modules/wait-process (Link): New section.
1652         * modules/nonblocking-pipe-tests (Makefile.am): Link
1653         test-nonblocking-pipe-main with $(LIBTHREAD).
1654         * modules/nonblocking-socket-tests (Makefile.am): Link
1655         test-nonblocking-socket-main with $(LIBTHREAD).
1657 2020-11-16  Bruno Haible  <bruno@clisp.org>
1659         Fix link errors on platforms with libunistring.
1660         * modules/c32isalnum (Link): New section.
1661         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
1662         $(LIBUNISTRING).
1663         * modules/c32isalpha (Link): New section.
1664         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
1665         $(LIBUNISTRING).
1666         * modules/c32isblank (Link): New section.
1667         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
1668         $(LIBUNISTRING).
1669         * modules/c32iscntrl (Link): New section.
1670         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
1671         $(LIBUNISTRING).
1672         * modules/c32isdigit (Link): New section.
1673         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
1674         $(LIBUNISTRING).
1675         * modules/c32isgraph (Link): New section.
1676         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
1677         $(LIBUNISTRING).
1678         * modules/c32islower (Link): New section.
1679         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
1680         $(LIBUNISTRING).
1681         * modules/c32isprint (Link): New section.
1682         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
1683         $(LIBUNISTRING).
1684         * modules/c32ispunct (Link): New section.
1685         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
1686         $(LIBUNISTRING).
1687         * modules/c32isspace (Link): New section.
1688         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
1689         $(LIBUNISTRING).
1690         * modules/c32isupper (Link): New section.
1691         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
1692         $(LIBUNISTRING).
1693         * modules/c32isxdigit (Link): New section.
1694         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
1695         $(LIBUNISTRING).
1696         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
1697         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
1698         $(LIBUNISTRING).
1700 2020-11-16  Bruno Haible  <bruno@clisp.org>
1702         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
1703         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
1704         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
1705         * modules/getumask-tests (Makefile.am): Link test-getumask with
1706         $(LIBINTL).
1707         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
1708         * modules/supersede-tests (Makefile.am): Link test-supersede with
1709         $(LIBINTL).
1710         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
1711         $(LIBINTL).
1713 2020-11-16  Bruno Haible  <bruno@clisp.org>
1715         getumask: Document link dependencies.
1716         * modules/getumask (Link): New section.
1718 2020-11-16  Bruno Haible  <bruno@clisp.org>
1720         Update link dependencies in modules after 2020-09-09 change.
1721         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
1722         * modules/mkdtemp (Link): Likewise.
1723         * modules/mkostemp (Link): Likewise.
1724         * modules/mkostemps (Link): Likewise.
1725         * modules/mkstemp (Link): Likewise.
1726         * modules/mkstemps (Link): Likewise.
1727         * modules/supersede (Link): Likewise.
1728         * modules/tmpfile (Link): Likewise.
1729         * modules/tmpfile-safer (Link): Likewise.
1731 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
1733         getumask-tests: port to Solaris 10 etc.
1734         Problem reported by Tom Christensen in:
1735         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
1736         * modules/getumask-tests (test_getumask_LDADD):
1737         Add $(LIB_CLOCK_GETTIME).
1739 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
1741         bitset: use ffsl to accelerate iterations over set bits
1742         Suggested by Bruno Haible.
1743         * modules/bitset: Depend upon ffsl.
1744         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
1745         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
1747 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
1749         bitset: more tests
1750         * tests/test-bitset.c (compare): Make it clear that the random values
1751         should not be modified.
1752         Check bitset_first, bitset_last and BITSET_FOR_EACH.
1754 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
1756         bitset: fix the copy from lbitset to other types
1757         * lib/bitset/list.c (lbitset_copy): Rename as...
1758         (lbitset_copy_): this.
1759         (lbitset_copy): New.
1760         Dispatch to heterogeneous/homogeneous copy.
1762 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
1764         bitset: making debug traces more useful
1765         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
1767         bitset: comment changes
1768         * lib/bitset.c: Move some documenting comments to...
1769         * lib/bitset.h: here.
1770         * lib/bitset/array.c: Fix some comments.
1772 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
1774         careadlinkat: warn better about GCC bug 93644
1775         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
1776         not in effect, use "#warning" to let builders know more clearly
1777         about GCC bug 93644, because the bug triggers even if no -W option
1778         is given to GCC.
1780 2020-11-13  Jim Meyering  <meyering@fb.com>
1782         hard-locale-tests: avoid a -Wstrict-prototypes warning
1783         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
1784         changing "main ()" to "main (void)". This was the only case that
1785         triggered a warning when building grep with --enable-gcc-warnings.
1787 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
1789         time_rz: simplify CVE-2017-7476 fix
1790         * lib/time_rz.c: Do not include limits.h; I think it was included
1791         under the mistaken impression that limits.h defines SIZE_MAX.
1792         (SIZE_MAX): Remove.
1793         (save_abbr): Put string length into a ptrdiff_t variable,
1794         so that the size comparison works naturally.  This
1795         fixes CVE-2017-7476 in a cleaner way.
1797         parse-datetime: streamline overflow checking
1798         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
1799         did not work for unsigned destinations, and since time_t might
1800         be unsigned that meant it did not work for time_t destinations.
1801         This limitation of INT_ADD_WRAPV has been fixed, so we can
1802         now streamline parse-datetime.y a bit.
1803         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
1804         has not been used for a while.
1805         (yylex, parse_datetime2): Assume C99 declarations after statements.
1806         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
1807         to TYPE_MINIMUM.
1808         (parse_datetime2): No need for time_overflow now that
1809         INT_ADD_WRAPV works for unsigned results.
1811         parse-datetime-tests: port to Alpine Linux 3.12.1
1812         * tests/test-parse-datetime.c: Include errno.h for errno,
1813         and unistd.h for _SC_TZNAME_MAX and sysconf.
1814         (main): In the outlandishly-long time zone abbreviation test,
1815         do not exceed TZNAME_MAX as this has undefined behavior,
1816         and on Alpine Linux 3.12.1 it makes the test fail.
1818 2020-11-09  Pádraig Brady  <P@draigBrady.com>
1820         mgetgroups: avoid warning with clang
1821         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
1822         so disable -Wpointer-sign for all clang versions.
1824 2020-11-07  Bruno Haible  <bruno@clisp.org>
1826         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
1827         Reported by Simon Josefsson in
1828         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
1829         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
1830         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
1831         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
1833 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
1835         tests: pacify Sun C 5.9
1836         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
1837         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
1838         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
1839         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
1840         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
1841         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
1842         Remove unreachable ‘return NULL;’s.
1844         tests: port better to XLC 12.01
1845         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
1846         even in code that is not executed, as IBM XLC 12.01 complains "The
1847         subscript -1 is less than zero."
1848         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
1849         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
1850         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
1851         arguments than are required by the macro definition."
1853 2020-11-03  Bruno Haible  <bruno@clisp.org>
1855         aligned-malloc: Use fixes from the new modules.
1856         * modules/aligned-malloc (Depends-on): Add posix_memalign,
1857         aligned_alloc, memalign.
1858         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
1860 2020-11-03  Bruno Haible  <bruno@clisp.org>
1862         aligned_alloc: Add tests.
1863         * tests/test-aligned_alloc.c: New file.
1864         * modules/aligned_alloc-tests: New file.
1866         aligned_alloc: New module.
1867         * lib/stdlib.in.h (aligned_alloc): New declaration.
1868         * lib/aligned_alloc.c: New file.
1869         * m4/aligned_alloc.m4: New file.
1870         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
1871         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
1872         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
1873         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
1874         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
1875         * modules/aligned_alloc: New file.
1876         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
1877         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
1878         AIX bug.
1880 2020-11-03  Bruno Haible  <bruno@clisp.org>
1882         posix_memalign: Add tests.
1883         * tests/test-posix_memalign.c: New file.
1884         * modules/posix_memalign-tests: New file.
1886         posix_memalign: New module.
1887         * lib/stdlib.in.h (posix_memalign): New declaration.
1888         * lib/posix_memalign.c: New file.
1889         * m4/posix_memalign.m4: New file.
1890         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
1891         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
1892         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
1893         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
1894         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
1895         * modules/posix_memalign: New file.
1896         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
1897         * doc/posix-functions/posix_memalign.texi: Mention the new module and
1898         the OpenBSD bug.
1900 2020-11-03  Bruno Haible  <bruno@clisp.org>
1902         memalign: Add tests.
1903         * tests/test-memalign.c: New file.
1904         * modules/memalign-tests: New file.
1906         memalign: New module.
1907         * modules/memalign: New file.
1908         * doc/glibc-functions/memalign.texi: Mention the new module.
1910 2020-11-03  Bruno Haible  <bruno@clisp.org>
1912         verify tests: Fix crash with GCC (regression 2020-11-02).
1913         * tests/test-verify.c (main): Fix initializer of s.
1915 2020-11-03  Pádraig Brady  <P@draigBrady.com>
1917         mountlist: recognize more file system types as remote
1919         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
1920         "remote" file systems from stat.c in coreutils.
1922 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
1924         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
1925         * tests/test-verify.c (main): Initialize state variable.
1926         Reported by Bruno Haible for GCC 5.4.0.
1928 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
1930         dfa.h: support inclusion from C++
1931         * lib/dfa.h: Allow multiple inclusion, and inclusion from
1932         C++ code.  The latter was suggested by Arnold Robbins.
1934 2020-11-01  Bruno Haible  <bruno@clisp.org>
1936         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
1937         * tests/test-ssfmalloc.c: Include <limits.h>.
1938         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
1940 2020-11-01  Bruno Haible  <bruno@clisp.org>
1942         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
1943         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
1945 2020-11-01  Jim Meyering  <meyering@fb.com>
1947         dfa-tests: test for today's invalid-merge fix
1948         * tests/test-dfa-invalid-merge.sh: New file.
1949         * modules/dfa-tests (Files): Add it.
1950         (TESTS): Add it.
1952 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
1954         dfa: retain sequences of similar nodes in optimization
1955         DFA was merging similar nodes when it should not.  For example,
1956         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
1957         is not merged.  Problem reported by Gonzalo Padrino in
1958         https://bugs.gnu.org/44351
1959         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
1960         optimization.
1962 2020-11-01  Jim Meyering  <meyering@fb.com>
1964         test-dfa-match-aux.c: accept EREs, not BREs
1965         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
1966         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
1968 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
1970         verify tests: avoid -Wmissing-declarations warnings
1971         * tests/test-verify.c (test_assume_expressions): Add declaration.
1972         (test_assume_optimization): Likewise.
1973         (test_assume_noreturn): Likewise.
1974         (main): Move down after all other definitions.  While at it, also
1975         call test_assume_expressions and test_assume_optimization as a
1976         runtime check.
1978 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
1980         sys_stat: update comments for S_IRWXUGO, S_IXUGO
1981         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
1982         Perhaps these macros should be removed, as they’re not in either
1983         POSIX or GNU.  They could be moved to stat-macros.h, which would
1984         be cleaner in some sense.
1986 2020-10-25  Bruno Haible  <bruno@clisp.org>
1988         ssfmalloc tests: Small tweaks.
1989         * tests/test-ssfmalloc.c: Add comments.
1990         (alloc_pages): Don't require PROT_EXEC bits.
1991         (block_sizes): Add more small sizes, for better coverage of
1992         ssfmalloc-bitmap.h.
1994         ssfmalloc tests: Portability to Minix.
1995         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
1996         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
1997         * m4/mmap-anon.m4: Update comment.
1999         ssfmalloc: Portability to AIX.
2000         * modules/ssfmalloc (Include): Add ssfmalloc.h.
2001         (Link): New section.
2002         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
2003         $(LIBTHREAD).
2005         ssfmalloc: Portability to Cygwin.
2006         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
2007         (pg_offset_t): Define depending on PAGESIZE_MAX.
2008         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
2009         (PAGESIZE_MAX): New macro.
2011         ssfmalloc: Fix buffer overrun in bitmap search.
2012         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
2013         word *words_end.
2015 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2017         doc: mention ‘restrict’ and C++
2018         * doc/gnulib-readme.texi (C99 features assumed): Document
2019         that ‘restrict’ should be avoided in C++ code.
2021 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
2023         selinux-at, selinux-h: port to SELinux 3.1
2024         The new release finally deprecated the typedef 'security_context_t',
2025         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
2026         Use the simpler 'char *' instead.
2027         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
2028         (lgetfilecon): Likewise.
2029         (fgetfilecon): Likewise.
2030         (map_to_failure): Likewise.
2031         (rpl_getfilecon): Likewise.
2032         (rpl_lgetfilecon): Likewise.
2033         (rpl_fgetfilecon): Likewise.
2034         * lib/se-selinux.in.h (security_context_t): Remove typedef.
2035         (getcon): Adjust type of context parameter.
2036         (freecon): Likewise.
2037         (getfscreatecon): Likewise.
2038         (setfscreatecon): Likewise.
2039         (matchpathcon): Likewise.
2040         (getfilecon): Likewise.
2041         (lgetfilecon): Likewise.
2042         (fgetfilecon): Likewise.
2043         (setfilecon): Likewise.
2044         (lsetfilecon): Likewise.
2045         (fsetfilecon): Likewise.
2046         (security_check_context): Likewise.
2047         (security_check_context_raw): Likewise.
2048         (setexeccon): Likewise.
2049         (security_compute_create): Likewise.
2050         * lib/selinux-at.c (getfileconat): Likewise.
2051         (lgetfileconat): Likewise.
2052         (setfileconat): Likewise.
2053         (lsetfileconat): Likewise.
2054         * lib/selinux-at.h: Likewise.
2056 2020-10-19  Bruno Haible  <bruno@clisp.org>
2058         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
2059         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
2060         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
2061         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
2062         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
2063         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
2064         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
2066 2020-10-18  Bruno Haible  <bruno@clisp.org>
2068         ssfmalloc: Add tests.
2069         * tests/test-ssfmalloc.c: New file.
2070         * modules/ssfmalloc-tests: New file.
2072         ssfmalloc: New module.
2073         * lib/ssfmalloc.h: New file.
2074         * lib/ssfmalloc-bitmap.h: New file.
2075         * modules/ssfmalloc: New file.
2077 2020-10-18  Bruno Haible  <bruno@clisp.org>
2079         wchar: Fix configure test result on some versions of AIX.
2080         Reported by Clément Chigot <clement.chigot@atos.net> in
2081         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
2082         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
2083         systems.
2085 2020-10-18  Bruno Haible  <bruno@clisp.org>
2087         time: Fix warning about asctime when asctime is not used.
2088         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
2089         invocation.
2091 2020-10-18  Bruno Haible  <bruno@clisp.org>
2093         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
2094         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
2095         '_GL_ATTRIBUTE_CONST'.
2096         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
2097         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
2098         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
2099         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
2100         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
2101         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
2102         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
2104 2020-10-18  Bruno Haible  <bruno@clisp.org>
2106         obstack: Fix a clang warning.
2107         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
2109 2020-10-16  Bruno Haible  <bruno@clisp.org>
2111         hash: Rename hash_delete to hash_remove.
2112         * lib/hash.h (hash_remove): Renamed from hash_delete.
2113         (hash_delete): New declaration.
2114         * lib/hash.c (hash_remove): Renamed from hash_delete.
2115         (hash_delete): New function.
2116         * tests/test-hash.c (main): Update.
2117         * lib/fts-cycle.c (leave_dir): Likewise.
2118         * NEWS: Mention the change.
2120 2020-10-16  Bruno Haible  <bruno@clisp.org>
2122         hash, xhash: Make usable from C++.
2123         * lib/hash.h: Add extern "C".
2125 2020-10-16  Bruno Haible  <bruno@clisp.org>
2127         hash, xhash: Move comments to the .h file.
2128         * lib/hash.c: Move comments meant for the user from here...
2129         * lib/xhash.c: ... and here...
2130         * lib/hash.h: ... to here.
2132 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
2134         Don't declare an intention to modify the return value of strerror.
2135         * tests/test-perror2.c (main): Assign the return value of strerror to a
2136         'const char *' variable.
2138 2020-10-11  Bruno Haible  <bruno@clisp.org>
2140         *printf: Avoid "expanded before it was required" warning.
2141         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
2142         AC_DEFUN_ONCE.
2144 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
2146         getprogname: Add support for OpenServer 6 and UnixWare 7.
2147         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
2148         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
2150 2020-10-11  Bruno Haible  <bruno@clisp.org>
2152         tests: Avoid a name clash on UnixWare.
2153         Reported by Tim Rice <tim@multitalents.net> in
2154         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
2155         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
2157 2020-10-11  Bruno Haible  <bruno@clisp.org>
2159         stdioext: Update comments regarding UnixWare.
2160         Reported by Tim Rice <tim@multitalents.net> in
2161         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2162         * lib/fbufmode.c: Update comments.
2163         * lib/fflush.c: Likewise.
2164         * lib/fpending.c: Likewise.
2165         * lib/fpurge.c: Likewise.
2166         * lib/freadable.h: Likewise.
2167         * lib/freadable.c: Likewise.
2168         * lib/freadahead.c: Likewise.
2169         * lib/freading.h: Likewise.
2170         * lib/freading.c: Likewise.
2171         * lib/freadptr.c: Likewise.
2172         * lib/freadseek.c: Likewise.
2173         * lib/fseeko.c: Likewise.
2174         * lib/fseterr.c: Likewise.
2175         * lib/fwritable.h: Likewise.
2176         * lib/fwritable.c: Likewise.
2177         * lib/fwriting.h: Likewise.
2178         * lib/fwriting.c: Likewise.
2180 2020-10-11  Bruno Haible  <bruno@clisp.org>
2182         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
2183         Reported by Tim Rice <tim@multitalents.net> in
2184         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2185         Uses the info from
2186         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
2187         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
2189 2020-10-11  Bruno Haible  <bruno@clisp.org>
2191         stdioext: Avoid compilation errors on UnixWare 7.
2192         Reported by Tim Rice <tim@multitalents.net> in
2193         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
2194         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
2195         * lib/fpurge.c: Likewise.
2196         * lib/freadable.h: Likewise.
2197         * lib/freading.h: Likewise.
2198         * lib/fwritable.h: Likewise.
2199         * lib/fwriting.h: Likewise.
2200         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
2201         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
2202         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
2203         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
2204         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
2205         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
2207 2020-10-11  Bruno Haible  <bruno@clisp.org>
2209         stdioext: Update comments regarding Cygwin.
2210         * lib/fpending.c: Update comments.
2211         * lib/fpurge.c: Likewise.
2212         * lib/freadable.h: Likewise.
2213         * lib/freadable.c: Likewise.
2214         * lib/freading.h: Likewise.
2215         * lib/freading.c: Likewise.
2216         * lib/fwritable.h: Likewise.
2217         * lib/fwritable.c: Likewise.
2218         * lib/fwriting.h: Likewise.
2219         * lib/fwriting.c: Likewise.
2221 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
2223         Fix "warning: implicit declaration of function 'pthread_sigmask'".
2224         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
2225         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
2227 2020-10-10  Bruno Haible  <bruno@clisp.org>
2229         *-list, *-oset, *-omap: Avoid possible compiler warnings.
2230         Reported by Marc Nieper-Wißkirchen in
2231         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
2232         * lib/gl_anylinked_list2.h (gl_linked_iterator,
2233         gl_linked_iterator_from_to): Mark as 'pure'.
2234         (gl_linked_iterator_free): Mark as 'const'.
2235         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
2236         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
2237         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
2238         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
2239         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
2240         (gl_tree_iterator_free): Mark as 'const'.
2241         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
2242         'pure'.
2243         (gl_tree_iterator_free): Mark as 'const'.
2244         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
2245         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
2246         (gl_tree_iterator_free): Mark as 'const'.
2247         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
2248         compare_position_threshold): Mark as 'pure'.
2249         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
2250         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
2251         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
2252         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
2253         'pure'.
2254         (gl_array_iterator_free): Mark as 'const'.
2255         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
2256         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
2257         (gl_array_iterator_free): Mark as 'const'.
2258         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
2259         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
2260         gl_array_iterator_atleast): Mark as 'pure'.
2261         (gl_array_iterator_free): Mark as 'const'.
2262         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
2263         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
2264         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
2265         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
2266         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
2267         gl_carray_sortedlist_search): Mark as 'pure'.
2268         (gl_carray_iterator_free): Mark as 'const'.
2270 2020-10-10  Bruno Haible  <bruno@clisp.org>
2272         rbtree-list: Avoid possible compiler warnings.
2273         This mirrors the change of avltree-list on 2014-09-16.
2274         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
2275         declaration. Add cast to void for ignored value of check_invariants.
2277 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
2279         stack: New module.
2280         * MODULES.html.sh: Add entry for the stack module.
2281         * modules/stack: New file.
2282         * modules/stack-tests: New file.
2283         * lib/stack.h: New file.
2284         * tests/test-stack.c: New file.
2286 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2288         attribute: improve const, pure doc
2289         Problem reported by Marc Nieper-Wißkirchen in:
2290         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
2291         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
2292         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
2294 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2296         thread: pacify GCC on Solaris 10
2297         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
2298         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
2299         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
2300         where pthread_t is unsigned int.
2302 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2304         c-stack: avoid AS_IF
2305         Problem reported by Bruno Haible in:
2306         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
2307         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
2309         c-stack: pacify GCC 9.3.1 when using libsigsegv
2310         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
2312 2020-10-04  Bruno Haible  <bruno@clisp.org>
2314         localename: Fix a couple of "unused parameter" warnings.
2315         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
2316         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
2317         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
2318         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
2319         parameter list.
2321 2020-10-04  Bruno Haible  <bruno@clisp.org>
2323         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
2324         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
2325         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
2326         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
2327         HAVE_SNPRINTF_TRUNCATION_C99.
2328         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
2329         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
2331 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
2333         c-stack: streamline Solaris configuration
2334         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
2335         the code is used only if a test for sigaltstack worked
2336         in some other way.
2337         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
2338         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
2339         heuristic does not work).
2340         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
2341         we no longer require the libsigsegv module.
2342         (Depends-on): Depend on havelib, not libsigsegv.
2344         c-stack: stop using SIGSTKSZ
2345         It’s been proposed to stop making SIGSTKSZ an integer constant:
2346         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
2347         Also, using SIGSTKSZ in #if did not conform to current POSIX.
2348         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
2349         * lib/c-stack.c (SIGSTKSZ): Remove.
2350         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
2351         All uses changed.
2353         c-stack: fix libsigsegv typo
2354         Problem reported by Bruno Haible in:
2355         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
2356         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
2357         to be used only on Solaris (exactly where it is not needed!).
2359 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
2361         MODULES.html.sh: Fix typo.
2362         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
2364 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
2366         version-etc: pacify Oracle Studio 12.6
2367         Without this patch, it complains: "version-etc.h", line 64:
2368         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
2369         pedantic mode.
2370         * lib/version-etc.h (version_etc): Port to C89 macro rules.
2372 2020-09-27  Bruno Haible  <bruno@clisp.org>
2374         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
2375         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2376         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2377         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
2378         ourselves; don't use AC_DECL_SYS_SIGLIST.
2380 2020-09-27  Bruno Haible  <bruno@clisp.org>
2382         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
2383         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2384         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2385         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
2386         instead of _AC_COMPUTE_INT.
2388 2020-09-27  Bruno Haible  <bruno@clisp.org>
2390         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
2391         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2392         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2393         Based on a patch by Paul Eggert.
2394         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
2395         test STDC_HEADERS. Assume <stdlib.h> exists.
2396         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
2398 2020-09-27  Bruno Haible  <bruno@clisp.org>
2400         Enable testing of prereleases of Autoconf 2.70.
2401         Suggested by Paul Eggert in
2402         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
2403         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
2404         >= 2.70.
2405         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
2406         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
2407         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
2409 2020-09-27  Bruno Haible  <bruno@clisp.org>
2411         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
2412         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2413         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
2414         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
2415         AC_PROG_CC, depending on the Autoconf version.
2417 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
2419         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
2420         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
2421         of AC_HELP_STRING.
2422         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
2424 2020-09-27  Bruno Haible  <bruno@clisp.org>
2426         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
2427         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2428         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
2429         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
2431 2020-09-27  Bruno Haible  <bruno@clisp.org>
2433         extensions: Simplify last commit.
2434         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
2435         AC_GNU_SOURCE ever.
2437 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2439         extensions: require AC_GNU_SOURCE only for <=2.63
2440         Problem reported by Gavin Smith in:
2441         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
2442         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
2443         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
2444         shouldn’t be needed after that, and Autoconf 2.70 complains about
2445         it being obsolete.
2447 2020-09-26  Bruno Haible  <bruno@clisp.org>
2449         regex-tests: Make test more robust.
2450         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
2451         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
2453 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2455         regex-tests: fix possible Turkish false-alarm
2456         * modules/regex-tests (Depends-on): Add wctype-h.
2457         * tests/test-regex.c: Include wctype.h.
2458         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
2459         as the Turkish regex test assumes this.
2461         regex-tests: fix test and add debug output
2462         Perhaps this will fix the recent grep test failure reported at:
2463         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
2464         At least, the debug output should help narrow down the failure.
2465         * tests/test-regex.c: Include stdarg.h, stdio.h.
2466         (exit_status): New var.
2467         (report_error): New function.
2468         (main): Use it to report failures to stdout instead of merely
2469         exiting with some nonzero status.  The status info alone isn’t
2470         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
2471         regex before calling re_compile_pattern, fixing a portability bug.
2473         regex: no longer match glibc
2474         * config/srclist.txt: Comment out regex_internal.c for now.
2476 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2478         regex: fix ignore-case Turkish bug
2479         * lib/regex_internal.c (build_wcs_upper_buffer):
2480         Do not assume that converting single-byte character to upper
2481         yields a single-byte character.  This is not true for Turkish,
2482         where towupper (L'i') yields L'İ', which is not single-byte.
2483         * tests/test-regex.c (main): Test for this bug.
2485         regex: port to weird isascii platforms
2486         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
2488 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2490         dfa: make dfasupported a global function
2491         * lib/dfa.c (dfasupported): Rename, and make it global.
2492         Update caller.
2493         * lib/dfa.h (dfasupported): Add prototype.
2495 2020-09-20  Bruno Haible  <bruno@clisp.org>
2497         canonicalize: Add support for UNC file names on native Windows.
2498         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
2499         <https://savannah.gnu.org/bugs/?59079>.
2500         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
2501         extend the prefix to include the server.
2503 2020-09-20  Bruno Haible  <bruno@clisp.org>
2505         supersede: Fix test failures on native Windows.
2506         * lib/supersede.c (open_supersede): Handle non-regular files on native
2507         Windows like on Solaris.
2508         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
2510 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2512         test-stdalign: test Oracle Studio better
2513         * doc/posix-headers/stdalign.texi (stdalign.h):
2514         * tests/test-stdalign.c (main):
2515         Sun Studio Bug #2125432 seems to be fixed.
2517         c-stack: output diagnostic in single 'write'
2518         * lib/c-stack.c (die): In the typical case, use just one 'write'
2519         syscall to output the diagnostic, as this lessens interleaving.
2520         (die, c_stack_action): Assume C99.
2521         * modules/c-stack (Depends-on): Add c99, mempcpy.
2523         c-stack: improve checking if !libsigsegv
2524         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
2525         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
2526         unlikely pointer overflow.  Also, fix some obsolete code and typos.
2527         I found these problems while looking into this bug report:
2528         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
2529         * lib/c-stack.c: Include c-stack.h first, to test interface.
2530         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
2531         max_align_t, intprops.h for INT_ADD_WRAPV.
2532         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
2533         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
2534         for libsigsegv 2.8 and earlier since the bug should be fixed
2535         after that.
2536         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
2537         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
2538         Assume sprintf returns byte count; this assumption is safe now.
2539         (page_size): New static volatile variable, since sysconf isn’t
2540         documented to be async-signal-safe on Solaris.  This variable is
2541         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
2542         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
2543         SIGINFO_WORKS).
2544         (segv_handler): Use it if present.  Never report null pointer
2545         dereference as a stack overflow.  Check for (unlikely) unsigned
2546         and/or pointer overflow.
2547         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
2548         Rename cache variables to gl_cv_sys_stack_overflow_works
2549         and gl_cv_sys_xsi_stack_overflow_heuristic.
2550         All uses changed.
2551         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
2552         c-stack no longer uses STACK_DIRECTION.
2553         Do not check for unistd.h, since we depend on unistd.
2554         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
2555         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
2556         stdbool, stddef.
2558 2020-09-20  Bruno Haible  <bruno@clisp.org>
2560         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
2561         * m4/musl.m4: Revert 2020-09-19 patch.
2562         * m4/setlocale_null.m4: Likewise.
2563         * modules/setlocale-null: Likewise.
2565 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
2566             Bruno Haible  <bruno@clisp.org>
2568         relocatable-prog: Fix for multiple relocatable library directories.
2569         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
2570         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
2571         being attached to a single one.
2573 2020-09-19  Jim Meyering  <meyering@fb.com>
2575         test-verify.c: avoid -Wshadow warnings
2576         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
2577         (enum): Capitalize member names. Adjust uses.
2579 2020-09-19  Bruno Haible  <bruno@clisp.org>
2581         havelib: Avoid linking with libc.a on GNU systems.
2582         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
2583         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
2584         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
2585         dependency_libs value of a .la file, ignore '-lc' options on GNU
2586         systems.
2588 2020-09-19  Bruno Haible  <bruno@clisp.org>
2590         Fix recognition of musl libc on Alpine Linux 3.10.
2591         Reported by Jeffrey Walton <noloader@gmail.com> in
2592         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
2593         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
2594         (gl_MUSL_LIBC): Require it.
2595         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
2596         * modules/setlocale-null (Files): Add m4/musl.m4.
2598 2020-09-19  Bruno Haible  <bruno@clisp.org>
2600         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
2601         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
2602         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
2603         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
2604         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
2605         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
2606         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
2607         or <threads.h>.
2608         (ITEMS, MAX_RESULT_LEN): New macros.
2609         (nl_langinfo_unlocked): New function.
2610         (gl_get_nl_langinfo_lock): New declaration.
2611         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
2612         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
2613         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
2614         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
2615         REPLACE_NL_LANGINFO.
2616         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
2617         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
2618         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
2619         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
2620         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
2622 2020-09-18  Bruno Haible  <bruno@clisp.org>
2624         fsusage, getaddrinfo: Produce more regular configure output.
2625         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
2626         corresponding AC_MSG_RESULT.
2627         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
2629 2020-09-18  Bruno Haible  <bruno@clisp.org>
2631         Add back gl_SILENT.
2632         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
2634 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2636         c-stack-tests: fix -fsanitize=undefined false alarm
2637         * tests/test-c-stack2.sh: Skip the test-harness self-test
2638         if ‘gcc -fsanitize=undefined’ is in use.
2640 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2642         signalblocking: simplify and remove gl_SILENT
2643         gl_SILENT was problematic because if a trap was sprung, stderr
2644         generated during the trap was lost.  Avoid the problem by
2645         removing the need for gl_SILENT.
2646         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
2647         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
2648         Simplify, avoiding the need for gl_SILENT while preserving the
2649         ability of the user to override the value of the cache variable,
2650         now ac_cv_func_sigprocmask.
2652 2020-09-17  Bruno Haible  <bruno@clisp.org>
2654         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
2655         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
2656         (gl_SILENT): Use 'exec', not a compound statement, to redirect
2657         AS_MESSAGE_FD.
2659 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2661         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
2662         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
2663         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
2664         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
2665         Define to 0.
2666         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
2667         Do not use __builtin_mul_overflow_p.
2669         libc-config: port __THROW to Ubuntu 4
2670         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
2671         for GCC 3.3.  Problem reported by Jeffrey Walton in:
2672         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
2673         The GCC 3.3.4 documentation says the attribute should work, but
2674         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
2675         little point or desire to research this circa-2004 platform further,
2676         so just avoid the attribute there.
2678 2020-09-17  Jim Meyering  <meyering@fb.com>
2680         test-dfa-match.sh: port timeout work-around to newer Busybox
2681         * tests/test-dfa-match.sh: Update timeout -t portability test to
2682         accommodate Busybox 1.30.0 and newer.
2684 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2686         fnmatch: adjust to match glibc fix
2687         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
2688         This does not affect Gnulib; it merely keeps Gnulib and glibc
2689         closer together, to help with any eventual merge, by incorporating
2690         a recent glibc patch.  The patch and the following commentary is
2691         by Andreas Schwab.
2692         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
2693         contains the index into the extra array, whereas wextra points
2694         into the extra array at this index, containing the length of the
2695         following collating sequence in the wide character representation.
2697 2020-09-16  Bruno Haible  <bruno@clisp.org>
2699         stat, fstat: Fix compilation error with old mingw headers.
2700         Reported by Eli Zaretskii <eliz@gnu.org> in
2701         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
2702         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
2703         define it.
2705 2020-09-16  Bruno Haible  <bruno@clisp.org>
2707         stat, fstat: Fix when compiling for versions older than Windows Vista.
2708         Reported by Eli Zaretskii <eliz@gnu.org> in
2709         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
2710         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
2711         that was originally set before we redefined it.
2712         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
2713         (gl_PREREQ_STAT): Require it.
2714         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
2716 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2718         dfa: remove dfa-heap-overrun workaround
2719         * lib/dfa.c (reorder_tokens): Go back to a single pass that
2720         both sets map[*] and does other things.  This reverts
2721         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
2722         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
2723         fixed the underlying problem.
2725 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2727         dfa: avoid use of uninitialized constraint
2728         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
2729         to zero here.
2730         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
2731         use of an uninitialized constraint by later code when ! (flags[i]
2732         & OPT_QUEUED) means merge_nfa_state was not called to initialize
2733         the constraint.  Problem found by running 'valgrind src/grep -E
2734         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
2736         dfa: assume C99 in reorder_tokens
2737         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
2739         dfa: fix dfa-heap-overrun failure
2740         * lib/dfa.c (reorder_tokens): When setting
2741         map[d->follows[i].elems[j].index], instead of incorrectly assuming
2742         that (i < d->follows[i].elems[j].index), use two loops, one to set
2743         the map array and the other to use it.  The incorrect assumption
2744         caused some elements to be missed, and this in turn caused grep's
2745         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
2746         with GCC.  I found this bug while investigating
2747         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
2748         and I think the bug also occurs on GNU/Linux but with more-subtle
2749         symptoms.  The bug predates the recent dfa.c changes; perhaps the
2750         recent changes make the bug more likely.
2752 2020-09-13  Bruno Haible  <bruno@clisp.org>
2754         parse-datetime: Make the build rule work with parallel 'make'.
2755         Reported by Daiki Ueno <ueno@gnu.org> in
2756         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
2757         * modules/parse-datetime (Makefile.am): Use a phony target and the
2758         general idiom for rules that produce multiple files.
2760 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
2762         getpass: Check for nonnull prompt argument while avoiding warnings.
2763         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
2764         (getpass) [!_WIN32]: Print prompt only if nonnull.
2766 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
2768         dfa: epsilon-closure tweaks (Bug#40634)
2769         Rename BACKWORD to BACKWARD consistently.
2770         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
2771         (addtok_mb): Redo slightly to make it act more like a state machine.
2772         Check depth only when it increases.
2773         (epsclosure): Let the switch test the tokens.
2774         (dfaanalyze): Cache tindex.  Simplify position loops.
2775         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
2776         only if it is not null, since we're testing that anyway.
2777         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
2779 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2781         dfa: use backward set in removal of epsilon closure
2782         When removing in epsilon closure, the code searched all nodes
2783         sequentially, and this was slow for some cases.  Build a backward
2784         set before search, and only check previous position with the set.
2785         Problem reported in <https://bugs.gnu.org/40634>.
2786         * lib/dfa.c (struct dfa): New member 'epsilon'.
2787         (addtok_mb): Check whether a pattern has epsilon node or not.
2788         (epsclosure): New arg BACKWORD; caller changed.  When removing
2789         epsilon node and reconnecting, check only previous positions.
2790         Treat BEG as if it were character.
2791         (dfaanalyze): Build backward set.
2793 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2795         canonicalize: fix pointer indexing bugs
2796         Problem reported by Florian Weimer in:
2797         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
2798         * lib/canonicalize-lgpl.c (__realpath):
2799         * lib/canonicalize.c (canonicalize_filename_mode):
2800         Do not generate a pointer past the end of the array.
2801         * lib/canonicalize.c (canonicalize_filename_mode):
2802         Do not use a pointer after passing it to realloc.
2804 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2806         tempname: help merge with glibc
2807         Inspired by draft patches by Adhemerval Zanella in:
2808         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
2809         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
2810         * lib/tempname.c: Include stdalign.h, time.h.
2811         If _LIBC, do not include random-bits.h.
2812         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
2813         (RANDOM_BITS): Remove, replacing with ...
2814         (random_bits): ... this new static function.  All uses changed.
2815         Add entropy each time if getrandom is not supported.
2816         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
2817         Assume 64-bit support a la C99.
2818         (try_tempname_len): Take advantage of ASLR when initializing
2819         random value.
2820         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
2822         getcwd: merge recent glibc changes
2823         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
2824         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
2826 2020-09-06  Bruno Haible  <bruno@clisp.org>
2828         attribute: Clarify which file to include.
2829         * modules/attribute (Include): Add "attribute.h".
2831 2020-09-06  Bruno Haible  <bruno@clisp.org>
2833         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
2834         * lib/pipe-filter-ii.c: Include <process.h>.
2835         * lib/pipe-filter-gi.c: Likewise.
2837 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
2839         verify: avoid __builtin_assume
2840         Our latest attempt to use Clang’s __builtin_assume caused a crash
2841         in GNU Emacs that we spent quite some time tracking down as being
2842         caused by the switch to __builtin_assume.  It’s not known whether
2843         the crash is due is a Clang bug or a portability bug in GNU Emacs.
2844         For now, play it safe and avoid __builtin_assume.
2845         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
2846         (assume): Simplify by not trying to use Clang’s __builtin_assume.
2848 2020-09-05  Bruno Haible  <bruno@clisp.org>
2850         Fix several "warning: no previous prototype for function".
2851         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
2852         in front of the declaration of the lookup function in
2853         unicase/locale-languages.h.
2854         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
2855         unictype/bidi_byname.h.
2856         * modules/unictype/category-byname (Makefile.am): Likewise in
2857         unictype/categ_byname.h.
2858         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
2859         unictype/combiningclass_byname.h.
2860         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
2861         unictype/joininggroup_byname.h.
2862         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
2863         unictype/joiningtype_byname.h.
2864         * modules/unictype/property-byname (Makefile.am): Likewise in
2865         unictype/pr_byname.h.
2866         * modules/unictype/scripts (Makefile.am): Likewise in
2867         unictype/scripts_byname.h.
2868         * modules/uninorm/composition (Makefile.am): Likewise in
2869         uninorm/composition-table.h.
2871 2020-09-05  Bruno Haible  <bruno@clisp.org>
2873         select: Fix "warning: no previous prototype for function".
2874         * lib/select.c: Include <sys/select.h>.
2876 2020-09-05  Bruno Haible  <bruno@clisp.org>
2878         Use module 'c99' when needed for variadic macros with '...' syntax.
2879         * modules/crypto/sm3 (Depends-on): Add c99.
2881 2020-09-05  Bruno Haible  <bruno@clisp.org>
2883         Use module 'c99' when needed for subobject initializer syntax.
2884         * modules/tempname (Depends-on): Add c99.
2885         * modules/nstrftime-tests (Depends-on): Likewise.
2887 2020-09-05  Bruno Haible  <bruno@clisp.org>
2889         Use module 'c99' when needed for declaration-after-statement syntax.
2890         * modules/backup-rename (Depends-on): Add c99.
2891         * modules/backupfile (Depends-on): Likewise.
2892         * modules/bitset-tests (Depends-on): Likewise.
2893         * modules/bitsetv (Depends-on): Likewise.
2894         * modules/c-strtod (Depends-on): Likewise.
2895         * modules/c-strtold (Depends-on): Likewise.
2896         * modules/clean-temp (Depends-on): Likewise.
2897         * modules/copy-file (Depends-on): Likewise.
2898         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
2899         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
2900         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
2901         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
2902         * modules/crypto/md5-buffer (Depends-on): Likewise.
2903         * modules/crypto/md5-tests (Depends-on): Likewise.
2904         * modules/crypto/sha1-buffer (Depends-on): Likewise.
2905         * modules/crypto/sha1-tests (Depends-on): Likewise.
2906         * modules/crypto/sha256-buffer (Depends-on): Likewise.
2907         * modules/crypto/sha256-tests (Depends-on): Likewise.
2908         * modules/crypto/sha512-buffer (Depends-on): Likewise.
2909         * modules/crypto/sha512-tests (Depends-on): Likewise.
2910         * modules/diffseq (Depends-on): Likewise.
2911         * modules/fatal-signal (Depends-on): Likewise.
2912         * modules/fchmodat (Depends-on): Likewise.
2913         * modules/fstrcmp (Depends-on): Likewise.
2914         * modules/fsusage (Depends-on): Likewise.
2915         * modules/fts (Depends-on): Likewise.
2916         * modules/fts-tests (Depends-on): Likewise.
2917         * modules/getumask (Depends-on): Likewise.
2918         * modules/git-merge-changelog (Depends-on): Likewise.
2919         * modules/hash-map (Depends-on): Likewise.
2920         * modules/hash-set (Depends-on): Likewise.
2921         * modules/lchmod (Depends-on): Likewise.
2922         * modules/libgmp-tests (Depends-on): Likewise.
2923         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
2924         * modules/linkedhash-map (Depends-on): Likewise.
2925         * modules/linkedhash-set (Depends-on): Likewise.
2926         * modules/long-options (Depends-on): Likewise.
2927         * modules/mbrtoc32 (Depends-on): Likewise.
2928         * modules/memchr2-tests (Depends-on): Likewise.
2929         * modules/memmem-tests (Depends-on): Likewise.
2930         * modules/memrchr-tests (Depends-on): Likewise.
2931         * modules/mktime-internal (Depends-on): Likewise.
2932         * modules/nstrftime (Depends-on): Likewise.
2933         * modules/opendirat (Depends-on): Likewise.
2934         * modules/parse-datetime (Depends-on): Likewise.
2935         * modules/quotearg-simple-tests (Depends-on): Likewise.
2936         * modules/same (Depends-on): Likewise.
2937         * modules/supersede (Depends-on): Likewise.
2938         * modules/supersede-tests (Depends-on): Likewise.
2939         * modules/time_rz (Depends-on): Likewise.
2940         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
2941         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
2942         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
2943         * modules/xalloc (Depends-on): Likewise.
2944         * modules/xnanosleep (Depends-on): Likewise.
2946 2020-09-05  Bruno Haible  <bruno@clisp.org>
2948         Fix "warning: array initialized from parenthesized string constant".
2949         * tests/test-memmem.c (main): Remove parentheses around string constant.
2950         * tests/test-c-strcasestr.c (main): Likewise.
2951         * tests/test-strcasestr.c (main): Likewise.
2953 2020-09-05  Bruno Haible  <bruno@clisp.org>
2955         argmatch tests: Fix ISO C compliance warning.
2956         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
2957         invocation.
2959 2020-09-05  Bruno Haible  <bruno@clisp.org>
2961         uniname/uniname: Fix -Wshadow warning.
2962         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
2963         * modules/uniname/uniname (Depends-on): Add c99.
2965 2020-09-05  Bruno Haible  <bruno@clisp.org>
2967         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
2968         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
2969         argument to size_t.
2970         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
2971         n to size_t.
2973 2020-09-05  Bruno Haible  <bruno@clisp.org>
2975         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
2976         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
2977         u32_uctomb): Change type of last argument to ptrdiff_t.
2978         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
2979         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
2980         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
2981         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
2982         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
2984 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2986         manywarnings: remove -Wchkp and -Wabi from C++ too
2987         Suggested by Reuben Thomas in:
2988         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
2989         At some point somebody should merge the many other manywarnings-c.m4
2990         changes into manywarnings-c++.m4 too, e.g.,
2991         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
2992         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
2993         Remove -Wchkp, -Wabi.
2995 2020-08-30  Bruno Haible  <bruno@clisp.org>
2997         strerrorname_np: Add tests.
2998         * tests/test-strerrorname_np.c: New file.
2999         * modules/strerrorname_np-tests: New file.
3001         strerrorname_np: New module.
3002         * lib/string.in.h (strerrorname_np): New declaration.
3003         * lib/strerrorname_np.c: New file.
3004         * m4/strerrorname_np.m4: New file.
3005         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
3006         is declared.
3007         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
3008         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3009         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
3010         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3011         * modules/strerrorname_np: New file.
3012         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
3013         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
3014         the glibc 2.32 bug.
3016 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
3018         perror, strerror_r: remove unportable tests
3019         Problem reported by Florian Weimer in:
3020         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
3021         * tests/test-perror2.c (main):
3022         * tests/test-strerror_r.c (main): Omit unportable tests.
3024 2020-08-26  Bruno Haible  <bruno@clisp.org>
3026         stdint, wchar, wctype-h: Change configure message.
3027         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
3028         enough..." instead of "checking whether wint_t is too small...".
3030 2020-08-26  Bruno Haible  <bruno@clisp.org>
3032         time_rz: Change configure message.
3033         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
3034         near extrema..." instead of "checking whether localtime loops forever
3035         near extrema...".
3037 2020-08-26  Bruno Haible  <bruno@clisp.org>
3039         stdint: Change configure message.
3040         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
3041         without ISO C predefines..." instead of "checking whether stdint.h
3042         predates C++11...".
3044 2020-08-26  Bruno Haible  <bruno@clisp.org>
3046         socketlib: Change configure message.
3047         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
3048         instead of "checking if we need to call WSAStartup in winsock2.h and
3049         -lws2_32...".
3051 2020-08-26  Bruno Haible  <bruno@clisp.org>
3053         include_next: Change configure message.
3054         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
3055         code line length is unlimited..." instead of "checking whether system
3056         header files limit the line length...".
3058 2020-08-26  Bruno Haible  <bruno@clisp.org>
3060         getcwd: Change configure message.
3061         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
3062         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
3063         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
3065 2020-08-26  Bruno Haible  <bruno@clisp.org>
3067         chdir-long: Change configure message.
3068         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
3069         system supports file names of any length..." instead of "checking
3070         whether this system has an arbitrary file name length limit...".
3071         Set gl_cv_have_unlimited_file_name_length instead of
3072         gl_cv_have_arbitrary_file_name_length_limit.
3073         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
3075 2020-08-26  Bruno Haible  <bruno@clisp.org>
3077         ceill: Change configure message.
3078         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
3079         instead of "checking whether ceill() breaks with small values...".
3081 2020-08-26  Bruno Haible  <bruno@clisp.org>
3083         iconv: Change configure message.
3084         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
3085         with its POSIX signature..." instead of "checking for iconv
3086         declaration...". Remove K&R C support.
3088 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3090         getcwd: help the merge back into glibc
3091         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
3092         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
3093         The idea is to make it easier for Gnulib lib/getcwd.c to match
3094         glibc io/getcwd-generic.c.
3095         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
3096         Include not-cancel.h.
3097         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
3098         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
3099         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
3100         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
3101         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
3102         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
3103         (__getcwd_generic): Rename from __getcwd.
3104         Use the abovementioned macros for consistency with glibc.
3105         (weak_alias): Remove.
3107 2020-08-25  Bruno Haible  <bruno@clisp.org>
3109         verify: Avoid warnings when assume(0) is used.
3110         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
3111         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
3112         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
3113         the constant 0.
3114         * tests/test-verify.c (f): New function.
3115         (state): New type.
3116         (test_assume_expressions, test_assume_optimization,
3117         test_assume_noreturn): New functions.
3119 2020-08-25  Bruno Haible  <bruno@clisp.org>
3121         fstrcmp: Clarification regarding NOTE_ORDERED.
3122         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
3124 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3126         diffseq: new option NOTE_ORDERED
3127         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
3128         * NEWS: Mention this.
3129         * lib/diffseq.h (NOTE_ORDERED): New macro.
3130         (IF_LINT2): Remove; no longer needed.
3131         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
3132         subproblem and iterate to do the larger.
3134 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3136         sys_types: let Autoconf 2.70 do pid_t
3137         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
3138         only for Autoconf versions 2.69 and earlier, since 2.70
3139         will be fixed.
3141 2020-08-23  Bruno Haible  <bruno@clisp.org>
3143         tests: Don't assume that pid_t fits in an 'int'.
3144         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
3145         of 'int'.
3146         * tests/test-nonblocking-socket-main.c (main): Likewise.
3148         sys_types: Fix definition of pid_t on 64-bit MSVC.
3149         * m4/pid_t.m4: New file.
3150         * modules/sys_types (Files): Add it.
3151         * modules/dirent (Files): Likewise.
3152         * modules/fcntl-h (Files): Likewise.
3153         * modules/sched (Files): Likewise.
3154         * modules/signal-h (Files): Likewise.
3155         * modules/spawn (Files): Likewise.
3156         * modules/sys_stat (Files): Likewise.
3157         * modules/sys_wait (Files): Likewise.
3158         * modules/termios (Files): Likewise.
3159         * modules/unistd (Files): Likewise.
3161 2020-08-23  Bruno Haible  <bruno@clisp.org>
3163         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
3164         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
3165         program.
3167 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3169         intprops: be consistent about +X vs X+0
3170         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
3172         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
3173         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
3174         is a bit-field, on older GCC or non-GCC compilers where we do
3175         things ourselves instead of using __builtin_mul_overflow.
3176         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
3177         to applying sizeof to a bit-field.
3178         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
3179         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
3181 2020-08-23  Bruno Haible  <bruno@clisp.org>
3183         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
3184         Reported by Jörg Sonnenberger <joerg@netbsd.org>
3185         via Thomas Klausner <tk@giga.or.at> in
3186         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
3187         * lib/supersede.c (open_supersede): When opening an existing non-regular
3188         file on Solaris, use O_CREAT although it should not be necessary.
3190 2020-08-23  Bruno Haible  <bruno@clisp.org>
3192         verify: Make assume work on bit field expressions (regr. 2020-08-22).
3193         Reported by Benno Schulenberg <bensberg@telfort.nl> in
3194         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
3195         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
3196         variable.
3198 2020-08-23  Bruno Haible  <bruno@clisp.org>
3200         libc-config: Improve comments.
3201         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
3202         cannot use clang's __diagnose_if__ here.
3204 2020-08-22  Bruno Haible  <bruno@clisp.org>
3206         verify: Do use __builtin_assume on clang.
3207         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
3208         variable in a statement expression.
3210 2020-08-22  Bruno Haible  <bruno@clisp.org>
3212         sig2str: Add more signals.
3213         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
3215 2020-08-22  Bruno Haible  <bruno@clisp.org>
3217         doc: Update for OpenBSD 6.0, 6.7.
3218         * doc/*/*.texi: Update.
3219         * m4/printf.m4: Update comments and cross-compilation guesses.
3220         * m4/ceill.m4: Update comments.
3221         * m4/getcwd-abort-bug.m4: Likewise.
3222         * m4/ilogb.m4: Likewise.
3223         * m4/ilogbf.m4: Likewise.
3224         * m4/langinfo_h.m4: Likewise.
3225         * m4/modf.m4: Likewise.
3226         * m4/modff.m4: Likewise.
3228 2020-08-22  Bruno Haible  <bruno@clisp.org>
3230         doc: Mention sig2str module.
3231         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
3233 2020-08-21  Bruno Haible  <bruno@clisp.org>
3235         sigdescr_np: Add tests.
3236         * tests/test-sigdescr_np.c: New file.
3237         * modules/sigdescr_np-tests: New file.
3239         sigdescr_np: New module.
3240         * lib/string.in.h (sigdescr_np): New declaration.
3241         * lib/sigdescr_np.c: New file.
3242         * m4/sigdescr_np.m4: New file.
3243         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
3244         declared.
3245         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
3246         HAVE_SIGDESCR_NP.
3247         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
3248         HAVE_SIGDESCR_NP.
3249         * modules/sigdescr_np: New file.
3250         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
3251         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
3253 2020-08-20  Bruno Haible  <bruno@clisp.org>
3255         sigabbrev_np: Add tests.
3256         * tests/test-sigabbrev_np.c: New file.
3257         * modules/sigabbrev_np-tests: New file.
3259         sigabbrev_np: New module.
3260         * lib/string.in.h (sigabbrev_np): New declaration.
3261         * lib/sigabbrev_np.c: New file.
3262         * m4/sigabbrev_np.m4: New file.
3263         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
3264         declared.
3265         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
3266         HAVE_SIGABBREV_NP.
3267         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
3268         HAVE_SIGABBREV_NP.
3269         * modules/sigabbrev_np: New file.
3270         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
3271         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
3273 2020-08-20  Bruno Haible  <bruno@clisp.org>
3275         stdalign tests: Skip test with AIX xlclang.
3276         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
3278 2020-08-20  Bruno Haible  <bruno@clisp.org>
3280         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
3281         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
3282         workaround as for GCC versions < 4.9.
3284 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3286         Sync up ProjectQuirks comments and documentation
3287         Transform the ProjectQuirks comments into a docstring so that it can
3288         be accessed from python as ProjectQuirks.__doc__ and harmonize
3289         descriptions with the documentation.
3290         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
3291         Transform comments into a docstring.
3292         * doc/vcs-to-changelog.texi: Sync up description with comments.
3294         Split ProjectQuirks out into its own file
3295         ProjectQuirks is used by external quirks files and importing it from
3296         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
3297         is cleaner to put it in its own file anyway.
3298         * build-aux/vcstocl/projectquirks.py: A new file...
3299         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
3300         we move ProjectQuirks and import the file.
3302 2020-08-19  Bruno Haible  <bruno@clisp.org>
3304         uchar: Fix compilation errors in C++ mode on macOS.
3305         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
3306         system header file before attempting to use 'char16_t' and 'char32_t'.
3308 2020-08-19  Bruno Haible  <bruno@clisp.org>
3310         ansi-c++-opt: Work around an autoconf macro reordering problem.
3311         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
3312         section.
3314 2020-08-19  Bruno Haible  <bruno@clisp.org>
3316         math C++ tests: Fix compilation error in with GCC 10.
3317         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
3318         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
3319         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3321 2020-08-19  Bruno Haible  <bruno@clisp.org>
3323         uchar: Fix compilation errors in C++ mode on OpenBSD.
3324         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
3325         CXX_HAS_UCHAR_TYPES is 1.
3326         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
3327         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
3328         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
3330 2020-08-19  Bruno Haible  <bruno@clisp.org>
3332         Fix compilation errors in C++ mode on OpenBSD.
3333         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
3334         OpenBSD with clang, use the approach without C preprocessor macro.
3336 2020-08-18  Bruno Haible  <bruno@clisp.org>
3338         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
3339         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
3340         AC_LANG_POP.
3342 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3344         verify: avoid __built_assume on Clang
3345         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
3346         Clang 9 incorrectly diagnoses arguments as having side effects
3347         even when they do not.  I guess Clang 9 considers any function
3348         call as if it had a side effect here.
3350         libc-config: avoid Clang’s __diagnose_if__
3351         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
3352         For now, do not use __diagnose_if__ here, as this fails
3353         on Fedora 31 with Clang 9.0.1, with diagnostic
3354         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
3355         size than length of destination buffer
3356         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
3357         for functions that are not called?
3359         careadlinkat: speedup for GCC 10 with GCC_LINT
3360         Inspired by a suggestion by Bruno Haible in:
3361         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
3362         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
3363         (readlink_stk): New function, with most of the old careadlinkat
3364         contents and with a new STACK_BUF arg.  Inline it in GCC 10
3365         if GCC_LINT.
3366         (careadlinkat): Use the new function for everything but the
3367         stack buffer.
3369         * build-aux/gcc-warning.spec: Update comments.
3371 2020-08-17  Bruno Haible  <bruno@clisp.org>
3373         Assume autoconf >= 2.64.
3374         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
3376 2020-08-17  Bruno Haible  <bruno@clisp.org>
3378         Revert autoupdate's revert.
3379         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
3381 2020-08-17  Bruno Haible  <bruno@clisp.org>
3383         uchar C++ tests: Fix build error on FreeBSD 12.
3384         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
3385         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
3386         <cuchar> does not exist.
3388 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3390         time_rz: remove unused functions
3391         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
3393         time_rz: fix issues with mktime_z failures
3394         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
3395         Use a cheaper tm_yday test for failed mktime.
3397 2020-08-16  Bruno Haible  <bruno@clisp.org>
3399         intprops test: Strengthen on clang.
3400         * tests/test-intprops.c (VERIFY): Use verify_stmt.
3402 2020-08-16  Bruno Haible  <bruno@clisp.org>
3404         nstrftime: Guide inlining also on clang.
3405         * lib/nstrftime.c (iso_week_days): Inline also on clang.
3407 2020-08-16  Bruno Haible  <bruno@clisp.org>
3409         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
3410         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
3412 2020-08-16  Bruno Haible  <bruno@clisp.org>
3414         log2l: Disable MSVC workaround on clang.
3415         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
3417 2020-08-16  Bruno Haible  <bruno@clisp.org>
3419         argp: Emit a warning also with clang.
3420         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
3421         clang.
3423 2020-08-16  Bruno Haible  <bruno@clisp.org>
3425         libc-config: Enable __REDIRECT macro also on clang.
3426         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
3427         __ASMNAME2): Define on clang like on GCC.
3429 2020-08-16  Bruno Haible  <bruno@clisp.org>
3431         regex: Use initializer shorthand syntax also with clang.
3432         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
3433         with clang.
3435 2020-08-16  Bruno Haible  <bruno@clisp.org>
3437         regex: Use space optimization also with clang.
3438         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
3439         with clang.
3441 2020-08-16  Bruno Haible  <bruno@clisp.org>
3443         Use _Static_assert and static_assert primitives when present on clang.
3444         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
3445         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
3446         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
3448 2020-08-16  Bruno Haible  <bruno@clisp.org>
3450         Use 'throw ()' for optimization in C++ mode also on clang.
3451         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
3452         * lib/getopt-cdefs.in.h (__THROW): Likewise.
3453         * lib/md5.h (__THROW): Likewise.
3455 2020-08-16  Bruno Haible  <bruno@clisp.org>
3457         absolute-header: Add support for clang.
3458         * modules/absolute-header (Makefile.am): Include '__clang__' in the
3459         HAVE_INCLUDE_NEXT expression.
3461 2020-08-16  Bruno Haible  <bruno@clisp.org>
3463         Fix "warning: implicitly declaring library function 'strcasecmp'".
3464         * lib/argp-help.c: Include <strings.h>.
3466 2020-08-16  Bruno Haible  <bruno@clisp.org>
3468         stdio: Don't break attribute 'scanf' on clang.
3469         * lib/stdio.in.h (scanf): Treat clang like GCC.
3471 2020-08-16  Bruno Haible  <bruno@clisp.org>
3473         Use __restrict also on clang.
3474         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
3475         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
3476         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
3478 2020-08-16  Bruno Haible  <bruno@clisp.org>
3480         pthread-spin: Use GCC built-ins also on clang.
3481         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
3482         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
3483         also on clang.
3485 2020-08-16  Bruno Haible  <bruno@clisp.org>
3487         asyncsafe-spin tests: Update.
3488         * tests/test-asyncsafe-spin2.c: Update to match the change in
3489         lib/asyncsafe-spin.c from 2020-08-11.
3491 2020-08-16  Bruno Haible  <bruno@clisp.org>
3493         setenv: Use tree code also with clang.
3494         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
3496 2020-08-16  Bruno Haible  <bruno@clisp.org>
3498         math: Optimize signbit also on clang.
3499         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
3500         on clang.
3502 2020-08-16  Bruno Haible  <bruno@clisp.org>
3504         avltreehash-list, rbtreehash-list: Optimize also on clang.
3505         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
3506         __builtin_expect also on clang.
3508 2020-08-16  Bruno Haible  <bruno@clisp.org>
3510         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
3511         * lib/socket.c: Use WSASocketW, not WSASocketA.
3513         Fix "warning: format specifies type 'unsigned long'".
3514         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
3515         argument to match the format directive.
3517         Fix "warning: no case matching constant switch condition '0'".
3518         * tests/test-fcntl.c (check_flags): Add a 'default' case.
3520         Fix "warning: integer overflow in expression".
3521         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
3522         remove a 'long' overflow.
3524         Fix "warning: "getpagesize" redefined".
3525         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
3526         macro.
3528         Fix "warning: implicitly declaring library function 'strncasecmp'".
3529         * lib/strptime.c: Include <strings.h>.
3531         Fix "warning: 'snprintf' macro redefined".
3532         * lib/strerror_r.c (snprintf): Undefine before redefining.
3534         Fix "warning: address of array 'locale' will always evaluate to 'true'".
3535         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
3537         Fix "warning: '__stat64' macro redefined".
3538         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
3540         Fix "warning: 'format' attribute argument not supported: rpl_printf".
3541         * lib/stdio.in.h (printf): Treat clang like GCC.
3543         Fix "warning: attribute declaration must precede definition" with clang.
3544         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
3545         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
3546         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
3547         on non-glibc systems.
3548         * lib/netdb.in.h (gai_strerror): Likewise.
3549         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
3550         * lib/sys_stat.in.h (fstat): Likewise.
3551         * lib/utime.in.h (utime): Likewise.
3553         Fix undesired warnings.
3554         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
3555         clang.
3557 2020-08-16  Bruno Haible  <bruno@clisp.org>
3559         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
3560         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
3561         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
3562         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
3563         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
3565 2020-08-16  Bruno Haible  <bruno@clisp.org>
3567         Don't use Autoconf quadrigraphs.
3568         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
3569         Autoconf quadrigraph.
3570         * m4/free.m4 (gl_FUNC_FREE): Likewise.
3571         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
3572         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
3573         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
3574         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3575         * m4/math_h.m4 (gl_MATH_H): Likewise.
3576         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3578 2020-08-16  Bruno Haible  <bruno@clisp.org>
3580         Fix quoting of AC_LANG_PROGRAM arguments.
3581         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
3582         arguments through [[...]].
3583         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
3584         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3585         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
3586         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
3587         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
3588         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3589         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
3590         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3591         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
3592         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3593         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
3594         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
3595         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3597 2020-08-16  Bruno Haible  <bruno@clisp.org>
3599         Assume autoconf >= 2.64.
3600         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
3601         * DEPENDENCIES: Require Autoconf 2.64 or newer.
3602         * NEWS: Mention the changed requirement.
3603         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
3604         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
3605         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
3606         variables.
3607         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3608         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3609         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
3610         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
3611         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
3612         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
3613         Likewise.
3614         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
3615         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
3616         * m4/configmake.m4: Update comment.
3618 2020-08-16  Bruno Haible  <bruno@clisp.org>
3620         sys_ioctl: Simplify.
3621         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
3622         AC_INCLUDES_DEFAULT.
3624 2020-08-16  Bruno Haible  <bruno@clisp.org>
3626         Fix quoting of AC_LANG_SOURCE arguments.
3627         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
3628         GL_NOCRASH expansion.
3629         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
3630         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3631         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3632         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3633         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3635 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3637         nstrftime: be more predictable about errno
3638         This aligns nstrftime better with draft POSIX 202x strftime.
3639         * lib/nstrftime.c: Include errno.h.
3640         (width_add, __strftime_internal): Set errno on failure,
3641         and preserve it on success.  Check for mktime_z failure.
3642         * modules/nstrftime (Depends-on): Add errno.
3643         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
3644         * tests/test-nstrftime.c: Include intprops.h, limits.h.
3645         (errno_test): New test function.
3646         (main): Call it.
3648 2020-08-15  Bruno Haible  <bruno@clisp.org>
3650         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
3651         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
3652         from dependency analysis first.
3654 2020-08-15  Bruno Haible  <bruno@clisp.org>
3656         Determine asm output option and filename suffix for MSVC/clang.
3657         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
3658         clang-cl.
3660 2020-08-15  Bruno Haible  <bruno@clisp.org>
3662         doc: Update for MSVC/clang.
3663         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
3664         that MSVC 14 does not have.
3666 2020-08-15  Bruno Haible  <bruno@clisp.org>
3668         Revert autoupdate's revert.
3669         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
3671 2020-08-15  Bruno Haible  <bruno@clisp.org>
3673         frexpl: Fix configuration test result on MSVC.
3674         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
3675         zero.
3677 2020-08-15  Bruno Haible  <bruno@clisp.org>
3679         Support compiling without -loldnames on native Windows.
3680         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
3681         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
3682         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
3683         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
3684         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
3685         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
3686         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
3687         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
3688         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
3689         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
3690         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
3691         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
3692         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
3693         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
3694         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
3695         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
3696         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3697         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3698         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
3699         Likewise.
3700         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
3701         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3702         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
3703         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
3704         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
3705         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
3706         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
3707         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
3708         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
3709         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
3710         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
3711         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
3712         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
3713         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
3714         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
3715         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3716         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
3717         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3718         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
3719         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
3720         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
3721         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
3722         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
3723         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3724         * m4/utimens.m4 (gl_UTIMENS): Likewise.
3725         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
3726         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
3727         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
3728         test for getcwd.
3729         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
3730         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
3731         with GL_MDA_DEFINES.
3732         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
3733         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
3734         prefixed symbol.
3735         * lib/search.in.h (lfind, lsearch): Likewise.
3736         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
3737         Likewise.
3738         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
3739         * lib/string.in.h (memccpy, strdup): Likewise.
3740         * lib/sys_stat.in.h (chmod, umask): Likewise.
3741         * lib/time.in.h (tzset): Likewise.
3742         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
3743         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
3744         read, rmdir, swab, unlink, write): Likewise.
3745         * lib/utime.in.h (utime): Likewise.
3746         * lib/wchar.in.h (wcsdup): Likewise.
3747         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
3748         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
3749         rpl_-prefixed macro.
3750         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
3751         * lib/close.c (close_nothrow): On native Windows, use _close.
3752         * lib/creat.c (orig_creat): On native Windows, use _creat.
3753         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
3754         * lib/dup2.c (dup2_nothrow): Use _dup2.
3755         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
3756         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
3757         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
3758         * lib/open.c (orig_open): On native Windows, use _open.
3759         * lib/read.c (read_nothrow): Use _read.
3760         * lib/rmdir.c: On native Windows, use _rmdir.
3761         * lib/unlink.c: On native Windows, use _unlink.
3762         * lib/write.c (write_nothrow): Use _write.
3763         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
3764         undefined symbol.
3765         * lib/sys_socket.in.h (close): Likewise.
3766         * lib/sys_time.in.h (close): Likewise.
3767         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
3769 2020-08-15  Bruno Haible  <bruno@clisp.org>
3771         Fix "unknown pragma ignored" warnings with clang on native Windows.
3772         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
3773         * lib/cbrtf.c: Likewise.
3774         * lib/ceil.c: Likewise.
3775         * lib/floor.c: Likewise.
3776         * lib/fma.c: Likewise.
3777         * lib/fmod.c: Likewise.
3778         * lib/rint.c: Likewise.
3779         * lib/round.c: Likewise.
3780         * lib/trunc.c: Likewise.
3781         * tests/test-ceil2.c: Likewise.
3782         * tests/test-ceilf2.c: Likewise.
3783         * tests/test-floor2.c: Likewise.
3784         * tests/test-floorf2.c: Likewise.
3785         * tests/test-trunc2.c: Likewise.
3786         * tests/test-truncf2.c: Likewise.
3787         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3788         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3790 2020-08-15  Bruno Haible  <bruno@clisp.org>
3792         Fix compilation errors in C++ mode with clang on native Windows.
3793         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
3794         non-glibc systems.
3795         * lib/sched.in.h (sched_yield): Likewise.
3797 2020-08-14  Bruno Haible  <bruno@clisp.org>
3799         stdnoreturn: Work around problem with MSVC/clang.
3800         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
3801         system header after <stdnoreturn.h>.
3802         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
3804 2020-08-14  Bruno Haible  <bruno@clisp.org>
3806         utime-h: Generate an utime.h file always.
3807         * modules/utime-h (Makefile.am): Generate utime.h always.
3808         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
3809         GL_GENERATE_UTIME_H.
3811 2020-08-14  Bruno Haible  <bruno@clisp.org>
3813         mktime, mktime-internal: Remove obsolete code.
3814         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
3816 2020-08-14  Bruno Haible  <bruno@clisp.org>
3818         getcwd: Remove obsolete code.
3819         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
3820         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3822 2020-08-14  Bruno Haible  <bruno@clisp.org>
3824         tzset: Assume the function exists.
3825         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
3826         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
3827         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
3828         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
3829         HAVE_TZSET.
3830         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
3831         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
3833         nstrftime: Assume tzset exists.
3834         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
3835         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
3836         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
3838         mktime, mktime-internal: Assume tzset exists.
3839         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
3840         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
3842 2020-08-14  Bruno Haible  <bruno@clisp.org>
3844         strdup: Assume the function exists.
3845         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
3846         whether strdup exists.
3847         * modules/strdup (Files): Remove lib/strdup.c.
3848         (configure.ac): Don't compile strdup.c.
3849         * modules/strdup-posix (Depends-on, configure.ac): Don't test
3850         ac_cv_func_strdup.
3851         * doc/posix-functions/strdup.texi: Update.
3852         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
3853         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
3854         (Depends-on): Remove unistr/u8-strlen.
3856 2020-08-13  Bruno Haible  <bruno@clisp.org>
3858         sys_random: Work around an uClibc bug.
3859         Reported by akater <nuclearspace@gmail.com>
3860         via Stefan Kangas <stefan@marxist.se>
3861         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
3862         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
3863         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
3864         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
3865         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
3867 2020-08-12  Bruno Haible  <bruno@clisp.org>
3869         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
3870         Reported by Florian Weimer in
3871         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
3872         * lib/gen-uni-tables.c (output_predicate): Change the element type of
3873         the level3 array to 'unsigned int'.
3874         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
3875         * lib/unictype/categ_*.h: Regenerated.
3876         * lib/unictype/ctype_*.h: Regenerated.
3877         * lib/unictype/pr_*.h: Regenerated.
3878         * lib/unictype/sy_*.h: Regenerated.
3879         * lib/unicase/cased.h: Regenerated.
3880         * lib/unicase/ignorable.h: Regenerated.
3882 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
3884         stdint: port intptr_t to more-recent MinGW
3885         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
3886         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
3887         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
3888         Apparently those two macros were removed in mingwrt-3.22
3889         dated 2016-07-14.
3891 2020-08-12  Bruno Haible  <bruno@clisp.org>
3893         thread-optim: Export function-like macros only.
3894         Suggested by Paul Eggert.
3895         * lib/thread-optim.h (gl_multithreaded): New macro.
3896         (IF_MT_DECL, IF_MT): Remove macros.
3897         * doc/multithread.texi (Multithreading Optimizations): Add a small
3898         example.
3899         * lib/fatal-signal.c: Update all uses.
3900         * lib/clean-temp.c: Likewise.
3901         * lib/localename.c: Likewise.
3902         * modules/localename (Depends-on): Add stdbool.
3904 2020-08-12  Bruno Haible  <bruno@clisp.org>
3906         Revert autoupdate's revert.
3907         * config/srclist.txt: Mark regex.h as needing sync with glibc.
3909 2020-08-11  Bruno Haible  <bruno@clisp.org>
3911         thread-optim: Fix a compiler warning.
3912         * lib/thread-optim.h (IF_MT_DECL): Define differently.
3914 2020-08-11  Bruno Haible  <bruno@clisp.org>
3916         Use __restrict also on clang.
3917         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
3918         (__restrict_arr): On clang, define like on GCC.
3919         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
3920         (_Restrict_arr_): Use _Restrict_ also on clang.
3921         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
3922         (_Restrict_arr_): Use _Restrict_ also on clang.
3924 2020-08-11  Bruno Haible  <bruno@clisp.org>
3926         Use flexible array syntax also on clang.
3927         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
3928         define like for GCC 3.
3930 2020-08-11  Bruno Haible  <bruno@clisp.org>
3932         fcntl: On native Windows, use _setmode, not setmode.
3933         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
3934         * lib/binary-io.h: Update comment.
3935         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
3936         * tests/test-dup2.c: Likewise.
3937         * tests/test-dup-safer.c: Likewise.
3938         * tests/test-fcntl.c: Likewise.
3940 2020-08-11  Bruno Haible  <bruno@clisp.org>
3942         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
3943         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
3944         * lib/spawn-pipe.c (create_pipe): Likewise.
3945         * tests/test-nonblocking-pipe-main.c (main): Likewise.
3946         * tests/test-nonblocking-socket-main.c (main): Likewise.
3947         * lib/wait-process.c: Update comment.
3948         * doc/posix-functions/fork.texi: Update.
3950 2020-08-11  Bruno Haible  <bruno@clisp.org>
3952         asyncsafe-spin: Use GCC built-ins also on clang.
3953         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
3954         the newer GCC built-ins also on clang.
3956 2020-08-11  Bruno Haible  <bruno@clisp.org>
3958         Use expression statements also on clang.
3959         * lib/cdefs.h (__extension__): Don't define to empty on clang.
3960         * lib/obstack.h (__extension__): Likewise.
3961         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
3962         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
3963         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
3964         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
3965         obstack_finish, obstack_free): Enable as optimized macros also on clang.
3966         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
3968 2020-08-10  Bruno Haible  <bruno@clisp.org>
3970         Use many __attribute__s with clang.
3971         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
3972         on clang.
3973         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
3974         New macros.
3975         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
3976         on clang.
3977         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
3978         also on older clang versions.
3979         (__attribute__): Don't define to empty on clang.
3980         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
3981         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
3982         (__attribute_const__): Use __attribute__ __const__ also on clang.
3983         (__attribute_used__): Use __attribute__ __used__ also on clang.
3984         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
3985         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
3986         clang.
3987         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
3988         clang.
3989         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
3990         also on clang.
3991         (__nonnull): Use __attribute__ __nonnull__ also on clang.
3992         (__attribute_warn_unused_result__): Use __attribute__
3993         __warn_unused_result__ also on clang.
3994         (__always_inline): Use __attribute__ __always_inline__ also on clang.
3995         (__attribute_artificial__): Use __attribute__ __artificial__ also on
3996         clang >= 7.
3997         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
3998         clang versions.
3999         (_Noreturn): Don't redefine on clang >= 3.5.
4000         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
4001         also on clang.
4002         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
4003         on clang.
4004         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4005         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4006         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4007         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
4008         also on clang.
4009         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
4010         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
4011         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
4012         also on clang.
4013         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
4014         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
4015         __attribute__ __noreturn__ also on clang.
4016         * lib/obstack.h (__attribute_noreturn__): Likewise.
4017         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
4018         clang.
4019         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
4020         always_inline also on clang.
4021         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
4022         clang.
4024 2020-08-10  Bruno Haible  <bruno@clisp.org>
4026         c-ldtoastr tests: Fix test failure.
4027         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
4028         is longer than 'double'.
4030 2020-08-10  Bruno Haible  <bruno@clisp.org>
4032         Revert autoupdate's revert.
4033         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
4035 2020-08-09  Bruno Haible  <bruno@clisp.org>
4037         string: Fix build error in C++ mode with clang (regression from today).
4038         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
4039         parameters, one for GCC, one for clang.
4040         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
4041         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
4042         as return type.
4044 2020-08-09  Bruno Haible  <bruno@clisp.org>
4046         ftruncate: Use _chsize, not chsize.
4047         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
4048         * lib/ftruncate.c: Test HAVE__CHSIZE.
4049         (chsize_nothrow): Use _chsize, not chsize.
4051 2020-08-09  Bruno Haible  <bruno@clisp.org>
4053         Silence warnings from clang 10 with -Wimplicit-fallthrough.
4054         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
4055         clang >= 10.
4056         * lib/fnmatch.c (FALLTHROUGH): Likewise.
4057         * lib/fts.c (FALLTHROUGH): Likewise.
4058         * tests/macros.h (FALLTHROUGH): Likewise.
4059         * lib/regex_internal.h (FALLTHROUGH): Likewise.
4060         * config/srclist.txt: Mark it as needing sync with glibc.
4062 2020-08-09  Bruno Haible  <bruno@clisp.org>
4064         stdbool tests: Enable the stricter tests also on clang.
4065         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
4066         (e): Enable the address-to-bool conversion test also on clang.
4068 2020-08-09  Bruno Haible  <bruno@clisp.org>
4070         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
4071         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
4073 2020-08-09  Bruno Haible  <bruno@clisp.org>
4075         Use attribute __aligned__ with clang.
4076         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
4077         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
4079 2020-08-09  Bruno Haible  <bruno@clisp.org>
4081         Use __alignof__ with clang.
4082         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
4083         on clang.
4084         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
4085         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
4086         clang.
4087         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
4088         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
4089         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
4090         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
4092 2020-08-09  Bruno Haible  <bruno@clisp.org>
4094         ignore-value: Simplify on clang.
4095         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
4096         workaround.
4098 2020-08-09  Bruno Haible  <bruno@clisp.org>
4100         Use __typeof__ with clang.
4101         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
4102         "clang -std=gnu99".
4103         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
4104         * tests/test-stdint.c (verify_same_types): Enable the check also on
4105         clang.
4107 2020-08-09  Bruno Haible  <bruno@clisp.org>
4109         Add ability to emit user-defined warnings and errors with clang.
4110         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
4111         _GL_ATTRIBUTE_WARNING using an attribute for clang.
4112         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
4113         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
4114         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
4115         attribute for clang.
4117 2020-08-09  Bruno Haible  <bruno@clisp.org>
4119         intprops: Fix typo in comment.
4120         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
4122 2020-08-09  Bruno Haible  <bruno@clisp.org>
4124         Use __builtin_signbit* with clang.
4125         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
4126         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
4127         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
4128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
4129         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
4130         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
4131         not REPLACE_SIGNBIT_USING_GCC.
4133 2020-08-09  Bruno Haible  <bruno@clisp.org>
4135         Use __builtin_isnan with clang.
4136         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
4137         not __builtin_isnanf. Also on clang.
4138         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
4139         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
4140         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
4141         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
4142         built-in.
4143         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
4144         not __builtin_isnanl. Also on clang.
4145         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
4146         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
4147         * lib/math.in.h (__has_builtin): Remove macro.
4148         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
4149         __builtin_isnanf. Also on clang.
4150         (isnand, gl_isnan_d): With clang, use the GCC built-in.
4151         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
4152         __builtin_isnanl. Also on clang.
4153         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
4154         on clang.
4156 2020-08-09  Bruno Haible  <bruno@clisp.org>
4158         thread-optim: Fix logic error.
4159         Reported by Paul Eggert.
4160         * lib/thread-optim.h (IF_MT): Fix logic error.
4162 2020-08-08  Bruno Haible  <bruno@clisp.org>
4164         localename: Use module 'thread-optim'.
4165         * lib/localename.c: Include thread-optim.h.
4166         (struniq): Use IF_MT macro.
4167         * modules/localename (Depends-on): Add thread-optim.
4169         clean-temp: Use module 'thread-optim'.
4170         * lib/clean-temp.c: Include thread-optim.h.
4171         (register_temporary_file, unregister_temporary_file, create_temp_dir,
4172         register_temp_file, unregister_temp_file, register_temp_subdir,
4173         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
4174         close_temp, fclose_variant_temp): Use IF_MT macro.
4175         * modules/clean-temp (Depends-on): Add thread-optim.
4177         fatal-signal: Use module 'thread-optim'.
4178         * lib/fatal-signal.c: Include thread-optim.h.
4179         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
4180         macro.
4181         * modules/fatal-signal (Depends-on): Add thread-optim.
4183 2020-08-08  Bruno Haible  <bruno@clisp.org>
4185         New module 'thread-optim'.
4186         * lib/thread-optim.h: New file.
4187         * modules/thread-optim: New file.
4188         * doc/multithread.texi (Multithreading Optimizations): New section.
4190 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
4192         doc: more updates for glibc 2.32
4193         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
4194         * doc/posix-functions/fchmodat.texi: Update.
4196 2020-08-07  Bruno Haible  <bruno@clisp.org>
4198         doc: Update for glibc 2.32.
4199         * doc/glibc-functions/__libc_single_threaded.texi: New file.
4200         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
4201         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
4202         * doc/glibc-functions/sigabbrev_np.texi: New file.
4203         * doc/glibc-functions/sigdescr_np.texi: New file.
4204         * doc/glibc-functions/strerrordesc_np.texi: New file.
4205         * doc/glibc-functions/strerrorname_np.texi: New file.
4206         * doc/gnulib.texi: Include them.
4207         (Glibc sys/single_threaded.h): New section.
4208         * doc/pastposix-functions/h_errno.texi: Update.
4209         * doc/posix-functions/*.texi: Likewise.
4210         * doc/glibc-functions/*.texi: Likewise.
4212 2020-08-07  Bruno Haible  <bruno@clisp.org>
4214         alloca: No need to compile alloca.c with clang.
4215         * lib/alloca.c: Skip all code with clang.
4217         Use __builtin_alloca with clang.
4218         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
4220 2020-08-06  Bruno Haible  <bruno@clisp.org>
4222         Use __builtin_assume with clang.
4223         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
4224         (assume): Use __builtin_assume when available.
4226 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4228         libgmp: add <gmp/gmp.h> support
4229         * m4/libgmp.m4 (gl_LIBGMP):
4230         * modules/libgmp (configure.ac, Makefile.am):
4231         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
4232         ‘#include <gmp.h>’.
4234 2020-08-06  Bruno Haible  <bruno@clisp.org>
4236         Consider that clang defines __OPTIMIZE__ like GCC does.
4237         * lib/streq.h: Define the inline functions also on clang.
4238         * lib/c-strcaseeq.h: Likewise.
4239         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
4240         the GCC workaround to clang.
4242 2020-08-06  Bruno Haible  <bruno@clisp.org>
4244         safe-alloc: Remove unused code.
4245         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
4247 2020-08-06  Bruno Haible  <bruno@clisp.org>
4249         Use __builtin_expect with clang everywhere.
4250         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
4251         also on clang.
4253 2020-08-05  Bruno Haible  <bruno@clisp.org>
4255         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
4256         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
4257         built-in also on clang.
4258         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
4259         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
4261 2020-08-05  Bruno Haible  <bruno@clisp.org>
4263         Use __builtin_clz{,l,ll} with clang, also on Windows.
4264         * lib/integer_length.c: With clang, use the GCC built-in, not
4265         <intrin.h>.
4266         * lib/integer_length_l.c: Likewise.
4267         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
4268         also on clang.
4269         * lib/vasnprintf.c (divide): Likewise.
4271 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
4273         Update srclist.txt as per recent glibc changes
4274         * config/srclist.txt: Uncomment lines to reflect recent merges
4275         from Gnulib to glibc.
4277 2020-08-03  Bruno Haible  <bruno@clisp.org>
4279         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4280         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
4282 2020-08-03  Bruno Haible  <bruno@clisp.org>
4284         integer_length_ll: Optimize for MSVC in 64-bit mode.
4285         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4286         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4288 2020-08-03  Bruno Haible  <bruno@clisp.org>
4290         integer_length_ll: Optimize for MSVC in 32-bit mode.
4291         * lib/integer_length_l.c: Include <intrin.h>.
4292         (integer_length): Define as inline function, like in
4293         lib/integer_length.c.
4295 2020-08-03  Bruno Haible  <bruno@clisp.org>
4297         integer_length: Optimize for MSVC.
4298         * lib/integer_length.c: Include <intrin.h>.
4299         (integer_length): With MSVC, use the _BitScanReverse built-in.
4301 2020-08-03  Bruno Haible  <bruno@clisp.org>
4303         ffsll: Optimize for MSVC in 64-bit mode.
4304         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4305         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4306         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
4308 2020-08-03  Bruno Haible  <bruno@clisp.org>
4310         ffsll: Optimize for MSVC in 32-bit mode.
4311         * lib/ffsl.h: Include <intrin.h>.
4312         (ffs): Define as inline function, like in lib/ffs.c.
4314 2020-08-03  Bruno Haible  <bruno@clisp.org>
4316         ffs: Optimize for MSVC.
4317         * lib/ffs.c: Include <intrin.h>.
4318         (ffs): With MSVC, use the _BitScanForward built-in.
4320 2020-08-03  Bruno Haible  <bruno@clisp.org>
4322         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
4323         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
4324         variable.
4326 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
4328         fopen: Avoid undesired interactions with glibc headers.
4329         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
4330         __need_FILE, as the latter does not work with glibc.
4332 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
4334         fcntl: document some F_SETLK errno variations
4335         * doc/posix-functions/fcntl.texi (fcntl): Document
4336         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
4338 2020-08-02  Bruno Haible  <bruno@clisp.org>
4340         oset: Add an 'iterator_atleast' operation.
4341         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
4342         extracted from gl_array_search_atleast.
4343         (gl_array_search_atleast): Use it.
4344         (gl_array_iterator_atleast): New function.
4345         (gl_array_oset_implementation): Use it.
4346         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
4347         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
4348         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
4349         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
4350         member.
4351         (gl_oset_iterator_atleast): New function.
4352         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
4353         (gl_OSet::iterator): Add another auxiliary constructor.
4354         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
4355         New functions.
4356         (main): Test also gl_oset_iterator_atleast.
4357         * tests/test-avltree_oset.c (is_at_least): New function.
4358         (main): Test also gl_oset_iterator_atleast.
4359         * tests/test-rbtree_oset.c (is_at_least): New function.
4360         (main): Test also gl_oset_iterator_atleast.
4361         * tests/test-oset-c++.cc (is_at_most): New function.
4362         (main): Test also gl_OSet::begin_atleast.
4364 2020-08-02  Bruno Haible  <bruno@clisp.org>
4366         oset-c++, omap-c++: Remove restriction for search_atleast method.
4367         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
4368         a different type than the element.
4369         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
4370         a different type than the key.
4372 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
4374         gnumakefile: say ‘$(MAKE)’ not ‘make’
4375         * top/GNUmakefile (abort-due-to-no-makefile):
4376         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
4377         This change is backported from Autoconf.
4379 2020-08-01  Bruno Haible  <bruno@clisp.org>
4381         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4382         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
4383         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
4384         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
4385         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
4386         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
4388 2020-08-01  Bruno Haible  <bruno@clisp.org>
4390         libtextstyle-optional: Update tests.
4391         * modules/libtextstyle-optional-tests (configure.ac): Invoke
4392         gl_LIBTEXTSTYLE_OPTIONAL.
4394 2020-08-01  Bruno Haible  <bruno@clisp.org>
4396         parse-datetime: Fix wrong #line statements.
4397         * modules/parse-datetime (Makefile.am): Correct #line statements also in
4398         parse-datetime-gen.h.
4400 2020-08-01  Bruno Haible  <bruno@clisp.org>
4402         libtextstyle[-optional]: Allow requesting a minimum version.
4403         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
4404         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
4405         gl_LIBTEXTSTYLE_SEARCH): New macros.
4406         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
4407         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
4408         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
4409         * modules/libtextstyle-optional (configure.ac): Don't invoke
4410         gl_LIBTEXTSTYLE_OPTIONAL.
4411         * NEWS: Mention the changes.
4413 2020-07-31  Bruno Haible  <bruno@clisp.org>
4415         _GL_CMP: Improve documentation.
4416         Reported by Paul Eggert in
4417         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
4418         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
4419         passed.
4421 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4423         largefile: sync with Autoconf master
4424         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
4425         Avoid undefined behavior on platforms where off_t is 32 bits.
4426         See: https://bugs.debian.org/742780
4428         alloca: sync with Autoconf master
4429         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4430         Do not define if Autoconf 2.70 or later, since Autoconf master
4431         now matches us.
4433 2020-07-30  Bruno Haible  <bruno@clisp.org>
4435         unicodeio: Add comment.
4436         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
4437         different iconv behaviours.
4439 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4441         Work around some Oracle Studio attribute bugs
4442         These were discovered when building bleeding-edge Emacs with
4443         Oracle Studio.
4444         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
4445         Port to Oracle Studio 12.6, which mishandles __attribute__
4446         ((__cold__)) and __attribute__ ((__may_alias__)) even though
4447         __has_attribute says they work.
4449 2020-07-29  Bruno Haible  <bruno@clisp.org>
4451         unicodeio: Fix wrong result on musl libc.
4452         Reported by A. Wilcox <awilfox@adelielinux.org> in
4453         <https://www.openwall.com/lists/musl/2020/07/29/2>.
4454         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
4455         on musl libc.
4456         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
4457         * modules/unicodeio (Files): Add m4/musl.m4.
4459 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
4461         fsusage, regex, stat-size: remove Cray support
4462         As near as I can make out this is actually support for UNICOS/mp,
4463         last released 2005, and Cray hasn’t supported that for years.
4464         * config/srclist.txt: Comment out regex.h for now.
4465         * lib/fsusage.c (get_fs_usage):
4466         * lib/regex.h (re_comp, re_exec):
4467         * lib/stat-size.h (ST_NBLOCKSIZE):
4468         Don’t worry about _CRAY.
4470 2020-07-29  Bruno Haible  <bruno@clisp.org>
4472         parse-datetime: Fix compilation error with bison 3.7.
4473         * modules/parse-datetime (Makefile.am): Create a generated header file
4474         parse-datetime-gen.h in the source directory. Correct #include and
4475         #line statements during preprocessing.
4477 2020-07-28  Bruno Haible  <bruno@clisp.org>
4479         fopen-gnu: Create files correctly (regression from 2020-05-24).
4480         * lib/fopen.c (rpl_open): Pass a third argument to open().
4482 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
4484         xalloc-die: don’t depend on xalloc
4485         This removes a circular dependency, as xalloc depends on xalloc-die.
4486         * modules/xalloc-die (Files): Add lib/xalloc.h.
4487         (Depends-on): Remove xalloc.
4488         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
4490         dfa-tests: port to MSVC
4491         Problem reported by Gisle Vanem in:
4492         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
4493         Also, remove an unnecessary dependency on getprogname.
4494         * modules/dfa-tests (Depends-on): Remove getprogname.
4495         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
4496         (exit_status): New static var.
4497         (dfawarn): Set it instead of exiting.
4498         Do not declare as _Noreturn, to pacify MSVC.
4499         (main): Return exit_status.
4501 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
4503         argz: pacify MSVC
4504         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
4505         Problem reported by Gisle Vanem.
4507         libgmp: remove dependency on havelib
4508         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
4509         use the more-traditional AC_SEARCH_LIBS approach.
4510         This should work better with GNU Emacs configuration,
4511         which uses pkg-config instead of a havelib-style approach.
4512         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
4513         * modules/libgmp (Depends-on): Remove havelib.
4515         libgmp: remove HAVE_GMP, LIB_GMP
4516         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
4517         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
4519 2020-07-26  Bruno Haible  <bruno@clisp.org>
4521         inttypes: Remove support for AIX 4.
4522         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
4523         * m4/inttypes-pri.m4: Remove file.
4524         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
4525         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
4526         * modules/inttypes-incomplete (Makefile.am): Don't substitute
4527         PRI_MACROS_BROKEN.
4528         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
4530 2020-07-26  Bruno Haible  <bruno@clisp.org>
4532         gettimeofday: Remove workaround for Mac OS X 10.0.
4533         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
4534         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
4535         * lib/gettimeofday.c: Don't include localtime-buffer.h.
4536         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4537         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4538         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
4539         * modules/localtime-buffer: Remove file.
4540         * lib/localtime-buffer.h: Remove file.
4541         * lib/localtime-buffer.c: Remove file.
4542         * m4/localtime-buffer.m4: Remove file.
4543         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
4545 2020-07-26  Bruno Haible  <bruno@clisp.org>
4547         tzset: Remove workaround for Solaris 2.6.
4548         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
4549         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
4550         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
4551         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
4552         * lib/localtime-buffer.c: Likewise.
4553         * lib/localtime.c: Likewise.
4554         * lib/tzset.c: Don't include localtime-buffer.h.
4555         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
4556         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
4557         is 1.
4558         * modules/tzset (Depends-on): Remove localtime-buffer.
4560 2020-07-26  Bruno Haible  <bruno@clisp.org>
4562         expl: Simplify autoconf test.
4563         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
4564         with small values..." test into the "checking whether expl works..."
4565         test.
4567 2020-07-26  Bruno Haible  <bruno@clisp.org>
4569         alloca: Remove Cray-2 and Cray Y-MP support.
4570         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
4571         Enable also on Autoconf >= 2.69.
4572         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
4573         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
4574         i00afunc): Remove.
4576 2020-07-25  Bruno Haible  <bruno@clisp.org>
4578         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
4579         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
4581 2020-07-25  Bruno Haible  <bruno@clisp.org>
4583         sigprocmask: Small autoconf macro improvement.
4584         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
4585         user to override the value of gl_cv_func_sigprocmask.
4586         * m4/gnulib-common.m4 (gl_SILENT): New macro.
4588 2020-07-25  Bruno Haible  <bruno@clisp.org>
4590         Small autoconf macro improvements.
4591         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
4592         override the value of gl_cv_func_working_mktime.
4593         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
4594         compiler produces multi-arch binaries..." in the configure output.
4595         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
4596         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
4598 2020-07-25  Bruno Haible  <bruno@clisp.org>
4600         doc: Update for NetBSD 7.1, 8.0, 9.0.
4601         * doc/*/*.texi: Update.
4602         * m4/exp2l.m4: Update comments.
4603         * m4/expl.m4: Likewise.
4604         * m4/ilogb.m4: Likewise.
4605         * m4/ilogbf.m4: Likewise.
4606         * m4/log10l.m4: Likewise.
4607         * m4/logl.m4: Likewise.
4608         * m4/printf.m4: Likewise.
4609         * m4/rintl.m4: Likewise.
4610         * m4/wcwidth.m4: Likewise.
4612 2020-07-24  Bruno Haible  <bruno@clisp.org>
4614         doc: Update for Mac OS X 10.13.
4615         * doc/*/*.texi: Update.
4616         * m4/expm1l.m4: Update comments.
4617         * m4/getgroups.m4: Likewise.
4618         * m4/getlogin_r.m4: Likewise.
4619         * m4/linkat.m4: Likewise.
4620         * m4/printf.m4: Likewise.
4622 2020-07-24  Bruno Haible  <bruno@clisp.org>
4624         doc: Update for Cygwin 2.9.0.
4625         * doc/*/*.texi: Update.
4627 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4629         parse-datetime: modernize doc
4630         * doc/parse-datetime.texi: Use more-current examples.
4631         Don’t lead with 32-bit time_t, as it’s on its way out.
4632         Capitalize “Epoch” to be consistent with POSIX.
4634         timespec: remove dependence on ‘verify’
4635         * lib/timespec.h: Do not include verify.h; no longer needed.
4636         * modules/timespec (Depends-on): Remove ‘verify’.
4638         Optimize a few more three-valued comparisons
4639         * lib/timespec.h (timespec_cmp, timespec_sign):
4640         * lib/utimecmp.c (utimecmpat):
4641         Avoid conditional branches by using _GL_CMP.
4643         Fix _GL_CMP parenthesization typo
4644         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
4646 2020-07-24  Bruno Haible  <bruno@clisp.org>
4648         dfa: Revert breaking gawk.
4649         Reported by Arnold Robbins <arnold@skeeve.com>.
4650         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
4652 2020-07-23  Bruno Haible  <bruno@clisp.org>
4654         Optimize three-valued comparison between integers.
4655         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
4656         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
4657         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
4658         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
4659         * lib/dfa.c (compare): Likewise.
4660         * lib/fts.c (fts_compare_ino): Likewise.
4661         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
4662         * lib/mbscasecmp.c (mbscasecmp): Likewise.
4663         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
4664         * lib/memcasecmp.c (memcasecmp): Likewise.
4665         * lib/memcmp2.c (memcmp2): Likewise.
4666         * lib/savedir.c (direntry_cmp_inode): Likewise.
4667         * lib/strcasecmp.c (strcasecmp): Likewise.
4668         * lib/strncasecmp.c (strncasecmp): Likewise.
4669         * lib/unistr/u-cmp2.h (FUNC): Likewise.
4671 2020-07-23  Bruno Haible  <bruno@clisp.org>
4673         lchmod: Use /proc on Cygwin.
4674         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
4676 2020-07-23  Ken Brown  <kbrown@cornell.edu>
4678         fchmodat: Use /proc on Cygwin
4679         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
4681 2020-07-21  Bruno Haible  <bruno@clisp.org>
4683         aligned-malloc: Optionally use aligned_alloc.
4684         * lib/aligned-malloc.h: Verify the alignment.
4685         (aligned_malloc): Use aligned_alloc as an alternative.
4686         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
4687         * doc/posix-functions/aligned_alloc.texi: Mention the modules
4688         'aligned-malloc' and 'pagealign_alloc'.
4690 2020-07-21  Bruno Haible  <bruno@clisp.org>
4692         aligned-malloc: Add tests.
4693         * tests/test-aligned-malloc.c: New file.
4694         * modules/aligned-malloc-tests: New file.
4696         aligned-malloc: New module.
4697         * lib/aligned-malloc.h: New file.
4698         * m4/malloc-align.m4: New file.
4699         * modules/aligned-malloc: New file.
4700         * doc/posix-functions/posix_memalign.texi: Mention the new module.
4701         * doc/glibc-functions/memalign.texi: Likewise.
4703 2020-07-21  Bruno Haible  <bruno@clisp.org>
4705         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
4706         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
4707         sure PRIPTR_PREFIX is defined to "ll", not "l".
4709 2020-07-21  Bruno Haible  <bruno@clisp.org>
4711         printf-posix: Make an autoconf test more future-proof.
4712         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
4713         using uintptr_t.
4715 2020-07-20  Bruno Haible  <bruno@clisp.org>
4717         list, oset, omap: Relicense some of the container modules under LGPLv2+.
4718         * modules/list (License): Change to LGPLv2+.
4719         * modules/array-list (License): Likewise.
4720         * modules/carray-list (License): Likewise.
4721         * modules/linked-list (License): Likewise.
4722         * modules/avltree-list (License): Likewise.
4723         * modules/rbtree-list (License): Likewise.
4724         * modules/oset (License): Likewise.
4725         * modules/array-oset (License): Likewise.
4726         * modules/avltree-oset (License): Likewise.
4727         * modules/rbtree-oset (License): Likewise.
4728         * modules/omap (License): Likewise.
4729         * modules/array-omap (License): Likewise.
4730         * modules/avltree-omap (License): Likewise.
4731         * modules/rbtree-omap (License): Likewise.
4733 2020-07-20  Bruno Haible  <bruno@clisp.org>
4735         oset: Add an 'update' operation.
4736         * lib/gl_array_oset.c (gl_array_update): New function.
4737         (gl_array_oset_implementation): Use it.
4738         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
4739         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
4740         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
4741         extracted from gl_tree_nx_add_before.
4742         (gl_tree_nx_add_before): Invoke it.
4743         (gl_tree_add_node_after): New function, extracted from
4744         gl_tree_nx_add_after.
4745         (gl_tree_nx_add_after): Invoke it.
4746         (gl_tree_remove_node_no_free): New function, extracted from
4747         gl_tree_remove_node.
4748         (gl_tree_remove_node): Invoke it.
4749         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
4750         extracted from gl_tree_nx_add_before.
4751         (gl_tree_nx_add_before): Invoke it.
4752         (gl_tree_add_node_after): New function, extracted from
4753         gl_tree_nx_add_after.
4754         (gl_tree_nx_add_after): Invoke it.
4755         (gl_tree_remove_node_no_free): New function, extracted from
4756         gl_tree_remove_node.
4757         (gl_tree_remove_node): Invoke it.
4758         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
4759         from gl_tree_iterator_next.
4760         (gl_tree_iterator_next): Invoke it.
4761         (gl_tree_prev_node, gl_tree_update): New functions.
4762         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
4763         (gl_avltree_oset_implementation): Use gl_tree_update.
4764         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
4765         (gl_rbtree_oset_implementation): Use gl_tree_update.
4766         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
4767         (gl_oset_update): New function.
4768         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
4769         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
4770         * modules/rbtree-oset (configure.ac): Likewise.
4771         * tests/test-oset-update.h: New file.
4772         * tests/test-array_oset.c: Include test-oset-update.h.
4773         (main): Invoke test_update.
4774         * tests/test-avltree_oset.c: Likewise.
4775         * tests/test-rbtree_oset.c: Likewise.
4776         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
4777         * modules/avltree-oset-tests (Files): Likewise.
4778         * modules/rbtree-oset-tests (Files): Likewise.
4779         * tests/test-oset-c++.cc (action): New function.
4780         (main): Test the 'update' member function.
4782 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
4784         md5, sha1, sha256, sha512: pacify Autoconf 2.70
4785         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
4786         shell if, so that the argument to AC_CHECK_HEADERS is
4787         a simple string that does not require shell evaluation.
4788         This fixes a warning generated by Autoconf 2.69b.
4790 2020-07-12  Bruno Haible  <bruno@clisp.org>
4792         libgmp: Avoid warning when --without-libgmp is used.
4793         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
4794         GCC >= 8, not for GCC >= 4.6.
4796 2020-07-12  Bruno Haible  <bruno@clisp.org>
4798         libgmp: Link to the correct shared library.
4799         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
4800         * modules/libgmp (Depends-on): Add havelib.
4801         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
4802         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
4804 2020-07-12  Bruno Haible  <bruno@clisp.org>
4806         libgmp tests: Add some safety checks.
4807         * modules/libgmp-tests (Depends-on): Add verify.
4808         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
4809         (main): Verify that gmp.h and libgmp versions match.
4811 2020-07-10  Bruno Haible  <bruno@clisp.org>
4813         unicodeio: Fix wrong result on NetBSD.
4814         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
4815         characters also on NetBSD.
4817 2020-07-09  Bruno Haible  <bruno@clisp.org>
4819         unicodeio: Fix wrong result on Solaris 11.
4820         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
4821         via Akim Demaille <akim.demaille@gmail.com> in
4822         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
4823         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
4824         characters on Solaris.
4825         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
4826         UTF-8 output or the specified fallback.
4828 2020-07-08  Bruno Haible  <bruno@clisp.org>
4830         unicodeio: Add tests.
4831         * tests/test-unicodeio.c: New file.
4832         * tests/test-unicodeio1.sh: New file.
4833         * tests/test-unicodeio2.sh: New file.
4834         * tests/test-unicodeio3.sh: New file.
4835         * modules/unicodeio-tests: New file.
4837 2020-07-08  Bruno Haible  <bruno@clisp.org>
4839         unicodeio: Document link requirements.
4840         * modules/unicodeio (Link): New section.
4842 2020-07-07  Bruno Haible  <bruno@clisp.org>
4844         doc: Remove support for some very old platforms.
4845         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
4846         * doc/posix-functions/memcpy.texi: Likewise.
4847         * doc/posix-functions/memmove.texi: Likewise.
4848         * doc/posix-functions/memset.texi: Likewise.
4849         * doc/posix-functions/getcwd.texi: Likewise.
4851         memchr: Remove support for some very old platforms.
4852         * m4/memchr-obsolete.m4: Remove file.
4853         * modules/memchr-obsolete: Remove file.
4854         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
4855         absent. Don't define HAVE_MEMCHR.
4856         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
4857         * modules/memchr (Depends-on): Remove memchr-obsolete.
4858         (configure.ac): Assume HAVE_MEMCHR is 1.
4859         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
4860         HAVE_MEMCHR.
4861         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
4862         * doc/posix-functions/memchr.texi: Don't mention module
4863         'memchr-obsolete'.
4864         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
4865         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
4866         * modules/strnlen (Depends-on): Remove memchr-obsolete.
4868         dup2: Remove support for some very old platforms.
4869         * m4/dup2-obsolete.m4: Remove file.
4870         * modules/dup2-obsolete: Remove file.
4871         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
4872         Don't define HAVE_DUP2.
4873         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
4874         * lib/dup2.c: Likewise.
4875         * modules/dup2 (Depends-on, configure.ac): Likewise.
4876         (Depends-on): Remove dup2-obsolete.
4877         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
4878         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
4879         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
4881 2020-07-07  Bruno Haible  <bruno@clisp.org>
4883         canonicalize: Trim module dependencies.
4884         * lib/hash-triple.h: Group declarations.
4885         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
4886         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
4887         (STREQ): Remove macro.
4888         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
4889         * modules/hash-triple-simple: New file, based on modules/hash-triple.
4890         * modules/hash-triple (Files): Remove lib/hash-triple.h.
4891         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
4892         * modules/canonicalize (Depends-on): Remove hash-triple. Add
4893         hash-triple-simple.
4894         * modules/file-set (Depends-on): Likewise.
4896 2020-07-07  Bruno Haible  <bruno@clisp.org>
4898         Clarify dependencies to double-slash-root.
4899         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
4900         (Depends-on): Add double-slash-root.
4901         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
4902         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
4904 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4906         libgmp: new module
4907         The idea is to let programs simply include <gmp.h>, and
4908         so long as they live within the mini-gmp subset they need
4909         not worry about whether the GMP libraries are installed.
4910         * MODULES.html.sh: Mention it.
4911         * config/srclist.txt: Mention files copied from GMP source.
4912         * config/srclistvars.sh (GMP): New var.
4913         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
4914         * modules/libgmp-tests, tests/test-libgmp.c: New files.
4915         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
4917 2020-07-05  Bruno Haible  <bruno@clisp.org>
4919         mkancesdirs: Trim module dependencies.
4920         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
4921         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
4923 2020-07-05  Bruno Haible  <bruno@clisp.org>
4925         getprogname: Trim module dependencies.
4926         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
4927         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
4928         basename-lgpl.
4930 2020-07-05  Bruno Haible  <bruno@clisp.org>
4932         filenamecat-lgpl: Trim module dependencies.
4933         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
4934         dirname.h.
4935         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
4936         basename-lgpl, filename.
4938 2020-07-05  Bruno Haible  <bruno@clisp.org>
4940         backupfile, backup-rename: Trim module dependencies.
4941         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
4942         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
4943         basename-lgpl.
4944         * modules/backup-rename (Depends-on): Likewise.
4946 2020-07-05  Bruno Haible  <bruno@clisp.org>
4948         argp: Trim module dependencies.
4949         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
4950         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
4952 2020-07-05  Bruno Haible  <bruno@clisp.org>
4954         basename-lgpl: New module.
4955         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
4956         lib/basename-lgpl.c.
4957         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
4958         <stdbool.h>, filename.h.
4959         (last_component): Rename a local variable.
4960         * lib/dirname.h: Include basename-lgpl.h.
4961         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
4962         (last_component, base_len): Remove declarations.
4963         * modules/basename-lgpl: New file.
4964         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
4965         (Depends-on): Add basename-lgpl. Remove double-slash-root.
4966         (Makefile.am): Don't compile basename-lgpl.c.
4967         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
4968         not 'dirname'.
4970 2020-07-05  Bruno Haible  <bruno@clisp.org>
4972         dirname, dirname-lgpl: Simplify.
4973         * m4/dirname.m4: Remove file.
4974         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
4975         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
4976         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
4978 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
4980         tests: avoid shadowing warning
4981         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
4983 2020-07-05  Bruno Haible  <bruno@clisp.org>
4985         supersede: Add tests.
4986         * tests/test-supersede.c: New file.
4987         * tests/test-supersede-open.h: New file.
4988         * tests/test-supersede-fopen.h: New file.
4989         * modules/supersede-tests: New file.
4991         supersede: New module.
4992         * lib/supersede.h: New file.
4993         * lib/supersede.c: New file.
4994         * m4/supersede.m4: New file.
4995         * modules/supersede: New file.
4997 2020-07-05  Bruno Haible  <bruno@clisp.org>
4999         Add some copyright headers.
5000         * lib/dev-ino.h: Add copyright header.
5001         * lib/di-set.h: Likewise.
5002         * lib/fchown-stub.c: Likewise.
5003         * lib/file-set.h: Likewise.
5004         * lib/hash-triple.h: Likewise.
5005         * lib/idcache.h: Likewise.
5006         * lib/ino-map.h: Likewise.
5007         * lib/mkancesdirs.h: Likewise.
5008         * lib/scratch_buffer.h: Likewise.
5009         * lib/se-context.in.h: Likewise.
5010         * lib/stdopen.h: Likewise.
5011         * lib/userspec.h: Likewise.
5013 2020-07-04  Bruno Haible  <bruno@clisp.org>
5015         getrandom: Relicense under LGPLv2+.
5016         Paul Eggert's approval is in
5017         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
5018         * modules/getrandom (License): Change to LGPLv2+.
5020 2020-07-04  Bruno Haible  <bruno@clisp.org>
5022         getumask: Add tests.
5023         * tests/test-getumask.c: New file.
5024         * modules/getumask-tests: New file.
5026         getumask: New module.
5027         * lib/sys_stat.in.h (getumask): New declaration.
5028         * lib/getumask.c: New file.
5029         * m4/getumask.m4: New file.
5030         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
5031         declared.
5032         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
5033         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
5034         HAVE_GETUMASK.
5035         * modules/getumask: New file.
5036         * tests/test-sys_stat-c++.cc (getumask): Check signature.
5037         * doc/glibc-functions/getumask.texi: New file.
5038         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
5040 2020-07-04  Bruno Haible  <bruno@clisp.org>
5042         clean-temp: Add support for temporary files with given mode.
5043         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
5044         * lib/clean-temp.c (struct try_create_file_params): New type.
5045         (try_create_file): New function.
5046         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
5047         gen_tempname.
5049 2020-07-04  Bruno Haible  <bruno@clisp.org>
5051         clean-temp: Document limitations.
5052         * lib/clean-temp.h: Document limitations.
5054 2020-07-04  Bruno Haible  <bruno@clisp.org>
5056         clean-temp: Add support for temporary files with unpredictable names.
5057         * lib/clean-temp.h (gen_register_open_temp): New declaration.
5058         * lib/clean-temp.c: Include tempname.h.
5059         (gen_register_open_temp): New function.
5060         * modules/tempname (configure.ac): Define a module indicator.
5062 2020-07-04  Bruno Haible  <bruno@clisp.org>
5064         clean-temp: Add support for temporary files anywhere in the file system.
5065         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
5066         cleanup_temporary_file): New declarations.
5067         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
5068         variables.
5069         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
5070         (dir_cleanup_list): Renamed from cleanup_list.
5071         (cleanup_action): Process the file_cleanup_list as well.
5072         (do_init_clean_temp): New function.
5073         (clean_temp_once): New variable.
5074         (init_clean_temp): New function.
5075         (create_temp_dir): Invoke it.
5076         (register_temporary_file, unregister_temporary_file,
5077         cleanup_temporary_file): New functions.
5078         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
5079         argument.
5081 2020-07-04  Bruno Haible  <bruno@clisp.org>
5083         clean-temp: Improve comments.
5084         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5085         fwriteerror_temp, close_stream_temp): Clarify intended use.
5086         * lib/clean-temp.c: Likewise.
5088 2020-07-04  Bruno Haible  <bruno@clisp.org>
5090         clean-temp: Make multithread-safe, part 2.
5091         * lib/fatal-signal.h: Include <signal.h>.
5092         (get_fatal_signal_set): New declaration.
5093         * lib/fatal-signal.c (get_fatal_signal_set): New function.
5094         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
5095         (struct closeable_fd): New type.
5096         (fatal_signal_set): New variable.
5097         (init_fatal_signal_set): New function.
5098         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
5099         (cleanup_action): Invoke asyncsafe_close instead of close.
5100         (create_temp_dir): Invoke init_fatal_signal_set.
5101         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
5102         element.
5103         (unregister_fd): Remove function.
5104         (close_temp): Cleanup descriptors list on the fly. Invoke
5105         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
5106         (fclose_variant_temp): New function.
5107         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
5108         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
5110 2020-07-04  Bruno Haible  <bruno@clisp.org>
5112         clean-temp: Make multithread-safe, part 1.
5113         * lib/clean-temp.c: Include glthread/lock.h.
5114         (cleanup_list_lock): New variable.
5115         (register_temp_file, unregister_temp_file, register_temp_subdir,
5116         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
5117         (create_temp_dir): Likewise. Don't free the old array.
5118         (descriptors_lock): New variable.
5119         (register_fd, unregister_fd): Use it.
5120         * modules/clean-temp (Depends-on): Add lock.
5122 2020-07-04  Bruno Haible  <bruno@clisp.org>
5124         fatal-signal: Make multithread-safe.
5125         * lib/fatal-signal.c (init_fatal_signals): Add comment.
5126         (do_init_fatal_signal_set): New function, extracted from
5127         init_fatal_signal_set.
5128         (fatal_signal_set_once): New variable.
5129         (init_fatal_signal_set): Use gl_once.
5131 2020-07-03  Bruno Haible  <bruno@clisp.org>
5133         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
5134         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
5135         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
5136         <bcrypt.h>.
5138 2020-07-03  Bruno Haible  <bruno@clisp.org>
5140         dfa tests: Follow common file naming conventions.
5141         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
5142         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
5143         * tests/test-dfa-invalid-char-class.sh: Renamed from
5144         tests/dfa-invalid-char-class.sh. Update.
5145         * modules/dfa-tests (Files, Makefile.am): Update.
5147 2020-07-03  Bruno Haible  <bruno@clisp.org>
5149         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
5150         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
5151         the GCC extended asm syntax also for the Sun Studio 12 compilers.
5153 2020-07-03  Bruno Haible  <bruno@clisp.org>
5155         asyncsafe-spin: Reduce code duplication.
5156         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
5157         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
5158         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
5160 2020-07-03  Bruno Haible  <bruno@clisp.org>
5162         lchmod: Simplify after 2020-02-22 change.
5163         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
5165 2020-07-03  Bruno Haible  <bruno@clisp.org>
5167         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
5168         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
5170 2020-07-03  Bruno Haible  <bruno@clisp.org>
5172         dfa: Make sure the compiler does not barf on 'inline'.
5173         * modules/dfa (configure.ac): Require AC_C_INLINE.
5175 2020-07-03  Bruno Haible  <bruno@clisp.org>
5177         bitset: Make sure the compiler does not barf on 'inline'.
5178         * modules/bitset (configure.ac): New section.
5180 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5182         manywarnings: improve port to GCC 10.1
5183         * build-aux/gcc-warning.spec: Also list warnings that are default
5184         or are enabled by already-given flags.  This lets us speed up
5185         checking for attributes, and makes the generated compilation
5186         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
5187         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
5188         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
5189         to shell variables that may have long values.
5190         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
5191         consequences of other flags, to speed up checking and
5192         shorten commands.
5194         tests: pacify gcc -fanalyzer on zerosize_ptr
5195         * tests/test-memcasecmp.c (main):
5196         * tests/test-memchr.c (main):
5197         * tests/test-memchr2.c (main):
5198         * tests/test-memcmp.c (main):
5199         * tests/test-memmem.c (main):
5200         * tests/test-memrchr.c (main):
5201         * tests/unistr/test-chr.h (main):
5202         * tests/unistr/test-cmp.h (test_cmp):
5203         Check whether zerosize_ptr returns NULL before using it.
5204         This pacifies GCC 10.1’s new fanalyzer option, and matches
5205         other uses of zerosize_ptr.
5207 2020-07-01  Bruno Haible  <bruno@clisp.org>
5209         asyncsafe-spin: Add tests.
5210         * tests/test-asyncsafe-spin1.c: New file.
5211         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
5212         tests/test-pthread-spin.c.
5213         * modules/asyncsafe-spin-tests: New file.
5215 2020-07-01  Bruno Haible  <bruno@clisp.org>
5217         asyncsafe-spin: New module.
5218         * lib/asyncsafe-spin.h: New file.
5219         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
5220         * modules/asyncsafe-spin: New file.
5222 2020-07-01  Bruno Haible  <bruno@clisp.org>
5224         windows-spin: Fix race condition on multiprocessor systems.
5225         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
5227 2020-07-01  Bruno Haible  <bruno@clisp.org>
5229         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
5230         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5231         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
5232         an implementation based on other GCC built-ins.
5234 2020-07-01  Bruno Haible  <bruno@clisp.org>
5236         pthread-spin: Optimize fallback for GCC versions >= 4.7.
5237         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5238         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
5239         lock byte.
5241 2020-07-01  Bruno Haible  <bruno@clisp.org>
5243         pthread-spin: Add error checking.
5244         * lib/pthread-spin.c: Include <stdbool.h>.
5245         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
5246         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
5247         the unlocks.
5248         * modules/pthread-spin (Depends-on): Add stdbool.
5250 2020-07-01  Bruno Haible  <bruno@clisp.org>
5252         pthread-spin: Add tests.
5253         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
5254         * modules/pthread-spin-tests: New file.
5256 2020-07-01  Bruno Haible  <bruno@clisp.org>
5258         tests: Reduce code duplication.
5259         * tests/atomic-int-posix.h: New file, extracted from
5260         tests/test-pthread-mutex.c.
5261         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
5262         * tests/test-pthread-rwlock.c: Likewise.
5263         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
5264         * modules/pthread-rwlock-tests (Files): Likewise.
5266 2020-07-01  Bruno Haible  <bruno@clisp.org>
5268         tests: Refactor.
5269         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
5270         * tests/test-mtx.c: Include it. Remove the corresponding code.
5271         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
5273 2020-07-01  Bruno Haible  <bruno@clisp.org>
5275         tests: Refactor.
5276         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
5277         * tests/test-lock.c: Include it. Remove the corresponding code.
5278         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
5280 2020-06-29  Bruno Haible  <bruno@clisp.org>
5282         sys_socket: Don't define socklen_t if it is already defined on mingw.
5283         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
5284         <https://savannah.gnu.org/bugs/?57725>,
5285         by Rahul Das <bokul_4u@yahoo.com> in
5286         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
5287         and by Eli Zaretskii <eliz@gnu.org> in
5288         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
5289         * lib/sys_socket.in.h (socklen_t): Remove definition.
5291 2020-06-29  Bruno Haible  <bruno@clisp.org>
5293         alloca-opt: Fix warning on mingw.
5294         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
5295         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
5296         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
5297         whether alloca is defined.
5299 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
5301         getrandom: do not depend on ‘open’ on mingw
5302         Similarly for at-internal, getloadavg.  These modules do not call
5303         the ‘open’ function when they are compiled on mingw.  On mingw,
5304         this avoids having to compile open.c when building Emacs, which
5305         does its own thing with ‘open’.
5306         * modules/at-internal, modules/getloadavg, modules/getrandom:
5307         (Depends-on): Don’t depend on ‘open’ on mingw.
5308         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
5309         * modules/getloadavg (Depends-on):
5310         Depend on intprops, open, stdbool, stdlib only if compiling
5311         getloadavg.c.
5313 2020-06-28  Bruno Haible  <bruno@clisp.org>
5315         doc: Add a note about sigprocmask vs. pthread_sigmask.
5316         * doc/posix-functions/sigprocmask.texi: Add note.
5318 2020-06-28  Bruno Haible  <bruno@clisp.org>
5320         getrandom: Fix compilation errors on older versions of mingw.
5321         Reported by Eli Zaretskii <eliz@gnu.org> in
5322         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
5323         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
5324         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
5325         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
5326         BCryptGenRandom ourselves.
5328 2020-06-28  Bruno Haible  <bruno@clisp.org>
5330         clean-temp: Fix wrong errno in error message.
5331         * lib/clean-temp.c (create_temp_dir): Save errno around
5332         unblock_fatal_signals call.
5334 2020-06-27  Bruno Haible  <bruno@clisp.org>
5336         fatal-signal: Make multithread-safe.
5337         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
5339 2020-06-27  Bruno Haible  <bruno@clisp.org>
5341         clean-temp: Don't force deletion of temporary files on native Windows.
5342         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
5343         argument.
5344         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
5345         * NEWS: Mention the change.
5346         * lib/javacomp.c (write_temp_file): Update.
5348 2020-06-27  Bruno Haible  <bruno@clisp.org>
5350         fatal-signal: Make multithread-safe.
5351         * lib/fatal-signal.c: Include glthread/lock.h.
5352         (at_fatal_signal_lock): New variable.
5353         (at_fatal_signal): Use it.
5354         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
5355         (block_fatal_signals, unblock_fatal_signals): Use them.
5356         * modules/fatal-signal (Depends-on): Add lock.
5358 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
5360         getloadavg: don’t depend on fopen-gnu
5361         This is for Emacs, which does not need fopen-gnu for anything else,
5362         and which would need it only on a NetBSD platform where getloadavg
5363         does not work (does that even happen?).
5364         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
5365         * modules/getloadavg (Depends-on): Remove fopen-gnu.
5367         * tests/test-getloadavg.c (main): Fix typo.
5369 2020-06-27  Bruno Haible  <bruno@clisp.org>
5371         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
5372         * modules/tempname (Link): New section.
5373         * modules/mkdtemp (Link): Likewise.
5374         * modules/clean-temp (Link): Likewise.
5375         * modules/mkstemp (Link): Likewise.
5376         * modules/stdlib-safer (Link): Likewise.
5377         * modules/mkstemps (Link): Likewise.
5378         * modules/mkostemp (Link): Likewise.
5379         * modules/mkostemps (Link): Likewise.
5380         * modules/tmpfile (Link): Likewise.
5381         * modules/tmpfile-safer (Link): Likewise.
5382         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
5383         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
5384         $(LIB_GETRANDOM).
5385         * NEWS: Mention the changes.
5387 2020-06-27  Bruno Haible  <bruno@clisp.org>
5389         fopen-gnu: Simplify code.
5390         * lib/fopen.c: Include <stdbool.h>.
5391         (rpl_fopen): Use a single variable open_flags instead of
5392         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
5393         * modules/fopen (Depends-on): Add stdbool.
5395 2020-06-26  Bruno Haible  <bruno@clisp.org>
5397         canonicalize: Improve documentation.
5398         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
5399         return convention.
5401 2020-06-26  Bruno Haible  <bruno@clisp.org>
5403         xgetcwd: Improve documentation.
5404         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
5406 2020-06-26  Bruno Haible  <bruno@clisp.org>
5408         getcwd: Improve documentation.
5409         * lib/getcwd.c (__getcwd): Document the failure return convention.
5411 2020-06-26  Bruno Haible  <bruno@clisp.org>
5413         fchdir: Improve documentation.
5414         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
5415         convention.
5417 2020-06-26  Bruno Haible  <bruno@clisp.org>
5419         filenamecat-lgpl: Set errno upon failure.
5420         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
5421         return convention.
5422         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
5424 2020-06-26  Bruno Haible  <bruno@clisp.org>
5426         areadlink-with-size: Set errno upon failure.
5427         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
5428         fails.
5429         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
5431 2020-06-26  Bruno Haible  <bruno@clisp.org>
5433         copy-file: Shrink dependencies.
5434         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
5435         qcopy-acl.
5437 2020-06-26  Bruno Haible  <bruno@clisp.org>
5439         doc: Mention declaration fixes implemented by some modules.
5440         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
5441         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
5442         declaration appear in <unistd.h>.
5443         * doc/posix-functions/dup.texi: Likewise.
5444         * doc/posix-functions/dup2.texi: Likewise.
5445         * doc/posix-functions/gethostname.texi: Likewise.
5446         * doc/posix-functions/isatty.texi: Likewise.
5447         * doc/posix-functions/lseek.texi: Likewise.
5448         * doc/posix-functions/unlink.texi: Likewise.
5449         * doc/posix-functions/read.texi: Mention the module 'read'.
5450         * doc/posix-functions/write.texi: Mention the effects of the module
5451         'write'.
5453 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
5455         c-dtoastr, c-ldtoastr: new modules
5456         These modules provide the same functionality as the modules
5457         dtoastr and ldtoastr except for the formatting taking place in the
5458         C locale.
5459         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
5460         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
5461         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
5462         defined.  Use c_snprintf and c_strtod/c_strtold instead of
5463         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
5464         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
5465         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
5466         modules/c-ldtoastr-tests: New files.
5467         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
5468         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
5470 2020-06-21  Bruno Haible  <bruno@clisp.org>
5472         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
5473         * lib/tzset.c: Include <stdlib.h>, <string.h>.
5475 2020-06-16  Bruno Haible  <bruno@clisp.org>
5477         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
5478         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
5480 2020-06-16  Bruno Haible  <bruno@clisp.org>
5482         thread, thrd: Avoid a compiler warning.
5483         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
5485 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
5487         windows-thread: Avoid a compiler warning.
5488         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
5489         void.
5490         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
5492 2020-06-15  Bruno Haible  <bruno@clisp.org>
5494         unictype/joininggroup-name: Fix warning on 64-bit mingw.
5495         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
5496         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
5497         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
5498         first.
5500 2020-06-06  Bruno Haible  <bruno@clisp.org>
5502         calloc-gnu tests: Avoid a test failure with clang.
5503         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
5504         'volatile', to defeat compiler optimizations.
5506 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5508         getloadavg: fix double-increment bug
5509         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
5510         Linux without glibc, Android, Cygwin.  This fixes a bug I
5511         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
5512         Problem and fix reported by Semen Verchenko in:
5513         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
5515         tempname: use getrandom, not getentropy
5516         This removes a dependency, as getentropy depends on getrandom.
5517         * lib/tempname.c: Include sys/random.h instead of unistd.h.
5518         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
5519         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
5521 2020-06-01  Bruno Haible  <bruno@clisp.org>
5523         doc: New chapter 'Multithreading'.
5524         * doc/multithread.texi: New file.
5525         * doc/gnulib.texi: Include it.
5527 2020-06-01  Bruno Haible  <bruno@clisp.org>
5529         doc: Move 'Running self-tests under valgrind' section.
5530         * doc/gnulib.texi (Build Infrastructure Modules): Include
5531         valgrind-tests.texi here...
5532         (Miscellaneous Notes): ... not here.
5534 2020-06-01  Bruno Haible  <bruno@clisp.org>
5536         doc: Move 'Visual Studio Compatibility' section.
5537         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
5538         here...
5539         (Build Infrastructure Modules): ... not here.
5541 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5543         doc: improve randomness discussion
5544         Inspired by comments from Jeffrey Walton in:
5545         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
5546         * doc/glibc-functions/getentropy.texi (getentropy):
5547         * doc/glibc-functions/getrandom.texi (getrandom):
5548         Improve discussion of problems with "random" data,
5549         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
5551 2020-06-01  Bruno Haible  <bruno@clisp.org>
5553         doc: Fix Texinfo syntax error.
5554         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
5556 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
5558         doc: Change '.' to '@.' where appropriate.
5559         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
5560         * doc/glibc-functions/fstatfs.texi: Likewise.
5561         * doc/glibc-functions/fts_children.texi: Likewise.
5562         * doc/glibc-functions/fts_read.texi: Likewise.
5563         * doc/glibc-functions/getdirentries.texi: Likewise.
5564         * doc/glibc-functions/mkostemp.texi: Likewise.
5565         * doc/glibc-functions/mkostemps.texi: Likewise.
5566         * doc/glibc-functions/mkstemps.texi: Likewise.
5567         * doc/glibc-functions/preadv.texi: Likewise.
5568         * doc/glibc-functions/pwritev.texi: Likewise.
5569         * doc/glibc-functions/sendfile.texi: Likewise.
5570         * doc/glibc-functions/statfs.texi: Likewise.
5571         * doc/gnulib-intro.texi: Likewise.
5572         * doc/gnulib-tool.texi: Likewise.
5573         * doc/intprops.texi: Likewise.
5574         * doc/lib-symbol-visibility.texi: Likewise.
5575         * doc/licenses-texi.texi: Likewise.
5576         * doc/pastposix-functions/bcmp.texi: Likewise.
5577         * doc/pastposix-functions/bcopy.texi: Likewise.
5578         * doc/pastposix-functions/bzero.texi: Likewise.
5579         * doc/pastposix-functions/ecvt.texi: Likewise.
5580         * doc/pastposix-functions/fcvt.texi: Likewise.
5581         * doc/pastposix-functions/ftime.texi: Likewise.
5582         * doc/pastposix-functions/gcvt.texi: Likewise.
5583         * doc/pastposix-functions/getwd.texi: Likewise.
5584         * doc/pastposix-functions/index.texi: Likewise.
5585         * doc/pastposix-functions/mktemp.texi: Likewise.
5586         * doc/pastposix-functions/rindex.texi: Likewise.
5587         * doc/pastposix-functions/wcswcs.texi: Likewise.
5588         * doc/posix-functions/aio_cancel.texi: Likewise.
5589         * doc/posix-functions/aio_error.texi: Likewise.
5590         * doc/posix-functions/aio_fsync.texi: Likewise.
5591         * doc/posix-functions/aio_read.texi: Likewise.
5592         * doc/posix-functions/aio_return.texi: Likewise.
5593         * doc/posix-functions/aio_suspend.texi: Likewise.
5594         * doc/posix-functions/aio_write.texi: Likewise.
5595         * doc/posix-functions/creat.texi: Likewise.
5596         * doc/posix-functions/ctime.texi: Likewise.
5597         * doc/posix-functions/daylight.texi: Likewise.
5598         * doc/posix-functions/fgetpos.texi: Likewise.
5599         * doc/posix-functions/fopen.texi: Likewise.
5600         * doc/posix-functions/freopen.texi: Likewise.
5601         * doc/posix-functions/fseeko.texi: Likewise.
5602         * doc/posix-functions/fsetpos.texi: Likewise.
5603         * doc/posix-functions/fstatat.texi: Likewise.
5604         * doc/posix-functions/fstatvfs.texi: Likewise.
5605         * doc/posix-functions/ftello.texi: Likewise.
5606         * doc/posix-functions/ftruncate.texi: Likewise.
5607         * doc/posix-functions/getrlimit.texi: Likewise.
5608         * doc/posix-functions/lio_listio.texi: Likewise.
5609         * doc/posix-functions/localtime.texi: Likewise.
5610         * doc/posix-functions/lseek.texi: Likewise.
5611         * doc/posix-functions/mkstemp.texi: Likewise.
5612         * doc/posix-functions/mktime.texi: Likewise.
5613         * doc/posix-functions/open.texi: Likewise.
5614         * doc/posix-functions/openat.texi: Likewise.
5615         * doc/posix-functions/opendir.texi: Likewise.
5616         * doc/posix-functions/pread.texi: Likewise.
5617         * doc/posix-functions/pwrite.texi: Likewise.
5618         * doc/posix-functions/readdir.texi: Likewise.
5619         * doc/posix-functions/readdir_r.texi: Likewise.
5620         * doc/posix-functions/scandir.texi: Likewise.
5621         * doc/posix-functions/seekdir.texi: Likewise.
5622         * doc/posix-functions/setrlimit.texi: Likewise.
5623         * doc/posix-functions/statvfs.texi: Likewise.
5624         * doc/posix-functions/strftime.texi: Likewise.
5625         * doc/posix-functions/telldir.texi: Likewise.
5626         * doc/posix-functions/timezone.texi: Likewise.
5627         * doc/posix-functions/tmpfile.texi: Likewise.
5628         * doc/posix-functions/truncate.texi: Likewise.
5629         * doc/posix-functions/tzname.texi: Likewise.
5630         * doc/posix-functions/wcsftime.texi: Likewise.
5631         * doc/windows-sockets.texi: Likewise.
5633 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5635         getrandom-tests: do not assume GRND_RANDOM yields short read
5636         * tests/test-getrandom.c (main): Omit assertion that
5637         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
5638         when b’s size is 100000.  This assertion fails with Linux kernel
5639         5.6.13, as that kernel ignores the GRND_RANDOM flag.
5640         The separate blocking pool is going away in the Linux kernel, and
5641         they’ve added a flag GRND_INSECURE instead; see:
5642         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
5643         The assertion was iffy anyway; what’s to prevent a kernel from
5644         lazily filling a large buffer with random bytes?
5646         read-file-test: pacify --enable-gcc-warnings
5647         * tests/test-read-file.c (test_read_file): Now static.
5649         tempname: merge from glibc and coreutils
5650         Also, merge in Gnulib’s more-recent methods of making it easier
5651         to share between Gnulib and glibc, and fix a few randomness
5652         glitches.
5653         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
5654         (__set_errno): Remove; libc-config.h does that for us.
5655         Do not include <sys/time.h>.
5656         (__secure_getenv) [_LIBC]: New macro.
5657         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
5658         (RANDOM_BITS): Rewrite.
5659         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
5660         (random_value): New typedef.
5661         (try_file, try_dir, try_nocreate): Move up.
5662         (gen_tempname_len, try_tempname_len): New functions.
5663         (gen_tempname_len): Use a constant array rather than a switch.
5664         (try_tempname_len): Don’t assume string length fits in int.
5665         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
5666         has enough entropy (it’s a bit short).
5667         (__gen_tempname): Rewrite in terms of gen_tempname_len.
5668         (__try_tempname): Rewrite in terms of try_tempname_len.
5669         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
5670         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
5671         Add getentropy, libc-config.
5673 2020-05-31  Bruno Haible  <bruno@clisp.org>
5675         getrandom, getentropy: Mention the crypto/gc-random module.
5676         Suggested by Simon Josefsson in
5677         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
5678         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
5679         crypto/gc-random module.
5680         * doc/glibc-functions/getentropy.texi: Likewise.
5682 2020-05-31  Bruno Haible  <bruno@clisp.org>
5684         getentropy: Enhance tests.
5685         * tests/test-getentropy.c (main): Add one more test.
5686         * tests/test-unistd-c++.cc: Check the signature of getentropy.
5688 2020-05-31  Bruno Haible  <bruno@clisp.org>
5690         getentropy: Work around a macOS and Solaris problem.
5691         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
5692         'getentropy' module.
5693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5694         UNISTD_H_HAVE_SYS_RANDOM_H.
5695         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
5696         UNISTD_H_HAVE_SYS_RANDOM_H.
5697         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
5698         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
5699         problem. List more platforms.
5701 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5703         fnmatch: merge from glibc
5704         Also, merge in Gnulib’s more-recent methods of making it easier
5705         to share between Gnulib and glibc.
5706         * lib/fnmatch.c: Reorder includes to match glibc better.
5707         Include libc-config.h instead of config.h.
5708         Include alloca.h only if _LIBC || HAVE_ALLOCA.
5709         Do not include "../locale/elem-hash.h" if _LIBC.
5710         Define macros for btowc, etc. if _LIBC.  All uses simplified.
5711         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
5712         Include intprops.h, since glibc has it now.
5713         (SIZE_MAX): Remove; use (size_t) -1 instead.
5714         Omit the "Comment out all this code" ifdef, since Gnulib
5715         has never really needed it.
5716         (STREQ): Remove; no longer used.
5717         (__libc_use_alloca, alloca, alloca_account): Define as
5718         needed if !_LIBC.
5719         (ISWCTYPE): Remove; all uses replaced by iswctype.
5720         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
5721         (internal_function): Remove.  All uses removed.
5722         (STRUCT): New macro.
5723         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
5724         (WMEMCMP): New macro.
5725         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
5726         and <locale/weightwc.h>.
5727         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
5728         __builtin_expect.  Check for integer overflow more
5729         systematically.  Account for alloca storage better when
5730         recursive.  Use strnlen instead of strlen for efficiency.
5731         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
5732         (struct STRUCT): New type.
5733         (FCT, EXT): New ENDS and ALLOCA_USED args.
5734         All callers changed.
5735         (FCT): Prefer __glibc_unlikely to __builtin_expect.
5736         Simplify by assuming WIDE_CHAR_SUPPORT.
5737         Copy _LIBC code from glibc without worrying Gnulib compatibility.
5738         Cast cold to UCHAR to avoid signedness warning.
5739         (END): Check for invalid pattern.
5740         (EXT): Improve alloca/malloc checking (taken from glibc),
5741         and improve it some more by using intprops.h and checking
5742         for integer overflow and using bool for booleans.
5743         * lib/libc-config.h (compat_symbol): New macro.
5744         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
5745         acceptable to non-GCC when a trailing semicolon is added.
5746         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
5747         libc-config, strnlen.  Remove alloca.
5749 2020-05-31  Bruno Haible  <bruno@clisp.org>
5751         getrandom: Doc and test tweaks.
5752         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
5753         it sets errno when failing.
5754         * tests/test-getrandom.c (main): Disable the high-quality check on those
5755         platforms on which it fails.
5756         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
5757         Cygwin to the list of platforms that don't have the function. Add a note
5758         about the quality of the result.
5759         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
5760         declaration; this is fixed by module 'getrandom'.
5762 2020-05-31  Bruno Haible  <bruno@clisp.org>
5764         getrandom: Add support for native Windows.
5765         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
5766         <wincrypt.h>.
5767         (CRYPT_VERIFY_CONTEXT): New macro.
5768         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
5769         'A'.
5770         (GetProcAddress): New macro.
5771         (BCryptGenRandomFuncType): New type.
5772         (BCryptGenRandomFunc, initialized): New variables.
5773         (initialize): New function.
5774         (getrandom): On native Windows, use <bcrypt.h> API when available, and
5775         <wincrypt.h> API as fallback.
5776         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
5777         * modules/getrandom (Link): New section.
5778         * modules/getentropy (Link): Likewise.
5779         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
5780         $(LIB_GETRANDOM).
5781         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
5782         $(LIB_GETRANDOM).
5783         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
5784         against $(LIB_GETRANDOM).
5785         * doc/glibc-functions/getrandom.texi: Mention the native Windows
5786         support.
5788 2020-05-31  Bruno Haible  <bruno@clisp.org>
5790         getrandom: Simplify the determination of the random number devices.
5791         Suggested by Paul Eggert in
5792         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
5793         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
5794         macros.
5795         * modules/getrandom (Depends-on): Remove crypto/gc-random.
5797 2020-05-31  Bruno Haible  <bruno@clisp.org>
5799         crypto/gc-random: Fix list of crypto devices for Solaris.
5800         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
5802 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
5804         list: fix GCC warnings
5805         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
5806         (gl_tree_next_node, gl_tree_node_nx_set_value)
5807         (gl_tree_previous_node, gl_tree_next_node):
5808         Mark unused arguments.
5809         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
5810         * lib/gl_anylinked_list2.h (gl_linked_node_value)
5811         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
5813         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
5814         the same variable name in nested scopes.
5816 2020-05-31  Bruno Haible  <bruno@clisp.org>
5818         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
5819         Reported by Akim Demaille in
5820         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
5821         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
5822         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
5823         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
5824         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
5825         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
5827 2020-05-30  Bruno Haible  <bruno@clisp.org>
5829         wmemchr: Relicense under LGPLv2+.
5830         * modules/wmemchr (License): Set to LGPLv2+.
5832 2020-05-30  Bruno Haible  <bruno@clisp.org>
5834         wmempcpy: New module.
5835         Reported by Paul Eggert in
5836         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
5837         * lib/wchar.in.h (wmempcpy): New declaration.
5838         * lib/wmempcpy.c: New file.
5839         * m4/wmempcpy.m4: New file.
5840         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
5841         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
5842         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
5843         HAVE_WMEMPCPY.
5844         * modules/wmempcpy: New file.
5845         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
5846         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
5847         * modules/mempcpy (Description): Fix typo.
5849 2020-05-30  Bruno Haible  <bruno@clisp.org>
5851         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
5852         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
5854 2020-05-30  Bruno Haible  <bruno@clisp.org>
5856         sys_random: Work around macOS bug.
5857         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
5858         <stdlib.h> before <sys/random.h>.
5859         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
5860         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
5861         first.
5862         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
5864 2020-05-30  Bruno Haible  <bruno@clisp.org>
5866         getrandom: Override incompatible system function on Solaris 11.
5867         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
5868         * lib/getrandom.c (getrandom): When the system has getrandom, just
5869         invoke it.
5870         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
5871         system's getrandom function's prototype is not the expected one.
5872         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
5873         REPLACE_GETRANDOM.
5874         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
5875         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
5876         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
5877         EAGAIN.
5878         * doc/glibc-functions/getrandom.texi: Mention the new module and the
5879         Solaris problem.
5881 2020-05-30  Bruno Haible  <bruno@clisp.org>
5883         sys_random: Add C++ tests.
5884         * tests/test-sys_random-c++.cc: New file.
5885         * modules/sys_random-c++-tests: New file.
5886         * modules/sys_random-tests (Depends-on): Depend on it.
5888         sys_random: Add tests.
5889         * tests/test-sys_random.c: New file.
5890         * modules/sys_random-tests: New file.
5892         sys_random: New module.
5893         * lib/sys_random.in.h: Use the common idioms for overridable header
5894         files.
5895         * m4/sys_random_h.m4: New file.
5896         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
5897         * modules/sys_random: New file.
5898         * modules/getrandom (Files): Remove lib/sys_random.in.h.
5899         (Depends-on): Add sys_random.
5900         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
5901         gl_UNISTD_MODULE_INDICATOR.
5902         (Makefile.am): Don't generate sys/random.h here.
5903         * doc/glibc-headers/sys_random.texi: New file.
5904         * doc/gnulib.texi: Include it.
5906 2020-05-30  Bruno Haible  <bruno@clisp.org>
5908         unistd: Remove conflicting declaration of getrandom().
5909         * lib/unistd.in.h (getrandom): Remove declaration.
5910         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
5911         declared.
5912         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
5913         HAVE_GETRANDOM.
5914         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
5915         HAVE_GETRANDOM.
5917 2020-05-30  Bruno Haible  <bruno@clisp.org>
5919         getrandom: Add tests.
5920         * tests/test-getrandom.c: New file.
5921         * modules/getrandom-tests: New file.
5923 2020-05-30  Bruno Haible  <bruno@clisp.org>
5925         crypto/gc-random: Fix link error on MSVC.
5926         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
5927         * modules/crypto/gc-random (Link): New section.
5928         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
5929         $(LIB_GC_RANDOM).
5931 2020-05-30  Bruno Haible  <bruno@clisp.org>
5933         Don't assume that UNICODE is not defined.
5934         Many Windows API functions are defined differently (redirecting to a
5935         function with suffix 'W') if the application defines the macro UNICODE
5936         than by default (redirecting to a function with suffix 'A').
5937         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
5938         variant with suffix 'A'.
5939         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
5940         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
5941         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
5942         * lib/getlogin.c (GetUserName): Likewise.
5943         * lib/getlogin_r.c (GetUserName): Likewise.
5944         * lib/gettimeofday.c (LoadLibrary): Likewise.
5945         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
5946         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
5947         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
5948         * lib/mountlist.c (GetDriveType): Likewise.
5949         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
5950         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
5951         Likewise.
5952         * lib/physmem.c (GetModuleHandle): Likewise.
5953         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
5954         PeekMessage, DispatchMessage): Likewise.
5955         * lib/progreloc.c (GetModuleFileName): Likewise.
5956         * lib/putenv.c (SetEnvironmentVariable): Likewise.
5957         * lib/read.c (GetNamedPipeHandleState): Likewise.
5958         * lib/readdir.c (FindNextFile): Likewise.
5959         * lib/relocatable.c (GetModuleFileName): Likewise.
5960         * lib/rename.c (MoveFileEx): Likewise.
5961         * lib/rewinddir.c (FindFirstFile): Likewise.
5962         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
5963         PeekMessage, DispatchMessage): Likewise.
5964         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
5965         * lib/socket.c (WSASocket): Likewise.
5966         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
5967         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
5968         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
5969         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
5970         * lib/tmpdir.c (GetTempPath): Likewise.
5971         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
5972         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
5973         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
5974         * lib/windows-cond.c (CreateEvent): Likewise.
5975         * lib/windows-rwlock.c (CreateEvent): Likewise.
5976         * lib/windows-timedmutex.c (CreateEvent): Likewise.
5977         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
5978         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
5979         * lib/write.c (GetNamedPipeHandleState): Likewise.
5981 2020-05-30  Bruno Haible  <bruno@clisp.org>
5983         physmem: Fix compilation errors on MSVC.
5984         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
5985         * modules/physmem (Depends-on): Add unistd.
5987 2020-05-29  Bruno Haible  <bruno@clisp.org>
5989         gnulib-tool: Fix link errors with a particular set of modules on mingw.
5990         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
5991         LDADD a second time, after the second occurrence of libtests.a.
5992         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
5994 2020-05-29  Bruno Haible  <bruno@clisp.org>
5996         fnmatch: Rely on more gnulib modules.
5997         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
5998         wmempcpy, mempcpy.
5999         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
6000         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
6001         HAVE_MEMPCPY are all 1.
6002         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
6003         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
6005 2020-05-29  Bruno Haible  <bruno@clisp.org>
6007         Avoid dynamic lookup of Windows API functions when possible.
6008         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
6009         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
6010         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
6011         (use_win32_p): Define differently.
6012         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
6013         CreateHardLinkFunc, initialized, initialize): Don't define in a build
6014         for Windows XP or higher.
6016 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6018         read-file: disable buffering if RF_SENSITIVE is set
6019         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
6020         Suggested by Glenn Strauss.
6021         (fread_file): Suggest calling setvbuf before calling this
6022         function.  Suggested by Bruno Haible.
6024 2020-05-29  Bruno Haible  <bruno@clisp.org>
6026         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
6027         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
6028         program.
6029         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
6030         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
6031         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
6032         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
6034 2020-05-29  Bruno Haible  <bruno@clisp.org>
6036         Fix compilation error on native Windows (regression from 2020-05-28).
6037         Reported by Daiki Ueno.
6038         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
6039         macro when not using dynamic loading.
6040         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
6041         QueryFullProcessImageNameFunc): Likewise.
6042         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
6043         GetFinalPathNameByHandleFunc): Likewise.
6045 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6047         fopen-gnu-tests: fix "\x" escape usage
6048         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
6050 2020-05-28  Bruno Haible  <bruno@clisp.org>
6052         Avoid dynamic loading of Windows API functions when possible.
6053         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6054         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
6055         * lib/gettimeofday.c (GetProcAddress,
6056         GetSystemTimePreciseAsFileTimeFuncType,
6057         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
6058         define in a build for Windows 8 or higher.
6059         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
6060         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
6061         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
6062         in a build for Windows Vista or higher.
6063         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
6064         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
6065         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
6067 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
6069         explicit_bzero-tests: improve -Wmissing-declarations pacification
6070         * tests/test-explicit_bzero.c: Now noinline.
6071         Suggested by Bruno Haible in:
6072         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
6074 2020-05-28  Bruno Haible  <bruno@clisp.org>
6076         Fix build errors due to read-file changes (regression from 2020-05-27).
6077         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
6078         invocation.
6079         * tests/test-sameacls.c (main): Likewise.
6080         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
6081         read_binary_file.
6082         * tests/test-pipe-filter-ii1.c (main): Likewise.
6084 2020-05-28  Bruno Haible  <bruno@clisp.org>
6086         fts: Make more robust in multithreaded applications.
6087         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
6088         * modules/fts (Depends-on): Add 'open'.
6090 2020-05-28  Bruno Haible  <bruno@clisp.org>
6092         relocatable-prog: Make more robust in multithreaded applications.
6093         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
6094         relocatable-prog-wrapper.
6095         (find_executable): Pass an O_CLOEXEC flag to open().
6096         * modules/relocatable-prog (Depends-on): Add 'open'.
6098 2020-05-28  Bruno Haible  <bruno@clisp.org>
6100         getloadavg: Make more robust in multithreaded applications.
6101         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
6102         Simplify use of O_CLOEXEC.
6103         * modules/getloadavg (Depends-on): Add 'open'.
6105 2020-05-28  Bruno Haible  <bruno@clisp.org>
6107         vma-iter: Make more robust in multithreaded applications.
6108         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
6109         open().
6110         * modules/vma-iter (Depends-on): Add 'open'.
6112 2020-05-28  Bruno Haible  <bruno@clisp.org>
6114         truncate: Make more robust in multithreaded applications.
6115         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
6117 2020-05-28  Bruno Haible  <bruno@clisp.org>
6119         pagealign_alloc: Make more robust in multithreaded applications.
6120         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
6121         open().
6122         * modules/pagealign_alloc (Depends-on): Add 'open'.
6124 2020-05-28  Bruno Haible  <bruno@clisp.org>
6126         openat: Make more robust in multithreaded applications.
6127         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
6129 2020-05-28  Bruno Haible  <bruno@clisp.org>
6131         at-internal: Make more robust in multithreaded applications.
6132         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
6133         open().
6135 2020-05-28  Bruno Haible  <bruno@clisp.org>
6137         mountlist: Make more robust in multithreaded applications.
6138         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
6139         open().
6140         * modules/mountlist (Depends-on): Add 'open'.
6142 2020-05-28  Bruno Haible  <bruno@clisp.org>
6144         login_tty: Make more robust in multithreaded applications.
6145         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
6146         * modules/login_tty (Depends-on): Add 'open'.
6148 2020-05-28  Bruno Haible  <bruno@clisp.org>
6150         javacomp: Make more robust in multithreaded applications.
6151         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
6152         open().
6153         * modules/javacomp (Depends-on): Add 'open'.
6155 2020-05-28  Bruno Haible  <bruno@clisp.org>
6157         getprogname: Make more robust in multithreaded applications.
6158         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
6159         * modules/getprogname (Depends-on): Add 'open'.
6161 2020-05-28  Bruno Haible  <bruno@clisp.org>
6163         get_progname_of: Make more robust in multithreaded applications.
6164         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
6165         open().
6166         * modules/get_progname_of (Depends-on): Add 'open'.
6168 2020-05-28  Bruno Haible  <bruno@clisp.org>
6170         get_ppid_of: Make more robust in multithreaded applications.
6171         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
6172         * modules/get_ppid_of (Depends-on): Add 'open'.
6174 2020-05-28  Bruno Haible  <bruno@clisp.org>
6176         get-rusage-as: Make more robust in multithreaded applications.
6177         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
6178         flag to open().
6179         * modules/get-rusage-as (Depends-on): Add 'open'.
6181 2020-05-28  Bruno Haible  <bruno@clisp.org>
6183         crypto/gc: Make more robust in multithreaded applications.
6184         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
6185         * modules/crypto/gc (Depends-on): Add 'open'.
6187 2020-05-28  Bruno Haible  <bruno@clisp.org>
6189         copy-file: Make more robust in multithreaded applications.
6190         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
6191         open().
6193 2020-05-28  Bruno Haible  <bruno@clisp.org>
6195         chown: Make more robust in multithreaded applications.
6196         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
6198 2020-05-28  Bruno Haible  <bruno@clisp.org>
6200         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
6201         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
6203 2020-05-28  Daiki Ueno  <ueno@gnu.org>
6205         fopen-gnu: make 'b' flag can be used with 'e' on Windows
6206         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
6207         specified on Windows.
6208         * tests/test-fopen-gnu.c (DATA): New define.
6209         (main): Add test for reading binary files with an 'e' flag.
6211 2020-05-27  Bruno Haible  <bruno@clisp.org>
6213         Don't assume that UNICODE is not defined.
6214         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
6215         differently if the application defines the macro UNICODE.
6216         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6217         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
6218         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
6219         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
6220         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
6222 2020-05-27  Bruno Haible  <bruno@clisp.org>
6224         Improve pattern for defining _WIN32_WINNT.
6225         Newer versions of the Windows API may not only add, but also remove API
6226         functions. Therefore, when the user is e.g. building for Windows 10, we
6227         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
6228         use of APIs that were present in Windows 8 but removed in Windows 10.
6229         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
6230         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
6231         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
6232         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6233         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
6235 2020-05-27  Bruno Haible  <bruno@clisp.org>
6237         javacomp: Make more robust in multithreaded applications.
6238         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
6239         * modules/javacomp (Depends-on): Add fopen-gnu.
6241 2020-05-27  Bruno Haible  <bruno@clisp.org>
6243         mountlist: Make more robust in multithreaded applications.
6244         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
6245         to fopen.
6246         * modules/mountlist (Depends-on): Add fopen-gnu.
6248 2020-05-27  Bruno Haible  <bruno@clisp.org>
6250         sethostname: Make more robust in multithreaded applications.
6251         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
6252         * modules/sethostname (Depends-on): Add fopen-gnu.
6254 2020-05-27  Bruno Haible  <bruno@clisp.org>
6256         readutmp: Make more robust in multithreaded applications.
6257         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
6258         * modules/readutmp (Depends-on): Add fopen-gnu.
6260 2020-05-27  Bruno Haible  <bruno@clisp.org>
6262         getpass: Make more robust in multithreaded applications.
6263         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
6264         * modules/getpass (Depends-on): Add fopen-gnu.
6266 2020-05-27  Bruno Haible  <bruno@clisp.org>
6268         getloadavg: Make more robust in multithreaded applications.
6269         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
6270         * modules/getloadavg (Depends-on): Add fopen-gnu.
6272 2020-05-27  Bruno Haible  <bruno@clisp.org>
6274         exclude: Make more robust in multithreaded applications.
6275         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
6276         * modules/exclude (Depends-on): Add fopen-gnu.
6278 2020-05-27  Bruno Haible  <bruno@clisp.org>
6280         bitset: Make more robust in multithreaded applications.
6281         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
6282         'e' flag to fopen.
6283         * modules/bitset (Depends-on): Add fopen-gnu.
6285 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6287         read-file: add RF_SENSITIVE flag
6288         * lib/read-file.h (RF_SENSITIVE): New define.
6289         * lib/read-file.c (fread_file, read_file): Take into account of
6290         RF_SENSITIVE flag.
6291         * modules/read-file (Depends-on): Add explicit_bzero.
6292         This adds an alternative behavior of those functions to explicitly
6293         clear the internal memory block when it becomes unused.  This is
6294         useful for reading sensitive information from a file.
6296 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6298         read-file: add flags to modify reading behavior
6299         * lib/read-file.h (RF_BINARY): New define.
6300         (fread_file, read_file): Take FLAGS argument.
6301         (read_binary_file): Remove.
6302         * lib/read-file.c (internal_read_file): Merge into ...
6303         (read_file): ... here.
6304         * modules/read-file-tests (Files): Add "tests/macros.h".
6305         * tests/test-read-file.c (main): Refactor using ASSERT macro.
6306         * NEWS: Mention this change.
6308 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
6310         doc/gnulib-intro.texi: add missing "to" in sentence
6311         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
6312         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
6313         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
6315 2020-05-26  Bruno Haible  <bruno@clisp.org>
6317         count-one-bits: Fix MSVC specific code.
6318         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6319         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
6320         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
6321         using GCC.
6322         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
6323         (__popcnt64): In 32-bit mode, define as an inline function.
6324         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
6326 2020-05-26  Bruno Haible  <bruno@clisp.org>
6328         argz: Avoid name clashes through argz.h.
6329         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6330         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
6331         * lib/argz.h: Don't use __ prefixed identifiers.
6332         (const): Remove definition.
6333         (argz_next): Remove inline definitions.
6335 2020-05-26  Daiki Ueno  <ueno@gnu.org>
6337         read-file: make use of fopen-gnu
6338         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
6339         (read_binary_file): Likewise.
6340         * modules/read-file (Depends-on): Add fopen-gnu.
6342 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6344         getentropy, getrandom: new modules
6345         * MODULES.html.sh (func_all_modules):
6346         * lib/unistd.in.h (getentropy, getrandom):
6347         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
6348         * modules/unistd (unistd.h):
6349         Add support for getentropy, getrandom.
6350         * doc/glibc-functions/getentropy.texi (getentropy):
6351         * doc/glibc-functions/getrandom.texi (getrandom):
6352         These are now fixed on some platforms.
6353         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
6354         * m4/getentropy.m4, m4/getrandom.m4:
6355         * modules/getentropy, modules/getentropy-tests:
6356         * modules/getrandom, modules/getrandom-tests:
6357         * tests/test-getentropy.c, tests/test-getrandom.c:
6358         New files.
6360 2020-05-25  Bruno Haible  <bruno@clisp.org>
6362         Add missing C99 dependencies.
6363         Reported by Paul Smith <psmith@gnu.org> in
6364         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
6365         * modules/assert (Depends-on): Add c99.
6366         * modules/filenamecat-lgpl (Depends-on): Likewise.
6367         * modules/libc-config (Depends-on): Likewise.
6368         * modules/mktime (Depends-on): Likewise.
6369         * modules/random_r (Depends-on): Likewise.
6370         * modules/regex (Depends-on): Likewise.
6371         * modules/scratch_buffer (Depends-on): Likewise.
6372         * modules/timespec-add (Depends-on): Likewise.
6373         * modules/timespec-sub (Depends-on): Likewise.
6374         * modules/verify (Depends-on): Likewise.
6376 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
6378         explicit_bzero-tests: pacify -Wmissing-declarations
6379         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
6380         Now static.
6382 2020-05-24  Bruno Haible  <bruno@clisp.org>
6384         fopen-gnu: Add tests.
6385         * tests/test-fopen-gnu.c: New file.
6386         * modules/fopen-gnu-tests: New file.
6388         fopen-gnu: New module.
6389         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
6390         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
6391         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
6392         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
6393         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
6394         * modules/fopen-gnu: New file.
6395         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
6397 2020-05-24  Bruno Haible  <bruno@clisp.org>
6399         open, openat: Really support O_CLOEXEC.
6400         * lib/open.c (open): When have_cloexec is still undecided, do pass a
6401         O_CLOEXEC flag to orig_open.
6402         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
6403         pass a O_CLOEXEC flag to orig_openat.
6404         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
6405         * modules/open-tests (Depends-on): Add fcntl.
6406         * modules/openat-tests (Depends-on): Likewise.
6407         * modules/fcntl-safer-tests (Depends-on): Likewise.
6409 2020-05-24  Bruno Haible  <bruno@clisp.org>
6411         fopen: Fix the trailing slash workaround.
6412         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
6413         write access. Pass the right flags to open().
6414         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
6416 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6418         assure: new macro ‘affirm’
6419         * lib/assure.h: Include verify.h.
6420         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
6421         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
6422         and commentary by Bruno Haible in:
6423         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
6424         * modules/assure (Depends-on:): Add verify.
6426 2020-05-23  Bruno Haible  <bruno@clisp.org>
6428         calloc-gnu: Make test work in non-flat address spaces.
6429         Uses code by Paul Eggert.
6430         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
6431         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
6433 2020-05-23  Bruno Haible  <bruno@clisp.org>
6435         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
6436         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
6437         AC_RUN_IFELSE invocations.
6439 2020-05-23  Bruno Haible  <bruno@clisp.org>
6441         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
6442         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
6443         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
6444         don't have it.
6445         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
6446         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
6447         don't have it.
6448         * lib/isnanf-nolibm.h (__has_builtin): New macro.
6449         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
6450         it.
6451         * lib/isnanl-nolibm.h (__has_builtin): New macro.
6452         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
6453         it.
6454         * lib/math.in.h (__has_builtin): New macro.
6455         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
6456         it.
6457         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
6458         it.
6459         (isnan): Don't use the builtins on clang versions that don't have
6460         __builtin_isnanf and __builtin_isnanl.
6462 2020-05-23  Bruno Haible  <bruno@clisp.org>
6464         calloc-gnu: Avoid wrong configure results with clang.
6465         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
6466         'volatile', to defeat compiler optimizations.
6468 2020-05-23  Bruno Haible  <bruno@clisp.org>
6470         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
6471         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
6472         'long double' values by reference, with values taken from a statically
6473         allocated array.
6475 2020-05-23  Bruno Haible  <bruno@clisp.org>
6477         findprog-in: Ignore directories.
6478         Reported by Frederick Eaton via Dmitry Goncharov in
6479         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
6480         * lib/findprog-in.c (find_in_given_path): When the file found is a
6481         directory, set errno to EACCES and, during a PATH search, continue
6482         searching.
6483         * modules/findprog-in (Depends-on): Add sys_stat, stat.
6485 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6487         verify: document ‘assume’ better
6488         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
6490 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
6492         gendocs: Clarify licenses for templates.
6493         * doc/gendocs_template: Add a GNU All-Permissive license notice
6494         and bump Parent-Version.
6495         * doc/gendocs_template_min: Add a GNU All-Permissive license
6496         notice and copy the explanatory comment about the license notice
6497         at the bottom from gendocs_template.
6499 2020-05-21  Bruno Haible  <bruno@clisp.org>
6501         group-member: Relicense under LGPLv2+.
6502         Jim Meyering's approval is in
6503         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
6504         Paul Eggert's approval is in
6505         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
6506         Eric Blake's approval is in
6507         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
6508         * modules/group-member (License): Change to LGPLv2+.
6510 2020-05-21  Bruno Haible  <bruno@clisp.org>
6512         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
6513         Reported by Tim Rühsen in
6514         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6515         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
6517 2020-05-21  Bruno Haible  <bruno@clisp.org>
6519         regex: Avoid wrong configure results with "clang -fsanitize=leak".
6520         Reported by Tim Rühsen in
6521         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6522         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
6523         before returning with status 0.
6525 2020-05-21  Bruno Haible  <bruno@clisp.org>
6527         glob: Avoid wrong configure results with "clang -fsanitize=leak".
6528         Reported by Tim Rühsen in
6529         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6530         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
6532 2020-05-21  Bruno Haible  <bruno@clisp.org>
6534         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
6535         Reported by Tim Rühsen in
6536         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6537         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
6538         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
6539         respectively.
6541 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
6543         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
6544         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
6546 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6548         ftoastr: fix ifndef typo
6549         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
6551 2020-05-19  Bruno Haible  <bruno@clisp.org>
6553         havelib: Tweak documentation.
6554         * doc/havelib.texi (Searching for Libraries): Fix typo.
6556 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6558         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
6559         This was needed earlier because modules had to import the main script,
6560         but that is no longer true.  Rename the script so that it is
6561         consistent with all other scripts in gnulib and uses hyphens.
6562         * build-aux/vcs_to_changelog.py: Rename to...
6563         * build-aux/vcs-to-changelog.py: ... this.
6564         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
6565         * modules/vcs-to-changelog: Likewise.
6567 2020-05-17  Bruno Haible  <bruno@clisp.org>
6569         Clarify intended usage of the license file modules.
6570         Reported by Asher Gordon <AsDaGo@posteo.net> in
6571         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
6572         * doc/licenses-texi.texi (License Texinfo sources): Mention the
6573         GNU AGPL. Explain the intended usage of the modules.
6574         * modules/fdl (Notice): Discourage use as a module.
6575         * modules/fdl-1.3 (Notice): Likewise.
6577 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
6579         hash: add hash_xinsert
6580         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
6582 2020-05-16  Bruno Haible  <bruno@clisp.org>
6584         findprog-lgpl: Fix link error (existing since 2008-09-02).
6585         * modules/findprog-lgpl (Makefile.am): Arrange to compile
6586         findprog-lgpl.c, not findprog.c.
6587         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
6588         XNMALLOC.
6590 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
6592         c-stack: pacify -Wunused-result when DEBUG
6593         Problem reported by Marc Nieper-Wißkirchen in:
6594         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
6595         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
6596         Explicitly ignore write failures.
6598 2020-05-13  Jim Meyering  <meyering@fb.com>
6600         announce-gen: improve a comment
6601         * build-aux/announce-gen: Improve comment.
6603 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
6605         xalloc: pacify -Wanalyzer-possible-null-argument
6606         Problem reported for GCC 10.1.0 by Bruno Haible in:
6607         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
6608         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
6609         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
6610         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
6612 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6614         careadlinkat: fix GCC 10 workaround
6615         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
6616         Massage the code so that it’s closer to what it was before
6617         the GCC 10.1.0 workaround was introduced.  This fixes
6618         a loop when !buffer and the bug workaround is in effect.
6619         Remove unnecessary casts.  Defend in a different way
6620         against (buffer && !buffer_size), by adding at least 1
6621         to buf_size each time through the loop.
6623 2020-05-10  Bruno Haible  <bruno@clisp.org>
6625         doc: Mark HP-UX as unsupported.
6626         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
6628 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6630         careadlinkat: limit GCC workaround
6631         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
6632         10.1.0 and later, since the workaround is pretty bad and the GCC
6633         bug should get fixed.
6635 2020-05-10  Bruno Haible  <bruno@clisp.org>
6637         havelib: Enhance documentation.
6638         * doc/havelib.texi (Searching for Libraries): Mention the bad
6639         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
6641 2020-05-10  Bruno Haible  <bruno@clisp.org>
6643         attribute: Clarify list of attributes.
6644         * lib/attribute.h: Reorder the list of attributes, and group them by
6645         purpose.
6647 2020-05-10  Bruno Haible  <bruno@clisp.org>
6649         string: Fix compilation error in C++ mode.
6650         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
6651         _GL_WARN_ON_USE.
6652         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
6653         instead of _GL_WARN_ON_USE.
6655 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
6657         announce-gen: add support for dist-lzip
6658         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
6660 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
6662         manywarnings: port to GCC 10.1
6663         * build-aux/gcc-warning.spec:
6664         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
6665         Add GCC 10.1.0 warnings.
6667         careadlinkat: pacify -Wreturn-local-addr
6668         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
6669         Pacify gcc 10’s -Wreturn-local-addr option.
6670         Simplify some of the later code.
6672 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
6674         attribute: remove ATTRIBUTE_DEPRECATED
6675         * lib/attribute.h: Improve recently-added comments, mostly
6676         by shortening them (use active voice, etc.).
6677         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
6678         Problem reported by Bruno Haible in:
6679         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
6681 2020-05-09  Bruno Haible  <bruno@clisp.org>
6683         attribute: Add comments.
6684         * lib/attribute.h: Document each macro.
6686 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
6688         bitset: use the attribute module
6689         * modules/bitset: Depend on 'attribute'.
6690         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
6691         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
6692         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
6693         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
6695 2020-05-09  Bruno Haible  <bruno@clisp.org>
6697         c-stack: Fix warning when DEBUG is enabled.
6698         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
6699         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
6700         * lib/c-stack.c: Include <stdio.h>.
6702 2020-05-09  Bruno Haible  <bruno@clisp.org>
6704         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
6705         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
6706         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6707         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6708         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6709         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6710         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6711         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6712         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6713         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
6714         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6715         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6716         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6718 2020-05-09  Bruno Haible  <bruno@clisp.org>
6720         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
6721         Reported by Akim Demaille in
6722         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
6723         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
6724         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
6725         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
6727 2020-05-09  Bruno Haible  <bruno@clisp.org>
6729         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
6730         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
6731         that usually comes from m4/gnulib-common.m4.
6732         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6734 2020-05-09  Bruno Haible  <bruno@clisp.org>
6736         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
6737         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
6738         that usually comes from m4/gnulib-common.m4.
6739         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
6740         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
6741         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
6743 2020-05-09  Bruno Haible  <bruno@clisp.org>
6745         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
6746         * lib/uchar.in.h (char16_t): Define as macro if
6747         GNULIB_OVERRIDES_CHAR16_T.
6748         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
6749         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
6750         (gl_UCHAR_H): Invoke them.
6751         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
6752         GNULIB_OVERRIDES_CHAR32_T.
6753         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
6754         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
6755         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
6756         GNULIB_OVERRIDES_CHAR32_T.
6758 2020-05-09  Bruno Haible  <bruno@clisp.org>
6760         Macro tweaks.
6761         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
6762         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
6764 2020-05-08  Bruno Haible  <bruno@clisp.org>
6766         c32rtomb: Avoid compilation failure on Haiku.
6767         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
6768         inline definitions.
6769         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
6771 2020-05-08  Bruno Haible  <bruno@clisp.org>
6773         mbrtoc32: Avoid compilation failure on Haiku.
6774         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
6775         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
6776         AC_CHECK_FUNCS_ONCE.
6777         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
6779 2020-05-08  Bruno Haible  <bruno@clisp.org>
6781         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
6782         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
6784 2020-05-08  Bruno Haible  <bruno@clisp.org>
6786         list: Update documentation.
6787         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
6788         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
6789         * doc/containers.texi (Container data types): Document the new list
6790         operations and their complexity.
6792 2020-05-08  Bruno Haible  <bruno@clisp.org>
6794         ignore-value tests: Use module 'attribute'.
6795         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
6796         * tests/test-ignore-value.c: Include attribute.h.
6797         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
6798         * modules/ignore-value-tests (Depends-on): Add attribute.
6800 2020-05-08  Bruno Haible  <bruno@clisp.org>
6802         uniname/uniname: Use module 'attribute'.
6803         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
6804         * lib/uniname/uninames.h: Regenerated.
6805         * lib/uniname/uniname.c: Include attribute.h.
6806         * modules/uniname/uniname (Depends-on): Add attribute.
6808 2020-05-08  Bruno Haible  <bruno@clisp.org>
6810         c32rtomb: Use module 'attribute'.
6811         * lib/c32rtomb.c: Include attribute.h.
6812         (FALLTHROUGH): Remove macro.
6813         * modules/c32rtomb (Depends-on): Add attribute.
6815 2020-05-08  Bruno Haible  <bruno@clisp.org>
6817         xsize: Use module 'attribute'.
6818         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
6819         * modules/xsize (Depends-on): Add attribute.
6821 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6823         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
6825         * lib/attribute.h: Minor style fixes.
6827         Fix version-etc glitch on OpenIndiana
6828         Problem reported by Mats Erik Andersson in:
6829         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
6830         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
6831         that now clashes with gnulib-common.h.  All uses changed.
6833 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
6835         attribute: new module
6836         This simplifies use of GCC and C2X attributes like ‘deprecated’.
6837         * MODULES.html.sh: Add attribute.
6838         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
6839         * doc/gnulib.texi (Particular Modules): Add Attributes.
6840         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
6841         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
6842         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
6843         * lib/vasnprintf.c:
6844         Include attribute.h, and let it define FALLTHROUGH.
6845         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
6846         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
6847         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
6848         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
6849         This is a copy since Gawk doesn’t use Gnulib.
6850         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
6851         is incompatible with gl_COMMON_BODY’s.  All uses changed.
6852         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
6853         Keep the existing FALLTHROUGH definition since Glibc might use it,
6854         and it does no harm to Gnulib’s FALLTHROUGH.
6855         * lib/fts_.h, lib/inttostr.h:
6856         (__GNUC_PREREQ): Remove; no longer needed.
6857         (__attribute_warn_unused_result__): Remove.  All uses
6858         replaced by _GL_ATTRIBUTE_NODISCARD.
6859         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
6860         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
6861         __attribute__ ((__warn_unused_result__)), for forward
6862         compatibility to C2X.
6863         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
6864         _GL_ATTRIBUTE_NODISCARD.
6865         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
6866         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
6867         replaced by gl_COMMON_BODY’s implementation, which has a
6868         slightly different signature.
6869         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
6870         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
6871         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
6872         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
6873         No doubt all uses should be replaced, at some point.
6874         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
6875         (_Noreturn): Use it.
6876         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
6877         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
6878         (_GL_ATTRIBUTE_COLD)
6879         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
6880         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
6881         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
6882         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
6883         (_GL_ATTRIBUTE_MAYBE_UNUSED)
6884         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
6885         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
6886         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
6887         (_GL_ATTRIBUTE_RETURNS_NONNULL)
6888         (_GL_ATTRIBUTE_SENTINEL): New macros.
6889         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
6890         * modules/fnmatch, modules/freopen-safer, modules/fts:
6891         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
6892         * modules/quotearg, modules/savewd:
6893         * modules/unistdio/u16-u16-vasnprintf:
6894         * modules/unistdio/u16-vasnprintf:
6895         * modules/unistdio/u32-u32-vasnprintf:
6896         * modules/unistdio/u32-vasnprintf:
6897         * modules/unistdio/u8-u8-vasnprintf:
6898         * modules/unistdio/u8-vasnprintf:
6899         * modules/unistdio/ulc-vasnprintf:
6900         * modules/unistr/u8-uctomb, modules/vasnprintf:
6901         (Depends-on:): Add attribute module.
6903 2020-05-03  Bruno Haible  <bruno@clisp.org>
6905         bison: Fix today's commit.
6906         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
6908 2020-05-03  Bruno Haible  <bruno@clisp.org>
6910         list-c++: Add get_first, get_last, set_first, set_last operations.
6911         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
6912         set_first, set_last.
6913         * lib/gl_list.h: Tweak comments.
6915 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
6917         bison: rely on bison's %require to check a version requirement
6918         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
6919         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
6920         enough of not.
6921         So far it is the only know Yacc tool that supports '%require'.
6922         Other yaccs will actually even choke on seeing the -o option after the
6923         input file name.
6924         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
6926 2020-05-02  Bruno Haible  <bruno@clisp.org>
6928         list: Add get_first, get_last, set_first, set_last operations.
6929         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
6930         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
6931         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
6933 2020-05-02  Bruno Haible  <bruno@clisp.org>
6935         list: Remove redundant code for remove_first and remove_last operations.
6936         * lib/gl_list.h (struct gl_list_implementation): Remove fields
6937         remove_first, remove_last.
6938         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
6939         * lib/gl_array_list.c: Revert last change.
6940         * lib/gl_carray_list.c: Likewise.
6941         * lib/gl_anylinked_list2.h: Likewise.
6942         * lib/gl_linked_list.c: Likewise.
6943         * lib/gl_linkedhash_list.c: Likewise.
6944         * lib/gl_anytree_list2.h: Likewise.
6945         * lib/gl_avltree_list.c: Likewise.
6946         * lib/gl_avltreehash_list.c: Likewise.
6947         * lib/gl_rbtree_list.c: Likewise.
6948         * lib/gl_rbtreehash_list.c: Likewise.
6949         * lib/gl_sublist.c: Likewise.
6951 2020-05-02  Bruno Haible  <bruno@clisp.org>
6953         bison-i18n: Add support for cross-compilation.
6954         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
6955         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
6956         via Akim Demaille <akim@lrde.epita.fr>.
6957         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
6958         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
6959         Don't use bison's --print-localedir option when cross-compiling.
6960         Also, fix an error message and a comment.
6962 2020-05-01  Bruno Haible  <bruno@clisp.org>
6964         list: Add remove_first and remove_last operations.
6965         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
6966         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
6967         * lib/gl_list.h (struct gl_list_implementation): Add fields
6968         remove_first, remove_last.
6969         (gl_list_remove_first, gl_list_remove_last): New functions.
6970         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
6971         functions, based on gl_array_remove_at.
6972         (gl_array_list_implementation): Implement the new operations.
6973         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
6974         New functions, based on gl_carray_remove_at.
6975         (gl_carray_list_implementation): Implement the new operations.
6976         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
6977         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
6978         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
6979         new operations.
6980         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
6981         Likewise.
6982         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
6983         New functions, based on gl_tree_remove_at.
6984         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
6985         new operations.
6986         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
6987         Likewise.
6988         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
6989         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
6990         Likewise.
6991         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
6992         New functions, based on gl_sublist_remove_at.
6993         (gl_sublist_list_implementation): Implement the new operations.
6994         * lib/gl_list.hh (class gl_List): Add methods remove_first,
6995         remove_last.
6996         * tests/test-array_list.c (main): Test also gl_list_remove_first and
6997         gl_list_remove_last.
6998         * tests/test-avltree_list.c (main): Likewise.
6999         * tests/test-avltreehash_list.c (main): Likewise.
7000         * tests/test-carray_list.c (main): Likewise.
7001         * tests/test-linked_list.c (main): Likewise.
7002         * tests/test-linkedhash_list.c (main): Likewise.
7003         * tests/test-rbtree_list.c (main): Likewise.
7004         * tests/test-rbtreehash_list.c (main): Likewise.
7006 2020-05-01  Bruno Haible  <bruno@clisp.org>
7008         parse-datetime: Fix a build failure with an older bison version.
7009         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
7010         parse-datetime.tab.c if a suitable version of bison was not found.
7012 2020-05-01  Bruno Haible  <bruno@clisp.org>
7014         bison: New module.
7015         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
7016         m4/parse-datetime.m4.
7017         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
7018         * modules/bison: New file.
7019         * modules/parse-datetime (Files): Remove m4/bison.m4.
7020         (Depends-on): Add bison.
7022 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
7024         Update users.txt.
7025         * users.txt: Add poke.
7027 2020-04-28  Bruno Haible  <bruno@clisp.org>
7029         posix_spawn_file_actions_addfchdir tests: Enhance test.
7030         * tests/test-posix_spawn5.c: Include findprog.h.
7031         (test): New function, extracted from main.
7032         (main): Invoke it. Also, invoke it with a program name such as
7033         "bin/pwd".
7034         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
7035         findprog.
7037 2020-04-28  Bruno Haible  <bruno@clisp.org>
7039         posix_spawn_file_actions_addchdir tests: Enhance test.
7040         * tests/test-posix_spawn4.c: Include findprog.h.
7041         (test): New function, extracted from main.
7042         (main): Invoke it. Also, invoke it with a program name such as
7043         "bin/pwd".
7044         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
7045         findprog.
7047 2020-04-28  Bruno Haible  <bruno@clisp.org>
7049         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
7050         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
7051         access elements of the wrong union member.
7053 2020-04-27  Bruno Haible  <bruno@clisp.org>
7055         getdate: Remove deprecated module.
7056         * modules/getdate: Remove file.
7057         * doc/getdate.texi: Remove file.
7058         * lib/getdate.h: Remove file.
7059         * NEWS: Mention the removal.
7061 2020-04-27  Bruno Haible  <bruno@clisp.org>
7063         realloc: Remove deprecated module.
7064         * modules/realloc: Remove file.
7065         * NEWS: Mention the removal.
7067 2020-04-27  Bruno Haible  <bruno@clisp.org>
7069         calloc: Remove deprecated module.
7070         * modules/calloc: Remove file.
7071         * NEWS: Mention the removal.
7073 2020-04-27  Bruno Haible  <bruno@clisp.org>
7075         malloc: Remove deprecated module.
7076         * modules/malloc: Remove file.
7077         * NEWS: Mention the removal.
7079 2020-04-27  Bruno Haible  <bruno@clisp.org>
7081         fnmatch-posix: Remove deprecated module.
7082         * modules/fnmatch-posix: Remove file.
7083         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
7084         * NEWS: Mention the removal.
7086 2020-04-27  Bruno Haible  <bruno@clisp.org>
7088         pipe: Remove deprecated module.
7089         * modules/pipe: Remove file.
7090         * lib/pipe.h: Remove file.
7091         * NEWS: Mention the removal.
7093 2020-04-27  Bruno Haible  <bruno@clisp.org>
7095         getopt: Remove deprecated module.
7096         * modules/getopt: Remove file.
7097         * NEWS: Mention the removal.
7099 2020-04-27  Bruno Haible  <bruno@clisp.org>
7101         remove-dest-slash: Remove deprecated module.
7102         * modules/rename-dest-slash: Remove file.
7103         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
7104         Update.
7105         * NEWS: Mention the removal.
7107 2020-04-27  Bruno Haible  <bruno@clisp.org>
7109         unictype/bidicategory-*: Remove deprecated modules.
7110         * modules/unictype/bidicategory-all: Remove file.
7111         * modules/unictype/bidicategory-byname: Remove file.
7112         * modules/unictype/bidicategory-name: Remove file.
7113         * modules/unictype/bidicategory-of: Remove file.
7114         * modules/unictype/bidicategory-test: Remove file.
7115         * MODULES.html.sh (Unicode string functions): Update.
7116         * NEWS: Mention the removals.
7118 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7120         Tune fts for FTS_LOGICAL+FTS_NOSTAT
7121         From a suggestion by Askar Safin in:
7122         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
7123         * lib/fts.c (fts_build): If file types are known, optimize
7124         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
7125         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
7126         non-directories.
7128 2020-04-19  Bruno Haible  <bruno@clisp.org>
7130         vasnprintf: Add support for printing wide characters using escapes.
7131         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
7132         (wctomb_fallback): New function.
7133         (local_wctomb): New function.
7134         (local_wcrtomb): New function or macro.
7135         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
7136         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
7137         %lc.
7139 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7141         fts: remove NOSTAT_LEAF_OPTIMIZATION
7142         It caused ‘find’ and ‘du’ to dump core, and it was useful
7143         only for obsolescent Linux filesystems anyway.  Problem reported in:
7144         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
7145         Quite possibly there is still a serious underlying fts bug with
7146         tight-loop-check and mutating file systems, but if so this patch
7147         should cause the bug to be triggered less often.
7148         * lib/fts.c (enum leaf_optimization): Remove
7149         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
7150         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
7151         (leaf_optimization): Remove special cases for ReiserFS and XFS.
7152         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
7153         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
7154         Remove.  All uses removed.
7156 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7158         explicit_bzero: Improve code style.
7159         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
7161 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7163         explicit_bzero: On native Windows, use SecureZeroMemory().
7164         * lib/explicit_bzero.c: Include <windows.h>.
7165         (explicit_bzero): On native Windows, use SecureZeroMemory.
7167 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7169         explicit_bzero: Use memset_s() when available.
7170         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
7171         (explicit_bzero): Use memset_s when available.
7172         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
7174 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7176         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
7177         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
7178         free() that overwrite the memory with canaries.
7180 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
7182         bootstrap: recommend git submodule update --init
7183         Reported by Bruno Haible.
7184         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
7185         * build-aux/bootstrap: recommand "git submodule update --init"
7186         rather than "git submodule init".
7188 2020-04-12  Bruno Haible  <bruno@clisp.org>
7190         explicit_bzero: Add tests.
7191         * tests/test-explicit_bzero.c: New file.
7192         * modules/explicit_bzero-tests: New file.
7194 2020-04-11  Bruno Haible  <bruno@clisp.org>
7196         explicit_bzero: Relicense under LGPLv2+.
7197         Approved by Paul Eggert.
7198         * modules/explicit_bzero (License): Change to LGPLv2+.
7200 2020-04-10  Bruno Haible  <bruno@clisp.org>
7202         findprog, relocatable-prog: Ignore directories during PATH search.
7203         Reported by Frederick Eaton via Dmitry Goncharov in
7204         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7206         * lib/findprog.c (find_in_path): When the file found in a PATH element
7207         is a directory, continue searching.
7208         * modules/findprog (Depends-on): Add sys_stat, stat.
7209         * modules/findprog-lgpl (Depends-on): Likewise.
7211         * lib/progreloc.c (maybe_executable): When the file found in a PATH
7212         element is a directory, continue searching.
7213         * lib/relocwrapper.c: Update comments.
7214         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
7215         (configure.ac-early): New section.
7217 2020-04-10  Bruno Haible  <bruno@clisp.org>
7219         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
7220         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7221         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
7222         * MODULES.html.sh: In a git-less tarball, use the date of the first
7223         ChangeLog entry.
7225 2020-04-04  Bruno Haible  <bruno@clisp.org>
7227         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
7228         * m4/gettext.m4: Fix comments regarding the gettext library.
7229         * m4/intl-thread-locale.m4: Likewise.
7230         * m4/intlmacosx.m4: Likewise.
7231         * m4/lcmessage.m4: Likewise.
7232         * m4/nls.m4: Likewise.
7233         * m4/po.m4: Likewise.
7234         * m4/progtest.m4: Likewise.
7236 2020-04-04  Jim Meyering  <meyering@fb.com>
7238         maint: remove a stray inter-word space in a 6x-repeated comment
7239         Induce the changes by running this:
7240           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
7241         * build-aux/announce-gen: Change "by  perl" to "by perl".
7242         * build-aux/gitlog-to-changelog: Likewise.
7243         * build-aux/prefix-gnulib-mk: Likewise.
7244         * build-aux/update-copyright: Likewise.
7245         * build-aux/useless-if-before-free: Likewise.
7246         * tests/test-update-copyright.sh: Likewise.
7248 2020-03-28  Bruno Haible  <bruno@clisp.org>
7250         Use module 'filename' instead of module 'dosname'.
7252         * lib/at-func.c: Include filename.h instead of dosname.h.
7253         * lib/unlinkat.c: Likewise.
7254         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
7255         * modules/areadlinkat-with-size (Depends-on): Likewise.
7256         * modules/faccessat (Depends-on): Likewise.
7257         * modules/fchmodat (Depends-on): Likewise.
7258         * modules/fchownat (Depends-on): Likewise.
7259         * modules/fstatat (Depends-on): Likewise.
7260         * modules/mkdirat (Depends-on): Likewise.
7261         * modules/mkfifoat (Depends-on): Likewise.
7262         * modules/readlinkat (Depends-on): Likewise.
7263         * modules/selinux-at (Depends-on): Likewise.
7264         * modules/symlinkat (Depends-on): Likewise.
7265         * modules/unlinkat (Depends-on): Likewise.
7266         * modules/utimensat (Depends-on): Likewise.
7268         * lib/at-func2.c: Include filename.h instead of dosname.h.
7269         * modules/linkat (Depends-on): Add filename. Remove dosname.
7270         * modules/renameatu (Depends-on): Likewise.
7272         * lib/canonicalize.c: Include filename.h instead of dosname.h.
7273         * lib/canonicalize-lgpl.c: Likewise.
7274         * modules/canonicalize (Depends-on): Add filename.
7275         * modules/canonicalize-lgpl (Depends-on): Likewise.
7277         * lib/dirname.h: Include filename.h instead of dosname.h.
7278         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
7280         * lib/fchdir.c: Include filename.h instead of dosname.h.
7281         * modules/fchdir (Depends-on): Add filename. Remove dosname.
7283         * lib/openat.c: Include filename.h instead of dosname.h.
7284         * modules/openat (Depends-on): Add filename. Remove dosname.
7286         * lib/rmdir.c: Include filename.h instead of dosname.h.
7287         * modules/rmdir (Depends-on): Add filename. Remove dosname.
7289         * lib/savewd.c: Include filename.h instead of dosname.h.
7290         * modules/savewd (Depends-on): Add filename. Remove dosname.
7292         * lib/unlink.c: Include filename.h instead of dosname.h.
7293         * modules/unlink (Depends-on): Add filename. Remove dosname.
7295         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
7296         * lib/relocwrapper.c: Update comments.
7298         * modules/lstat (Depends-on): Remove dosname.
7300 2020-03-28  Bruno Haible  <bruno@clisp.org>
7302         dosname: Redirect to 'filename'.
7303         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7304         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
7305         * lib/dosname.h: Remove all definitions. Just include filename.h.
7306         * modules/dosname (Status, Notice): Mark as deprecated.
7307         (Depends-on): Add 'filename'.
7309 2020-03-28  Bruno Haible  <bruno@clisp.org>
7311         dosname: Change IS_RELATIVE_FILE_NAME.
7312         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
7313         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
7314         * NEWS: Mention the change.
7316 2020-03-28  Bruno Haible  <bruno@clisp.org>
7318         filename: Copy some definitions from module 'dosname'.
7319         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
7320         (HAS_DEVICE): Document macro.
7321         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
7322         (IS_ABSOLUTE_FILE_NAME): Consider
7323         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
7324         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
7325         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
7326         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
7327         IS_PATH_WITH_DIR.
7328         (DllMain): Update.
7329         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
7330         IS_PATH_WITH_DIR.
7331         (find_executable): Update.
7332         * NEWS: Document the deprecations.
7334 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7336         getopt-posix: port __GETOPT_PREFIX to macOS
7337         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
7338         Define to work around a problem with asm on macOS (Bug#40205).
7340 2020-03-22  Bruno Haible  <bruno@clisp.org>
7342         MODULES.html.sh: Add support for reproducible builds.
7343         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7344         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
7345         * MODULES.html.sh: Print the date of the last gnulib commit, not the
7346         current date.
7348 2020-03-22  Bruno Haible  <bruno@clisp.org>
7350         Several modules: Depend on stat.
7351         * modules/acl-permissions (Depends-on): Add stat.
7352         * modules/canonicalize (Depends-on): Likewise.
7353         * modules/file-has-acl (Depends-on): Likewise.
7354         * modules/fstat (Depends-on): Likewise.
7355         * modules/fstatat (Depends-on): Likewise.
7356         * modules/glob (Depends-on): Likewise.
7357         * modules/javacomp (Depends-on): Likewise.
7358         * modules/linkat (Depends-on): Likewise.
7359         * modules/mkdir (Depends-on): Likewise.
7360         * modules/pt_chown (Depends-on): Likewise.
7361         * modules/ptsname_r (Depends-on): Likewise.
7362         * modules/readlinkat (Depends-on): Likewise.
7363         * modules/rename (Depends-on): Likewise.
7364         * modules/renameatu (Depends-on): Likewise.
7365         * modules/tmpdir (Depends-on): Likewise.
7366         * modules/utimens (Depends-on): Likewise.
7367         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
7368         * modules/same (Depends-on): Remove stat.
7370 2020-03-22  Bruno Haible  <bruno@clisp.org>
7372         acl-permissions: Improve autoconf macro.
7373         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
7374         more reliably.
7376 2020-03-22  Bruno Haible  <bruno@clisp.org>
7378         file-has-acl: Fix module description.
7379         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
7380         (Depends-on): Depend on acl-permissions unconditionally.
7382 2020-03-21  Bruno Haible  <bruno@clisp.org>
7384         unlink: Ensure errno also on native Windows.
7385         * modules/unlink (Depends-on): Add malloc-posix.
7387 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
7389         unlink: fix malloc errno typo
7390         Problem reported by Tim Rühsen in:
7391         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
7392         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
7394 2020-03-16  Bruno Haible  <bruno@clisp.org>
7396         *printf-posix: Fix m4 error (regression from 2020-03-08).
7397         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
7398         brackets in AC_COMPILE_IFELSE invocation.
7400 2020-03-08  Bruno Haible  <bruno@clisp.org>
7402         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
7403         * modules/crypto/af_alg (Depends-on): Add fstat.
7404         * modules/renameatu (Depends-on): Likewise.
7405         * modules/same (Depends-on): Likewise.
7406         * modules/term-style-control (Depends-on): Likewise.
7408 2020-03-08  Bruno Haible  <bruno@clisp.org>
7410         *printf-posix: Document why it's overridden on some glibc systems.
7411         Reported by Adrian Bunk <bunk@stusta.de> in
7412         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
7413         * doc/posix-functions/*printf.texi: Document the problem with the %n
7414         directive on some glibc systems.
7415         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
7416         the cross-compilation guesses accordingly.
7418 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
7420         open, openat: port to (O_RDWR | O_RDONLY) != 0
7421         Potential portability problem reported by Dan Gohman in:
7422         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
7423         * lib/open.c (open):
7424         * lib/openat.c (rpl_openat):
7425         Don’t assume O_RDONLY is disjoint from O_RDWR.
7427 2020-03-07  Bruno Haible  <bruno@clisp.org>
7429         openat: Fix theoretically possible issue on GNU/Hurd.
7430         Reported by Dan Gohman <sunfish@mozilla.com> in
7431         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
7432         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
7433         ignore the bits that are also set in O_RDONLY.
7435 2020-02-24  Bruno Haible  <bruno@clisp.org>
7437         getloadavg: Don't use /usr/local when cross-compiling on AIX.
7438         Reported by Jens Rehsack <sno@netbsd.org> in
7439         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
7440         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
7441         cross-compiling.
7443 2020-02-24  Bruno Haible  <bruno@clisp.org>
7445         fcntl: Add witness of gnulib override.
7446         Reported by Jens Rehsack <sno@netbsd.org> in
7447         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
7448         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
7449         macros.
7451 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
7453         Update users.txt.
7454         * users.txt: Add datamash, time.
7456 2020-02-23  Bruno Haible  <bruno@clisp.org>
7458         uni*/base: Use 'restrict'.
7459         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
7460         from lib/regex.h.
7461         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
7462         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
7463         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
7464         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
7465         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
7466         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
7467         '_UC_RESTRICT'.
7468         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
7469         u32_conv_to_encoding): Use '_UC_RESTRICT'.
7470         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
7471         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
7472         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
7473         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
7474         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
7475         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
7476         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
7477         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
7478         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
7479         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
7480         '_UC_RESTRICT'.
7481         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
7482         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
7483         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
7484         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
7485         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
7486         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
7487         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
7488         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
7490 2020-02-23  Bruno Haible  <bruno@clisp.org>
7492         glob, spawn: Use improved '_Restrict_' definition.
7493         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
7494         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
7496 2020-02-23  Bruno Haible  <bruno@clisp.org>
7498         crypto/gc: Use 'restrict'.
7499         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
7500         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
7502         crypto/hmac-*: Use 'restrict'.
7503         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
7504         'restrict'.
7505         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
7506         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
7507         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
7508         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
7510         crypto/sm3: Use 'restrict'.
7511         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
7512         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
7514         crypto/*-buffer: Use 'restrict'.
7515         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
7516         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
7518         crypto/sha512-buffer: Use 'restrict'.
7519         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
7520         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
7521         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
7523         crypto/sha256-buffer: Use 'restrict'.
7524         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
7525         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
7526         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
7528         crypto/sha1-buffer: Use 'restrict'.
7529         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
7530         'restrict'.
7531         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
7533         crypto/md5-buffer: Use 'restrict'.
7534         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
7535         'restrict'.
7536         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
7538         crypto/md4: Use 'restrict'.
7539         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
7540         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
7542         crypto/md2: Use 'restrict'.
7543         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
7544         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
7546         crypto/rijndael: Use 'restrict'.
7547         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
7548         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
7549         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
7551         crypto/arctwo: Use 'restrict'.
7552         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
7553         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
7555         crypto/arcfour: Use 'restrict'.
7556         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
7557         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
7559         careadlinkat: Use 'restrict'.
7560         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
7561         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
7562         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
7564         regex-quote: Use 'restrict'.
7565         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
7566         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
7568         system-quote: Use 'restrict'.
7569         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
7570         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
7572         sh-quote: Use 'restrict'.
7573         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
7574         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
7576         quotearg: Use 'restrict'.
7577         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
7578         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
7580         parse-datetime: Use 'restrict'.
7581         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
7582         'restrict'.
7583         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
7585         nstrftime: Use 'restrict'.
7586         * lib/strftime.h (nstrftime): Use 'restrict'.
7587         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
7589         mbstok_r: Use 'restrict'.
7590         * lib/string.in.h (mbstok_r): Use 'restrict'.
7592         xmemcoll: Use 'restrict'.
7593         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
7594         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
7596         memcoll: Use 'restrict'.
7597         * lib/memcoll.h (memcoll): Use 'restrict'.
7598         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
7600         vasnprintf: Use 'restrict'.
7601         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
7602         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
7604         c-vasnprintf: Use 'restrict'.
7605         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
7606         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
7608         c-vsnprintf: Use 'restrict'.
7609         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
7610         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
7612         c-snprintf: Use 'restrict'.
7613         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
7614         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
7616         astrxfrm: Use 'restrict'.
7617         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
7618         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
7620         amemxfrm: Use 'restrict'.
7621         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
7622         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
7624 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
7626         fchmodat, lchmod: simplify
7627         It appears that we may have overengineered lchmod and fchmodat,
7628         in that the code was prepared for some hypothetical platforms but
7629         was so complicated that it was hard to understand.  I attempted to
7630         improve the situation by simplifying the code when this
7631         simplification should not hurt on real platforms; we can re-add
7632         complexity later to port to platforms I didn’t know about.
7633         * lib/fchmodat.c (fchmodat):
7634         * lib/lchmod.c (lchmod):
7635         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
7636         around the /proc code that needs it.
7637         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
7638         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
7639         Do not include <config.h> twice.
7640         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
7641         lchmod on any known hosts.
7642         (lchmod): Do not defer to fchmodat, so that the lchmod module
7643         need not depend on the fchmodat module (which is a circular
7644         dependency).  Do not use openat, since ‘open’ suffices.
7645         Coalesce calls to lchmod/chmod.
7646         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
7647         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
7648         * modules/lchmod (Depends-on, configure.ac):
7649         * modules/sys_stat (Depends-on):
7650         Do not worry about replacing lchmod, since that shouldn’t happen.
7651         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
7652         Do not worry about whether lchmod works on non-symlinks,
7653         since every known lchmod works on non-symlinks.
7654         * modules/lchmod (Depends-on):
7655         Remove circular dependency on fchmodat.
7657 2020-02-22  Bruno Haible  <bruno@clisp.org>
7659         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
7660         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
7661         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
7663 2020-02-22  Bruno Haible  <bruno@clisp.org>
7665         Use 'restrict' in all POSIX function declarations.
7666         * lib/iconv.in.h (iconv): Use 'restrict'.
7667         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
7668         * lib/monetary.in.h (strfmon_l): Likewise.
7669         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
7670         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
7671         pthread_mutex_timedlock, pthread_rwlock_init,
7672         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
7673         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
7674         * lib/search.in.h (tdelete): Likewise.
7675         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
7676         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
7677         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
7678         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
7679         Likewise.
7680         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
7681         strtoull): Likewise.
7682         * lib/string.in.h (strncat): Likewise.
7683         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
7684         recvfrom): Likewise.
7685         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
7686         * lib/time.in.h (strftime): Likewise.
7687         * lib/unistd.in.h (readlink, readlinkat): Likewise.
7688         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
7689         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
7690         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
7691         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
7692         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
7693         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
7694         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7695         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7696         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
7697         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
7698         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
7699         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7700         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7701         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
7702         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
7703         other *_h.m4 files.
7704         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
7706 2020-02-22  Bruno Haible  <bruno@clisp.org>
7708         Update NEWS.
7709         * NEWS: Mention the last change.
7711 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
7713         chmodat, chownat: new modules
7714         These are split from fchmodat, fchownat.  GNU Emacs needs the
7715         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
7716         lchmodat.  Split the latter two into a new module chmodat.
7717         Similarly for fchownat.  This the same basic idea for why statat
7718         was split from fstatat on 2013-01-23.
7719         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
7720         Rename from FCHMODAT_INLINE.  All uses changed.
7721         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
7722         Rename from FCHOWNAT_INLINE.  All uses changed.
7723         * lib/openat.h:
7724         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
7725         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
7726         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
7727         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
7728         (configure.ac): Remove fchmodat module indicator.
7729         (Makefile.am): Omit chmodat.c.
7730         (Maintainer): Add self.
7731         * modules/fchownat: Similarly, but for chown.
7732         * tests/test-fchownat.c (BASE): Don't define if already defined.
7733         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
7735 2020-02-22  Bruno Haible  <bruno@clisp.org>
7737         users.txt: Add groff.
7738         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
7739         * users.txt: Add groff.
7741 2020-02-22  Bruno Haible  <bruno@clisp.org>
7743         gnulib-tool: Ensure copied files are writable.
7744         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
7745         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
7746         * gnulib-tool (func_ensure_writable): New function.
7747         (func_ln_s, func_hardlink, func_lookup_file, func_import,
7748         func_create_testdir, copy-file): Invoke it after copying a file.
7750 2020-02-22  Bruno Haible  <bruno@clisp.org>
7752         users.txt: Update.
7753         * users.txt: Update URLs to projects that have moved or switched to git.
7754         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
7755         over the summary view. Add gawk.
7757 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
7759         largefile: remove _DARWIN_USE_64_BIT_INODE
7760         It’s not needed in currently-supported macOS versions, and was
7761         problematic anyway in MacOS X 10.5 which was the only version that
7762         could use it.  Problem reported by Peter Eisentraut in:
7763         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
7764         * m4/largefile.m4 (AC_SYS_LARGEFILE):
7765         Don’t define _DARWIN_USE_64_BIT_INODE.
7766         This syncs with Autoconf master.
7768         Add ‘extern "C"’ to count-one-bits.h etc.
7769         This ports these .h files to C++.
7770         Problem reported by Simon Marchi in:
7771         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
7772         * lib/count-leading-zeros.h, lib/count-one-bits.h:
7773         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
7775 2020-02-19  Bruno Haible  <bruno@clisp.org>
7777         uninorm/decompose-internal: Avoid "no previous prototype" warning.
7778         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7779         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
7780         * lib/array-mergesort.h: Accept an optional macro definition
7781         STATIC_FROMTO.
7782         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
7784 2020-02-16  Bruno Haible  <bruno@clisp.org>
7786         fchmodat: Make more future-proof.
7787         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
7788         NEED_FCHMODAT_NONSYMLINK_FIX.
7789         (gl_PREREQ_FCHMODAT): New macro.
7790         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
7791         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
7792         without lchmod function.
7793         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
7795 2020-02-16  Bruno Haible  <bruno@clisp.org>
7797         lchmod: Make more future-proof.
7798         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
7799         (gl_PREREQ_LCHMOD): New macro.
7800         * lib/lchmod.c (orig_lchmod): New function.
7801         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
7802         Return EOPNOTSUPP only on Linux and on platforms without lchmod
7803         function.
7804         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
7806         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
7807         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
7809 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
7811         xnanosleep: prefer pause, and get remaining time
7812         Problem reported by Vladimir Panteleev in:
7813         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
7814         * lib/xnanosleep.c: Include intprops.h, unistd.h.
7815         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
7816         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
7817         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
7818         * modules/xnanosleep (Depends-on): Add intprops, unistd.
7820 2020-02-16  Bruno Haible  <bruno@clisp.org>
7822         lchmod: Improve cross-compilation guess.
7823         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
7824         cross-compiling, guess depending on the platform.
7826 2020-02-16  Bruno Haible  <bruno@clisp.org>
7828         fstrcmp: Add API to clean up resources.
7829         Reported by Akim Demaille <akim@lrde.epita.fr> in
7830         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
7831         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
7832         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
7834 2020-02-14  Bruno Haible  <bruno@clisp.org>
7836         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
7837         Reported by Christian Biesinger in
7838         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
7839         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
7840         corresponding module is not enabled.
7841         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
7842         prototype if the corresponding module is not enabled.
7844 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
7846         fchmodat, lchmod: port to buggy Linux filesystems
7847         Problem reported by Florian Weimer in:
7848         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
7849         * lib/fchmodat.c (fchmodat):
7850         * lib/lchmod.c (lchmod):
7851         Don’t assume that chmod on the O_PATH-opened fd will do
7852         the right thing on a symbolic link.
7853         * lib/fchmodat.c (fchmodat):
7854         Don’t attempt to special-case
7855         any flag value other than AT_SYMLINK_NOFOLLOW.
7857 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
7859         lchmod: pacify Coverity CID 1491216
7860         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
7861         not complain about unreachable code at the ‘struct stat st;’
7862         declaration.
7864 2020-02-10  Bruno Haible  <bruno@clisp.org>
7866         copysignf: Fix link error on HP-UX with cc.
7867         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
7868         HP-UX, set COPYSIGNF_LIBM to -lm.
7870 2020-02-10  Bruno Haible  <bruno@clisp.org>
7872         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
7873         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
7874         with $(LIB_SEMAPHORE).
7875         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
7876         with $(LIB_SEMAPHORE).
7878 2020-02-10  Bruno Haible  <bruno@clisp.org>
7880         ptsname_r-tests: Avoid unused function warning.
7881         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
7883 2020-02-08  Bruno Haible  <bruno@clisp.org>
7885         lchmod: Add tests.
7886         * tests/test-lchmod.c: New file.
7887         * modules/lchmod-tests: New file.
7889 2020-02-08  Bruno Haible  <bruno@clisp.org>
7891         lchmod: Ensure declaration on HP-UX.
7892         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
7893         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
7895 2020-02-08  Bruno Haible  <bruno@clisp.org>
7897         fchmodat: Strengthen tests.
7898         * tests/test-fchmodat.c (BASE): New macro.
7899         (main): Use it, to avoid conflicts with other unit tests. Verify that
7900         fchmodat changed the file permission bits.
7902 2020-02-08  Bruno Haible  <bruno@clisp.org>
7904         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
7905         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
7906         '#undef __need_system_sys_stat_h'.
7908 2020-02-08  Bruno Haible  <bruno@clisp.org>
7910         fchmodat: Improve cross-compilation guesses.
7911         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
7912         cross-compiling, guess depending on the platform.
7913         * doc/posix-functions/fchmodat.texi: Clarify.
7915 2020-02-08  Bruno Haible  <bruno@clisp.org>
7917         Fix compilation errors in a testdir created with --with-c++-tests.
7918         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
7919         since it does not work any more with g++ >= 4.4.
7921 2020-02-08  Bruno Haible  <bruno@clisp.org>
7923         doc: Update for glibc 2.31.
7924         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
7925         * doc/gnulib.texi: Include it.
7926         * doc/pastposix-functions/h_errno.texi: Update.
7927         * doc/posix-functions/*.texi: Likewise.
7929 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
7931         mountlist: consider smb3 file systems as remote
7932         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
7933         "smb3" as remote.
7935 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7937         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
7938         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
7939         they act like chmod on non-symlinks.
7940         * NEWS:
7941         * doc/glibc-functions/lchmod.texi (lchmod):
7942         * doc/posix-functions/fchmodat.texi (fchmodat):
7943         Mention this.
7944         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
7945         config.h, and undef it after including sys/stat.h the first time.
7946         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
7947         sys/stat.h a second time after defining orig_fchmodat.
7948         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
7949         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
7950         * lib/lchmod.c: New file.
7951         * lib/sys_stat.in.h (fchmodat, lchmod):
7952         Support replacing these functions.
7953         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
7954         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
7955         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
7956         Test that lchmod works on non-symlinks.
7957         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
7958         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
7959         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
7960         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
7961         * modules/lchmod (Files): Add lib/lchmod.c.
7962         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
7963         (configure.ac): Compile lchmod.c if needed.
7964         (lib_SOURCES): Add lchmod.c.
7965         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
7966         and REPLACE_LCHMOD.
7967         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
7968         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
7970 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
7972         mountlist: Consider AFS filesystems as remote
7973         df --local relies on the ME_REMOTE macro to determine if a given
7974         mount entry should be considered "local".  There is special logic
7975         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
7976         kernel's kafs module or AuriStorFS is treated as a local mount.
7977         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
7978         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
7980 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
7982         Port _Noreturn to older Clang
7983         Problem reported by Jeffery Walton in:
7984         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
7985         * lib/_Noreturn.h (_Noreturn):
7986         * m4/gnulib-common.m4 (gl_COMMON_BODY):
7987         Assume _Noreturn works in Clang 3.5 and later.
7988         It is documented to work in Clang 3.5:
7989         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
7990         and is not documented in Clang 3.4:
7991         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
7992         Apple sets __clang_version__ to a different value, so use
7993         __apple_build_version__ there.  See:
7994         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
7996 2020-02-04  Pádraig Brady  <P@draigBrady.com>
7998         test-canonicalize: avoid unused function warning
7999         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
8000         with the same guard as that used to protect usage of the null_ptr
8001         function, so that one doesn't get a -Wunused warning.
8002         * tests/test-canonicalize-lgpl.c: Likewise.
8004 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
8006         libc-config: port to Apple’s Clang variant
8007         * lib/libc-config.h (__glibc_clang_prereq):
8008         Port to Apple’s Clang variant, which uses a different
8009         numbering scheme for __clang_major__.
8011 2020-02-02  Bruno Haible  <bruno@clisp.org>
8013         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
8014         * doc/containers.texi: Document these new modules.
8016 2020-02-02  Bruno Haible  <bruno@clisp.org>
8018         omap-c++: Add tests.
8019         * tests/test-omap-c++.cc: New file.
8020         * modules/omap-c++-tests: New file.
8022         omap-c++: New module.
8023         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
8024         * modules/omap-c++: New file.
8026 2020-02-02  Bruno Haible  <bruno@clisp.org>
8028         map-c++: Add tests.
8029         * tests/test-map-c++.cc: New file.
8030         * modules/map-c++-tests: New file.
8032         map-c++: New module.
8033         * lib/gl_map.hh: New file, based on lib/gl_map.h.
8034         * modules/map-c++: New file.
8036 2020-02-02  Bruno Haible  <bruno@clisp.org>
8038         oset-c++: Add tests.
8039         * tests/test-oset-c++.cc: New file.
8040         * modules/oset-c++-tests: New file.
8042         oset-c++: New module.
8043         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
8044         * modules/oset-c++: New file.
8046 2020-02-02  Bruno Haible  <bruno@clisp.org>
8048         set-c++: Add tests.
8049         * tests/test-set-c++.cc: New file.
8050         * modules/set-c++-tests: New file.
8052         set-c++: New module.
8053         * lib/gl_set.hh: New file, based on lib/gl_set.h.
8054         * modules/set-c++: New file.
8056 2020-02-02  Bruno Haible  <bruno@clisp.org>
8058         list-c++: Add tests.
8059         * tests/test-list-c++.cc: New file.
8060         * modules/list-c++-tests: New file.
8062         list-c++: New module.
8063         * lib/gl_list.hh: New file, based on lib/gl_list.h.
8064         * modules/list-c++: New file.
8066 2020-02-02  Bruno Haible  <bruno@clisp.org>
8068         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
8069         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
8070         '_Noreturn'.
8071         * lib/sigpipe-die.h (sigpipe_die): Likewise.
8073 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8075         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
8076         On x86_64 with glibc-2.30, gcc 9.2 is giving:
8077           error: argument 2 value '18446744073709551615'
8078           exceeds maximum object size 9223372036854775807
8079           [-Werror=alloc-size-larger-than=]
8080         The details of this restriction are discussed at:
8081         https://stackoverflow.com/q/42574890/4421
8082         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
8084 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8086         sysctl.h: avoid including on glibc
8087         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
8088         * lib/physmem.c: Likewise.
8090 2020-02-02  Bruno Haible  <bruno@clisp.org>
8092         list, set, oset, map, omap: Avoid imperative voice in documentation.
8093         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
8094         in the specification of functions.
8095         * lib/gl_set.h: Likewise.
8096         * lib/gl_oset.h: Likewise.
8097         * lib/gl_map.h: Likewise.
8098         * lib/gl_omap.h: Likewise.
8099         * lib/gl_*.h: Likewise.
8101 2020-02-01  Bruno Haible  <bruno@clisp.org>
8103         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
8104         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
8105         does.
8107 2020-01-29  Bruno Haible  <bruno@clisp.org>
8109         array-map, hash-map, linkedhash-map: Fix module description.
8110         * modules/array-map (Description): Fix description.
8111         * modules/hash-map (Description): Likewise.
8112         * modules/linkedhash-map (Description): Likewise.
8114 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8116         dfa: do not depend on isblank
8117         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
8118         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
8119         * modules/dfa (Depends-on): Remove isblank.
8120         * modules/isblank: Add a module indicator, for lib/dfa.c.
8122         dfa: do not assume 64-bit int
8123         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
8124         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
8125         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
8126         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
8127         Fall back to 32-bit words.
8128         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
8129         of 4 64-bit args.  All uses changed.
8131 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8133         regex: remove limits-h dependency
8134         * modules/regex (Depends-on): Remove limits-h, since the
8135         code no longer depends on ULONG_WIDTH already being defined.
8137         regex: port to non-GCC pre-IEC-60559
8138         Problem reported by Arnold Robbins in:
8139         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
8140         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
8142 2020-01-25  Bruno Haible  <bruno@clisp.org>
8144         c32isxdigit: Add tests.
8145         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
8146         * tests/test-c32isxdigit.sh: New file.
8147         * modules/c32isxdigit-tests: New file.
8149         c32isxdigit: New module.
8150         * lib/c32isxdigit.c: New file.
8151         * modules/c32isxdigit: New file.
8152         * doc/posix-functions/iswxdigit.texi: Mention the new module.
8154 2020-01-25  Bruno Haible  <bruno@clisp.org>
8156         c32isupper: Add tests.
8157         * tests/test-c32isupper.c: New file.
8158         * tests/test-c32isupper.sh: New file.
8159         * modules/c32isupper-tests: New file.
8161         c32isupper: New module.
8162         * lib/c32isupper.c: New file.
8163         * modules/c32isupper: New file.
8164         * doc/posix-functions/iswupper.texi: Mention the new module.
8166 2020-01-25  Bruno Haible  <bruno@clisp.org>
8168         c32isspace: Add tests.
8169         * tests/test-c32isspace.c: New file.
8170         * tests/test-c32isspace.sh: New file.
8171         * modules/c32isspace-tests: New file.
8173         c32isspace: New module.
8174         * lib/c32isspace.c: New file.
8175         * modules/c32isspace: New file.
8176         * doc/posix-functions/iswspace.texi: Mention the new module.
8178 2020-01-25  Bruno Haible  <bruno@clisp.org>
8180         c32ispunct: Add tests.
8181         * tests/test-c32ispunct.c: New file.
8182         * tests/test-c32ispunct.sh: New file.
8183         * modules/c32ispunct-tests: New file.
8185         c32ispunct: New module.
8186         * lib/c32ispunct.c: New file.
8187         * modules/c32ispunct: New file.
8188         * doc/posix-functions/iswpunct.texi: Mention the new module.
8190 2020-01-25  Bruno Haible  <bruno@clisp.org>
8192         c32isprint: Add tests.
8193         * tests/test-c32isprint.c: New file.
8194         * tests/test-c32isprint.sh: New file.
8195         * modules/c32isprint-tests: New file.
8197         c32isprint: New module.
8198         * lib/c32isprint.c: New file.
8199         * modules/c32isprint: New file.
8200         * doc/posix-functions/iswprint.texi: Mention the new module.
8202 2020-01-25  Bruno Haible  <bruno@clisp.org>
8204         c32islower: Add tests.
8205         * tests/test-c32islower.c: New file.
8206         * tests/test-c32islower.sh: New file.
8207         * modules/c32islower-tests: New file.
8209         c32islower: New module.
8210         * lib/c32islower.c: New file.
8211         * modules/c32islower: New file.
8212         * doc/posix-functions/iswlower.texi: Mention the new module.
8214 2020-01-25  Bruno Haible  <bruno@clisp.org>
8216         c32isgraph: Add tests.
8217         * tests/test-c32isgraph.c: New file.
8218         * tests/test-c32isgraph.sh: New file.
8219         * modules/c32isgraph-tests: New file.
8221         c32isgraph: New module.
8222         * lib/c32isgraph.c: New file.
8223         * modules/c32isgraph: New file.
8224         * doc/posix-functions/iswgraph.texi: Mention the new module.
8226 2020-01-25  Bruno Haible  <bruno@clisp.org>
8228         c32isdigit: Add tests.
8229         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
8230         * tests/test-c32isdigit.sh: New file.
8231         * modules/c32isdigit-tests: New file.
8233         c32isdigit: New module.
8234         * lib/c32isdigit.c: New file.
8235         * modules/c32isdigit: New file.
8236         * doc/posix-functions/iswdigit.texi: Mention the new module.
8238 2020-01-25  Bruno Haible  <bruno@clisp.org>
8240         c32iscntrl: Add tests.
8241         * tests/test-c32iscntrl.c: New file.
8242         * tests/test-c32iscntrl.sh: New file.
8243         * modules/c32iscntrl-tests: New file.
8245         c32iscntrl: New module.
8246         * lib/c32iscntrl.c: New file.
8247         * modules/c32iscntrl: New file.
8248         * doc/posix-functions/iswcntrl.texi: Mention the new module.
8250 2020-01-25  Bruno Haible  <bruno@clisp.org>
8252         c32isblank: Add tests.
8253         * tests/test-c32isblank.c: New file.
8254         * tests/test-c32isblank.sh: New file.
8255         * modules/c32isblank-tests: New file.
8257         c32isblank: New module.
8258         * lib/c32isblank.c: New file.
8259         * modules/c32isblank: New file.
8260         * doc/posix-functions/iswblank.texi: Mention the new module.
8262 2020-01-25  Bruno Haible  <bruno@clisp.org>
8264         c32isalpha: Add tests.
8265         * tests/test-c32isalpha.c: New file.
8266         * tests/test-c32isalpha.sh: New file.
8267         * modules/c32isalpha-tests: New file.
8269         c32isalpha: New module.
8270         * lib/c32isalpha.c: New file.
8271         * modules/c32isalpha: New file.
8272         * doc/posix-functions/iswalpha.texi: Mention the new module.
8274 2020-01-25  Bruno Haible  <bruno@clisp.org>
8276         c32isalnum: Add tests.
8277         * tests/test-c32isalnum.c: New file.
8278         * tests/test-c32isalnum.sh: New file.
8279         * modules/c32isalnum-tests: New file.
8281         c32isalnum: New module.
8282         * lib/c32isalnum.c: New file.
8283         * lib/c32is-impl.h: New file.
8284         * modules/c32isalnum: New file.
8285         * doc/posix-functions/iswalnum.texi: Mention the new module.
8287 2020-01-25  Bruno Haible  <bruno@clisp.org>
8289         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
8290         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
8291         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
8292         c32isupper, c32isxdigit): New declarations.
8293         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
8294         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8295         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8296         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8297         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8298         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
8299         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8300         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8301         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8302         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8303         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
8304         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
8305         c32ispunct, c32isspace, c32isupper, c32isxdigit.
8307 2020-01-25  Bruno Haible  <bruno@clisp.org>
8309         mbchar, wctype: Use the corrected iswxdigit function.
8310         * modules/mbchar (Depends-on): Add iswxdigit.
8311         * modules/wctype (Depends-on): Likewise.
8313         iswxdigit: Add tests.
8314         * tests/test-iswxdigit.c: New file.
8315         * tests/test-iswxdigit.sh: New file.
8316         * modules/iswxdigit-tests: New file.
8318         iswxdigit: New module.
8319         * m4/iswxdigit.m4: New file.
8320         * lib/wctype.in.h (iswxdigit): Potentially override.
8321         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
8322         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
8323         * lib/iswxdigit.c: New file.
8324         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
8325         REPLACE_ISWXDIGIT.
8326         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
8327         REPLACE_ISWXDIGIT.
8328         * modules/iswxdigit: New file.
8329         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
8331 2020-01-25  Bruno Haible  <bruno@clisp.org>
8333         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
8334         Reported by John Donoghue <john.david.donoghue@gmail.com> in
8335         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
8336         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
8337         off_t on mingw, invoke _lseeki64 instead of lseek.
8339 2020-01-25  Bruno Haible  <bruno@clisp.org>
8341         iswdigit tests: Avoid test failure on Cygwin.
8342         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
8343         byte sequence, return 0.
8345         iswdigit: Fix test failure on native Windows.
8346         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
8348         mbchar, wctype: Use the corrected iswdigit function.
8349         * modules/mbchar (Depends-on): Add iswdigit.
8350         * modules/wctype (Depends-on): Likewise.
8352         iswdigit: Add tests.
8353         * tests/test-iswdigit.c: New file.
8354         * tests/test-iswdigit.sh: New file.
8355         * modules/iswdigit-tests: New file.
8357         iswdigit: New module.
8358         * m4/iswdigit.m4: New file.
8359         * lib/wctype.in.h (iswdigit): Potentially override.
8360         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
8361         * lib/iswdigit.c: New file.
8362         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
8363         REPLACE_ISWDIGIT.
8364         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
8365         REPLACE_ISWDIGIT.
8366         * modules/iswdigit: New file.
8367         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
8369 2020-01-25  Bruno Haible  <bruno@clisp.org>
8371         hard-locale tests: Make it easy to reuse the musl test.
8372         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
8373         * modules/hard-locale-tests (Files): Add it.
8374         (configure.ac): Invoke gl_MUSL_LIBC.
8376 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
8378         regex: port to Gawk on nonstandard platforms
8379         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
8380         This is useful for Gawk, which does not use the Gnulib stdlib-h
8381         module.  Problem reported by Arnold Robbins in:
8382         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
8384 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
8386         regex: fix bug with >=16 subexpressions
8387         * lib/regex_internal.h (struct re_backref_cache_entry):
8388         Use bitset_word_t as the type of eps_reachable_subexps_map,
8389         instead of unsigned short int.  This fixes a bug I introduced
8390         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
8391         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
8392         Remove unused member 'unused'.
8394         regex: simplify definition of BITSET_WORD_BITS
8395         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
8396         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
8397         * lib/regex_internal.h (BITSET_WORD_BITS):
8398         * modules/regex (Depends-on): Add limits-h.
8399         Simplify now that we can use ULONG_WIDTH.
8401 2020-01-20  Bruno Haible  <bruno@clisp.org>
8403         mbrtoc32: Add note about FreeBSD 12.
8404         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
8405         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
8406         affected.
8408 2020-01-20  Bruno Haible  <bruno@clisp.org>
8410         unistr/u8-uctomb: Fix warning.
8411         Reported by Andreas Schwab <schwab@suse.de> in
8412         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
8413         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
8414         (u8_uctomb): Add FALLTHROUGH markers.
8416 2020-01-20  Bruno Haible  <bruno@clisp.org>
8418         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
8419         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
8420         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
8421         (glthread_once): Use it.
8423 2020-01-19  Bruno Haible  <bruno@clisp.org>
8425         threadlib: Disable use of weak symbols on FreeBSD 11.
8426         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8427         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
8428         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
8429         against a bug in FreeBSD 11.
8431 2020-01-19  Bruno Haible  <bruno@clisp.org>
8433         iconv_open: Improve z/OS support.
8434         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
8435         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
8436         Remove mapping for EUC-TW.
8438 2020-01-18  Bruno Haible  <bruno@clisp.org>
8440         Rename ~~gnulib.m4 to zzgnulib.m4.
8441         Suggested by Paul Eggert.
8442         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
8443         * gnulib-tool (func_get_filelist): Update.
8444         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
8446 2020-01-18  Bruno Haible  <bruno@clisp.org>
8448         doc: Update license notices.
8449         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
8450         reference to a section or to a "file as part of this distribution".
8452 2020-01-18  Bruno Haible  <bruno@clisp.org>
8454         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
8455         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
8456         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
8457         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
8458         AC_EGREP_CPP.
8460 2020-01-18  Bruno Haible  <bruno@clisp.org>
8462         Ensure Automake does not drop ~~gnulib.m4.
8463         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
8464         * m4/gnulib-common.m4 (gl_COMMON): Require it.
8466 2020-01-18  Bruno Haible  <bruno@clisp.org>
8468         Fix major regression from 2020-01-10.
8469         Reported by Paul Eggert in
8470         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
8471         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
8472         Don't AC_REQUIRE anything.
8473         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
8474         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
8475         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
8476         use ac_compile instead.
8477         (AC_CHECK_DECL): Remove override.
8478         * m4/~~gnulib.m4: New file.
8479         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
8480         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
8482 2020-01-17  Bruno Haible  <bruno@clisp.org>
8483             Paul Eggert  <eggert@cs.ucla.edu>
8485         glob: Fix use-after-free bug.
8486         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8487         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
8488         * lib/glob.c (__glob): Delay freeing dirname until after the use of
8489         end_name.
8491 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8493         vcs-to-changelog: Fix parsing of fndecl without args.
8494         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
8495         for empty arguments.
8497 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8499         vcs-to-changelog: Add documentation.
8500         * doc/vcs-to-changelog.texi: New file.
8501         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
8502         section.
8504 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8506         vcs-to-changelog: Allow loading of custom quirks file.
8507         * build-aux/vcs_to_changelog.py: New commandline option -q.
8509 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8511         vcs-to-changelog: Fix formatting of ChangeLog output.
8512         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
8513         output.
8515 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8517         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
8518         Reported in
8519         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
8520         * build-aux/vcstocl/frontend_c.py: Remove shebang.
8522 2020-01-15  Simon Josefsson  <simon@josefsson.org>
8524         crypto/gc-pbkdf2: New module.
8525         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
8526         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
8527         * lib/gc-pbkdf2.c: New file.
8528         * lib/gc-pbkdf2-sha1.c: Use new interface.
8529         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
8530         * modules/crypto/gc-pbkdf2: New file.
8531         * modules/crypto/gc-pbkdf2-tests: New file.
8532         * tests/test-gc-pbkdf2.c: New file.
8534 2020-01-12  Bruno Haible  <bruno@clisp.org>
8536         c32stombs: Add tests.
8537         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
8538         * tests/test-c32stombs-1.sh: New file, based on
8539         tests/test-c32srtombs-1.sh.
8540         * tests/test-c32stombs-2.sh: New file, based on
8541         tests/test-c32srtombs-2.sh.
8542         * tests/test-c32stombs-3.sh: New file, based on
8543         tests/test-c32srtombs-3.sh.
8544         * tests/test-c32stombs-4.sh: New file, based on
8545         tests/test-c32srtombs-4.sh.
8546         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
8548         c32stombs: New module.
8549         * lib/uchar.in.h (c32stombs): New declaration.
8550         * lib/c32stombs.c: New file.
8551         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
8552         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
8553         * modules/c32stombs: New file.
8554         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
8555         * doc/posix-functions/wcstombs.texi: Mention the new module.
8557 2020-01-11  Jim Meyering  <meyering@fb.com>
8559         perl: require the "warnings" module
8560         * m4/perl.m4: Also "use warnings", so we reject the perl found
8561         on at least one IRIX 6.5 system. Reported by Bruno Haible in
8562         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
8564 2020-01-10  Bruno Haible  <bruno@clisp.org>
8566         Fix major regression from 2020-01-04.
8567         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
8568         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
8569         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
8570         AC_DEFUN_ONCE.
8571         (AC_CHECK_DECL): Invoke, not require, it.
8573 2020-01-10  Bruno Haible  <bruno@clisp.org>
8575         c32snrtombs: Add tests.
8576         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
8577         * tests/test-c32snrtombs-1.sh: New file, based on
8578         tests/test-wcsnrtombs1.sh.
8579         * tests/test-c32snrtombs-2.sh: New file, based on
8580         tests/test-wcsnrtombs2.sh.
8581         * tests/test-c32snrtombs-3.sh: New file, based on
8582         tests/test-wcsnrtombs3.sh.
8583         * tests/test-c32snrtombs-4.sh: New file, based on
8584         tests/test-wcsnrtombs4.sh.
8585         * modules/c32snrtombs-tests: New file, based on
8586         modules/wcsnrtombs-tests.
8588         c32snrtombs: New module.
8589         * lib/uchar.in.h (c32snrtombs): New declaration.
8590         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
8591         INTERNAL_STATE, WCRTOMB.
8592         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
8593         * lib/c32snrtombs.c: New file.
8594         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
8595         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
8596         * modules/c32snrtombs: New file.
8597         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
8598         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
8600 2020-01-09  Bruno Haible  <bruno@clisp.org>
8602         c32srtombs: Add tests.
8603         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
8604         * tests/test-c32srtombs-1.sh: New file, based on
8605         tests/test-wcsrtombs1.sh.
8606         * tests/test-c32srtombs-2.sh: New file, based on
8607         tests/test-wcsrtombs2.sh.
8608         * tests/test-c32srtombs-3.sh: New file, based on
8609         tests/test-wcsrtombs3.sh.
8610         * tests/test-c32srtombs-4.sh: New file, based on
8611         tests/test-wcsrtombs4.sh.
8612         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
8614         c32srtombs: New module.
8615         * lib/uchar.in.h (c32srtombs): New declaration.
8616         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
8617         INTERNAL_STATE, WCRTOMB.
8618         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
8619         * lib/c32srtombs.c: New file.
8620         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
8621         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
8622         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
8623         * modules/c32srtombs: New file.
8624         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
8625         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
8627 2020-01-08  Bruno Haible  <bruno@clisp.org>
8629         c32tob: Make consistent with mbrtoc32.
8630         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
8631         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
8632         use c32rtomb, not wctob.
8633         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
8634         (Depends-on): Add c32rtomb.
8635         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
8637 2020-01-08  Bruno Haible  <bruno@clisp.org>
8639         c32rtomb: Add tests.
8640         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
8641         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
8642         * tests/test-c32rtomb-w32.c: New file, based on
8643         tests/test-wcrtomb-w32.c.
8644         * tests/test-c32rtomb-w32-1.sh: New file, based on
8645         tests/test-wcrtomb-w32-1.sh.
8646         * tests/test-c32rtomb-w32-2.sh: New file, based on
8647         tests/test-wcrtomb-w32-2.sh.
8648         * tests/test-c32rtomb-w32-3.sh: New file, based on
8649         tests/test-wcrtomb-w32-3.sh.
8650         * tests/test-c32rtomb-w32-4.sh: New file, based on
8651         tests/test-wcrtomb-w32-4.sh.
8652         * tests/test-c32rtomb-w32-5.sh: New file, based on
8653         tests/test-wcrtomb-w32-5.sh.
8654         * tests/test-c32rtomb-w32-6.sh: New file, based on
8655         tests/test-wcrtomb-w32-6.sh.
8656         * tests/test-c32rtomb-w32-7.sh: New file, based on
8657         tests/test-wcrtomb-w32-7.sh.
8658         * modules/c32rtomb-tests: New file.
8660         c32rtomb: New module.
8661         * lib/uchar.in.h (c32rtomb): New declaration.
8662         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
8663         * m4/c32rtomb.m4: New file.
8664         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
8665         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
8666         REPLACE_C32RTOMB.
8667         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
8668         HAVE_C32RTOMB, REPLACE_C32RTOMB.
8669         * modules/c32rtomb: New file.
8670         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
8671         * doc/posix-functions/c32rtomb.texi: Document the new module.
8672         * doc/posix-functions/wcrtomb.texi: Mention the new module.
8674 2020-01-08  Bruno Haible  <bruno@clisp.org>
8676         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
8677         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
8678         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
8679         but is not working.
8680         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
8681         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
8682         differ, use the system's mbrtoc32, adding workarounds.
8683         * modules/mbrtoc32 (Depends-on): Add hard-locale.
8684         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
8685         Windows problem.
8686         * lib/btoc32.c: Include <stdio.h>, <string.h>.
8687         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
8688         use mbrtoc32, not btowc.
8689         * modules/btoc32 (Depends-on): Add mbrtoc32.
8690         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
8691         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
8692         * modules/mbsrtoc32s (Depends-on): Update conditions.
8693         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
8694         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
8695         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
8696         * modules/mbsnrtoc32s (Depends-on): Update conditions.
8697         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
8699 2020-01-07  Bruno Haible  <bruno@clisp.org>
8701         wcrtomb: Make multithread-safe, except possibly on IRIX.
8702         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
8703         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
8704         WCRTOMB_RETVAL_BUG.
8705         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
8706         wctomb only on IRIX.
8708 2020-01-05  Jim Meyering  <meyering@fb.com>
8710         tests: skip thread-using tests when threading is disabled
8711         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
8712         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
8713         of those, so they are skipped in this case.
8714         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
8715         * tests/test-setlocale_null-mt-all.c (main): Likewise.
8716         * tests/test-setlocale_null-mt-one.c (main): Likewise.
8718 2020-01-05  Bruno Haible  <bruno@clisp.org>
8720         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
8721         Reported by Jim Meyering in
8722         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
8723         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
8724         (GNULIB_defined_ptsname_r): New macro.
8725         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
8726         (main): Disable the NULL argument test if canonicalize_file_name does
8727         not come from gnulib.
8728         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
8729         (main): Disable the NULL argument test if canonicalize_file_name does
8730         not come from gnulib.
8731         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
8732         (test_errors): Disable the NULL argument test if ptsname_r does not come
8733         from gnulib.
8735 2020-01-04  Jim Meyering  <meyering@fb.com>
8737         update-copyright: reenable its always-skipped test
8738         * tests/test-update-copyright.sh: Restore the "-pi" options removed
8739         on 2019-06-15. Without those, an internal preliminary test would
8740         fail, causing this test always to be skipped.
8741         Verify that the test is now run and passes via this:
8742           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
8744 2020-01-05  Bruno Haible  <bruno@clisp.org>
8746         mbstoc32s: Add tests.
8747         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
8748         * tests/test-mbstoc32s-1.sh: New file, based on
8749         tests/test-mbsrtoc32s-1.sh.
8750         * tests/test-mbstoc32s-2.sh: New file, based on
8751         tests/test-mbsrtoc32s-2.sh.
8752         * tests/test-mbstoc32s-3.sh: New file, based on
8753         tests/test-mbsrtoc32s-3.sh.
8754         * tests/test-mbstoc32s-4.sh: New file, based on
8755         tests/test-mbsrtoc32s-4.sh.
8756         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
8758         mbstoc32s: New module.
8759         * lib/uchar.in.h (mbstoc32s): New declaration.
8760         * lib/mbstoc32s.c: New file.
8761         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
8762         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
8763         * modules/mbstoc32s: New file.
8764         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
8765         * doc/posix-functions/mbstowcs.texi: Mention the new module.
8767 2020-01-05  Bruno Haible  <bruno@clisp.org>
8769         Tweak recently added tests.
8770         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
8771         * tests/test-mbsrtoc32s.c: Likewise.
8772         * tests/test-mbsnrtoc32s.c: Likewise.
8774 2020-01-04  Bruno Haible  <bruno@clisp.org>
8776         mbsnrtoc32s: Add tests.
8777         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
8778         * tests/test-mbsnrtoc32s-1.sh: New file, based on
8779         tests/test-mbsnrtowcs1.sh.
8780         * tests/test-mbsnrtoc32s-2.sh: New file, based on
8781         tests/test-mbsnrtowcs2.sh.
8782         * tests/test-mbsnrtoc32s-3.sh: New file, based on
8783         tests/test-mbsnrtowcs3.sh.
8784         * tests/test-mbsnrtoc32s-4.sh: New file, based on
8785         tests/test-mbsnrtowcs4.sh.
8786         * modules/mbsnrtoc32s-tests: New file, based on
8787         modules/mbsnrtowcs-tests.
8789         mbsnrtoc32s: New module.
8790         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
8791         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
8792         INTERNAL_STATE, MBRTOWC.
8793         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
8794         * lib/mbsnrtoc32s.c: New file.
8795         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
8796         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
8797         * modules/mbsnrtoc32s: New file.
8798         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
8799         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
8801 2020-01-04  Bruno Haible  <bruno@clisp.org>
8803         mbsrtoc32s tests: Enhance test.
8804         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
8805         test strings for UTF-8 and GB18030.
8807 2020-01-04  Bruno Haible  <bruno@clisp.org>
8809         mbsrtoc32s: Fix bug.
8810         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
8811         that SMALL_WCHAR_T is defined.
8813 2020-01-04  Bruno Haible  <bruno@clisp.org>
8815         mbsrtoc32s: Add tests.
8816         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
8817         * tests/test-mbsrtoc32s-1.sh: New file, based on
8818         tests/test-mbsrtowcs1.sh.
8819         * tests/test-mbsrtoc32s-2.sh: New file, based on
8820         tests/test-mbsrtowcs2.sh.
8821         * tests/test-mbsrtoc32s-3.sh: New file, based on
8822         tests/test-mbsrtowcs3.sh.
8823         * tests/test-mbsrtoc32s-4.sh: New file, based on
8824         tests/test-mbsrtowcs4.sh.
8825         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
8827         mbsrtoc32s: New module.
8828         * lib/uchar.in.h (mbsrtoc32s): New declaration.
8829         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
8830         INTERNAL_STATE, MBRTOWC.
8831         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
8832         * lib/mbsrtoc32s.c: New file.
8833         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
8834         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
8835         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
8836         * modules/mbsrtoc32s: New file.
8837         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
8838         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
8840 2020-01-04  Bruno Haible  <bruno@clisp.org>
8842         mbrtowc, mbrtoc32: Tighten dependendies.
8843         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
8844         REPLACE_MBSTATE_T is 1.
8845         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
8846         REPLACE_MBSTATE_T is 0.
8847         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
8848         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
8849         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
8850         REPLACE_MBSTATE_T is 0.
8852 2020-01-04  Bruno Haible  <bruno@clisp.org>
8854         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
8855         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
8856         * modules/uchar (Files): Add stdint.m4.
8857         (Makefile.am): Substitute SMALL_WCHAR_T.
8858         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
8860 2020-01-04  Bruno Haible  <bruno@clisp.org>
8862         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
8863         Reported by Martin Storsjö <martin@martin.st> in
8864         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
8865         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
8866         New macros.
8867         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
8869 2020-01-04  Bruno Haible  <bruno@clisp.org>
8871         btoc32: Add tests.
8872         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
8873         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
8874         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
8875         * modules/btoc32-tests: New file, based on modules/btowc-tests.
8877         btoc32: New module.
8878         * lib/uchar.in.h (btoc32): New declaration.
8879         * lib/btoc32.c: New file.
8880         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
8881         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
8882         * modules/btoc32: New file.
8883         * tests/test-uchar-c++.cc: Test the signature of btoc32.
8884         * doc/posix-functions/btowc.texi: Mention the new module.
8886 2020-01-03  Bruno Haible  <bruno@clisp.org>
8888         uchar tests: Avoid compilation error with HP cc.
8889         * tests/test-uchar.c: Disable a test when HP cc is in use.
8891 2020-01-03  Bruno Haible  <bruno@clisp.org>
8893         mbrtoc32: Add tests.
8894         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
8895         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
8896         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
8897         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
8898         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
8899         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
8900         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
8901         * tests/test-mbrtoc32-w32-1.sh: New file, based on
8902         tests/test-mbrtowc-w32-1.sh.
8903         * tests/test-mbrtoc32-w32-2.sh: New file, based on
8904         tests/test-mbrtowc-w32-2.sh.
8905         * tests/test-mbrtoc32-w32-3.sh: New file, based on
8906         tests/test-mbrtowc-w32-3.sh.
8907         * tests/test-mbrtoc32-w32-4.sh: New file, based on
8908         tests/test-mbrtowc-w32-4.sh.
8909         * tests/test-mbrtoc32-w32-5.sh: New file, based on
8910         tests/test-mbrtowc-w32-5.sh.
8911         * tests/test-mbrtoc32-w32-6.sh: New file, based on
8912         tests/test-mbrtowc-w32-6.sh.
8913         * tests/test-mbrtoc32-w32-7.sh: New file, based on
8914         tests/test-mbrtowc-w32-7.sh.
8915         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
8917         mbrtoc32: New module.
8918         * lib/uchar.in.h (mbrtoc32): New declaration.
8919         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
8920         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
8921         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
8922         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
8923         REPLACE_MBRTOC32.
8924         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
8925         HAVE_MBRTOC32, REPLACE_MBRTOC32.
8926         * modules/mbrtoc32: New file, based on modules/mbrtowc.
8927         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
8928         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
8929         $(LIB_MBRTOWC).
8930         * doc/posix-functions/mbrtoc32.texi: Document the new module.
8931         * doc/posix-functions/mbrtowc.texi: Mention the new module.
8933 2020-01-03  Bruno Haible  <bruno@clisp.org>
8935         mbrtowc: Refactor to share code with mbrtoc32.
8936         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
8937         * lib/mbrtowc-impl-utf8.h: Likewise.
8938         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
8939         mbrtowc-impl.h.
8940         * modules/mbrtowc (Files): Add the new files.
8942 2020-01-03  Jim Meyering  <meyering@fb.com>
8944         doc: fix time.texi wording
8945         * doc/posix-headers/time.texi (time.h): Typo.
8947 2020-01-03  Bruno Haible  <bruno@clisp.org>
8949         mbrtowc: Refactor locale charset dispatching.
8950         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
8951         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
8952         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
8953         localcharset.h, streq.h.
8954         (enc_t): Remove type.
8955         (locale_enc): Remove function.
8956         (cached_locale_enc): Remove variable.
8957         (locale_enc_cached): Remove function.
8958         (mbrtowc): Invoke locale_encoding_classification.
8959         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
8960         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
8961         lc-charset-dispatch.c.
8962         (configure.ac): Arrange to compile lc-charset-dispatch.c.
8964 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
8966         doc: mention 32-bit time_t issue
8967         * doc/posix-headers/sys_stat.texi (sys/stat.h):
8968         * doc/posix-headers/time.texi (time.h): Mention 2038.
8970 2020-01-03  Bruno Haible  <bruno@clisp.org>
8972         mbrtowc: Ensure the mbtowc_lock is unique.
8973         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
8974         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
8975         lib/setlocale_null.c.
8976         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
8977         glthread/lock.h. Include mbtowc-lock.h.
8978         (mbtowc_lock): Remove declaration.
8979         (mbrtowc): Use mbtowc_with_lock.
8980         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
8981         threads.h. Set LIB_MBRTOWC.
8982         (gl_PREREQ_MBTOWC_LOCK): New macro.
8983         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
8984         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
8985         (Depends-on): Remove lock.
8986         (configure.ac): Arrange to compile mbtowc-lock.c.
8987         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
8988         * modules/acl (Link): Likewise.
8989         * modules/argmatch (Link): Likewise.
8990         * modules/backup-rename (Link): Likewise.
8991         * modules/backupfile (Link): Likewise.
8992         * modules/closein (Link): Likewise.
8993         * modules/closeout (Link): Likewise.
8994         * modules/copy-file (Link): Likewise.
8995         * modules/csharpcomp (Link): Likewise.
8996         * modules/csharpexec (Link): Likewise.
8997         * modules/dfa (Link): Likewise.
8998         * modules/exclude (Link): Likewise.
8999         * modules/fnmatch (Link): Likewise.
9000         * modules/fnmatch-gnu (Link): Likewise.
9001         * modules/fnmatch-posix (Link): Likewise.
9002         * modules/glob (Link): Likewise.
9003         * modules/human (Link): Likewise.
9004         * modules/javacomp (Link): Likewise.
9005         * modules/javaexec (Link): Likewise.
9006         * modules/javaversion (Link): Likewise.
9007         * modules/mbfile (Link): Likewise.
9008         * modules/mbiter (Link): Likewise.
9009         * modules/mbmemcasecmp (Link): Likewise.
9010         * modules/mbmemcasecoll (Link): Likewise.
9011         * modules/mbrlen (Link): Likewise.
9012         * modules/mbscasecmp (Link): Likewise.
9013         * modules/mbscasestr (Link): Likewise.
9014         * modules/mbschr (Link): Likewise.
9015         * modules/mbscspn (Link): Likewise.
9016         * modules/mbsinit (Link): Likewise.
9017         * modules/mbslen (Link): Likewise.
9018         * modules/mbsncasecmp (Link): Likewise.
9019         * modules/mbsnlen (Link): Likewise.
9020         * modules/mbsnrtowcs (Link): Likewise.
9021         * modules/mbspbrk (Link): Likewise.
9022         * modules/mbspcasecmp (Link): Likewise.
9023         * modules/mbsrchr (Link): Likewise.
9024         * modules/mbsrtowcs (Link): Likewise.
9025         * modules/mbssep (Link): Likewise.
9026         * modules/mbsspn (Link): Likewise.
9027         * modules/mbsstr (Link): Likewise.
9028         * modules/mbstok_r (Link): Likewise.
9029         * modules/mbswidth (Link): Likewise.
9030         * modules/mbuiter (Link): Likewise.
9031         * modules/mkdir-p (Link): Likewise.
9032         * modules/propername (Link): Likewise.
9033         * modules/quote (Link): Likewise.
9034         * modules/quotearg (Link): Likewise.
9035         * modules/quotearg-simple (Link): Likewise.
9036         * modules/regex-quote (Link): Likewise.
9037         * modules/rpmatch (Link): Likewise.
9038         * modules/sh-quote (Link): Likewise.
9039         * modules/system-quote (Link): Likewise.
9040         * modules/trim (Link): Likewise.
9041         * modules/unistdio/ulc-asnprintf (Link): Likewise.
9042         * modules/unistdio/ulc-fprintf (Link): Likewise.
9043         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
9044         * modules/unistdio/ulc-vasprintf (Link): Likewise.
9045         * modules/unistdio/ulc-vfprintf (Link): Likewise.
9046         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
9047         * modules/unistdio/ulc-vsprintf (Link): Likewise.
9048         * modules/xfreopen (Link): Likewise.
9049         * modules/xmemcoll (Link): Likewise.
9050         * modules/yesno (Link): Likewise.
9051         * modules/regex (Link): Add $(LIB_MBRTOWC).
9052         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
9053         instead of $(LIBTHREAD).
9054         * modules/argmatch-tests (Makefile.am): Likewise.
9055         * modules/closein-tests (Makefile.am): Likewise.
9056         * modules/copy-file-tests (Makefile.am): Likewise.
9057         * modules/dfa-tests (Makefile.am): Likewise.
9058         * modules/fnmatch-tests (Makefile.am): Likewise.
9059         * modules/glob-tests (Makefile.am): Likewise.
9060         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9061         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9062         * modules/mbrtowc-tests (Makefile.am): Likewise.
9063         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9064         * modules/mbscasestr-tests (Makefile.am): Likewise.
9065         * modules/mbschr-tests (Makefile.am): Likewise.
9066         * modules/mbscspn-tests (Makefile.am): Likewise.
9067         * modules/mbsinit-tests (Makefile.am): Likewise.
9068         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9069         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9070         * modules/mbspbrk-tests (Makefile.am): Likewise.
9071         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9072         * modules/mbsrchr-tests (Makefile.am): Likewise.
9073         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9074         * modules/mbsspn-tests (Makefile.am): Likewise.
9075         * modules/mbsstr-tests (Makefile.am): Likewise.
9076         * modules/quotearg-simple-tests (Makefile.am): Likewise.
9077         * modules/quotearg-tests (Makefile.am): Likewise.
9078         * modules/readtokens-tests (Makefile.am): Likewise.
9079         * modules/sh-quote-tests (Makefile.am): Likewise.
9080         * modules/system-quote-tests (Makefile.am): Likewise.
9081         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
9082         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9083         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
9084         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
9085         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
9086         * modules/yesno-tests (Makefile.am): Likewise.
9087         * modules/exclude-tests (Makefile.am): Link the programs with
9088         $(LIB_MBRTOWC).
9089         * modules/regex-tests (Makefile.am): Likewise.
9090         * modules/regex-quote-tests (Makefile.am): Likewise.
9092 2020-01-03  Bruno Haible  <bruno@clisp.org>
9094         getopt-posix: Fix compilation failure in testdirs.
9095         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
9096         when the gnulib module 'getopt-posix' is enabled.
9097         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
9098         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
9099         module indicator.
9100         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
9102 2020-01-03  Bruno Haible  <bruno@clisp.org>
9104         doc: Mention the 64-bit inode number problem.
9105         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
9106         64-bit inode number problem.
9107         * doc/posix-functions/stat.texi: Mention that this module fixes the
9108         64-bit inode number problem.
9109         * doc/posix-functions/lstat.texi: Likewise.
9110         * doc/posix-functions/fstat.texi: Likewise.
9111         * doc/posix-functions/readdir.texi: Add more details.
9112         * doc/posix-functions/readdir_r.texi: Likewise.
9114 2020-01-02  Bruno Haible  <bruno@clisp.org>
9116         wcrtomb: Add more tests.
9117         * tests/test-wcrtomb-w32.c: Include localcharset.h.
9118         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
9119         locale_charset() returns the expected value; otherwise, skip the test.
9120         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
9121         * tests/test-wcrtomb-w32-7.sh: Likewise.
9122         * modules/wcrtomb-tests (Files): Add these files.
9123         (Depends-on): Add localcharset.
9124         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
9126 2020-01-02  Bruno Haible  <bruno@clisp.org>
9128         mbrtowc: Add more tests.
9129         * tests/test-mbrtowc-w32.c: Include localcharset.h.
9130         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
9131         locale_charset() returns the expected value; otherwise, skip the test.
9132         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
9133         * tests/test-mbrtowc-w32-7.sh: Likewise.
9134         * modules/mbrtowc-tests (Files): Add these files.
9135         (Depends-on): Add localcharset.
9136         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
9138 2020-01-02  Bruno Haible  <bruno@clisp.org>
9140         mbrtowc: Fix test failures on MSVC (regression by previous commit).
9141         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
9142         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
9143         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
9144         MBRTOWC_STORES_INCOMPLETE_BUG.
9145         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
9147 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
9149         doc: mention glibc bug 24269
9150         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
9151         Reformat slightly so that it looks nicer in the Grep manual.
9153 2020-01-02  Bruno Haible  <bruno@clisp.org>
9155         mbrtowc: Don't replace mbstate_t on MSVC.
9156         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
9157         a missing mbsinit function on native Windows.
9158         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
9159         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
9160         MSVC bug.
9161         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
9163 2020-01-02  Bruno Haible  <bruno@clisp.org>
9165         setlocale-null: Avoid crashing the MSVC linker.
9166         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
9167         MSVC.
9169 2020-01-02  Bruno Haible  <bruno@clisp.org>
9171         wchar: Make the HP-UX workaround work on HP-UX 11.31.
9172         * modules/wchar (Depends-on): Add inttypes-incomplete.
9173         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
9174         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
9175         of strtoimax.
9177 2020-01-02  Bruno Haible  <bruno@clisp.org>
9179         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
9180         * lib/mbrtowc.c: Include <stdint.h>.
9181         * modules/mbrtowc (Depends-on): Add stdint.
9183 2020-01-01  Pádraig Brady  <P@draigBrady.com>
9185         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
9186         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
9187         which will auto enable use of openssl, only for >= version 3,
9188         which is newly licensed under the Apache Software License.
9190 2020-01-01  Bruno Haible  <bruno@clisp.org>
9192         mbrtowc: Include function name in macro names.
9193         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
9194         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
9195         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
9196         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
9197         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
9198         C_LOCALE_MAYBE_EILSEQ.
9200 2020-01-01  Bruno Haible  <bruno@clisp.org>
9202         c32tob: New module.
9203         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
9204         (c32tob): New declaration.
9205         * lib/c32tob.c: New file.
9206         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
9207         macros.
9208         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
9209         * modules/uchar (Depends-on): Add snippet/c++defs.
9210         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
9211         uchar.h.
9212         * modules/c32tob: New file.
9213         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
9214         defined.
9215         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
9216         c32tob.
9217         * modules/uchar-c++-tests (Files): Add tests/signature.h.
9218         * doc/posix-functions/wctob.texi: Mention the new module.
9220 2020-01-01  Bruno Haible  <bruno@clisp.org>
9222         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
9223         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
9224         $(LIB_SETLOCALE).
9226 2020-01-01  Bruno Haible  <bruno@clisp.org>
9228         hard-locale tests: Fix a conflict with the C++ tests.
9229         * modules/hard-locale-tests (Makefile.am): Build a program named
9230         'current-locale', not 'locale'.
9232 2020-01-01  Bruno Haible  <bruno@clisp.org>
9234         doc: Update documentation about wchar_t.
9235         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
9236         wchar_t type.
9238 2020-01-01  Bruno Haible  <bruno@clisp.org>
9240         mbrtowc tests: Fix typos.
9241         * tests/test-mbrtowc.c (main): Fix typo.
9242         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
9244 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9246         maint: update copyright notices
9247         Before doing the following changes done by hand, I also ran ‘make
9248         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
9249         to do most of the copyright years automatically.  A few upstream
9250         sources are still in 2019 but these should eventually be changed
9251         automatically too.
9252         * build-aux/declared.sh (func_version):
9253         * build-aux/libtool-next-version (func_version):
9254         * build-aux/run-test (func_version):
9255         Update these notices by hand.  Put just the last year
9256         in output of programs, as per GNU coding standards.
9258 2019-12-31  Bruno Haible  <bruno@clisp.org>
9260         uchar: Add C++ tests.
9261         * tests/test-uchar-c++.cc: New file.
9262         * tests/test-uchar-c++2.cc: New file.
9263         * modules/uchar-c++-tests: New file.
9265         uchar: Add tests.
9266         * tests/test-uchar.c: New file.
9267         * modules/uchar-tests: New file.
9269         uchar: New module.
9270         * lib/uchar.in.h: New file.
9271         * m4/uchar.m4: New file.
9272         * modules/uchar: New file.
9273         * doc/posix-headers/uchar.texi: Mention the new module.
9275 2019-12-30  Jim Meyering  <meyering@fb.com>
9277         localeinfo: ->simple would be wrong for LC_ALL=C
9278         That would lead to using unnecessary and expensive code paths in dfa.c.
9279         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
9280         error that would have made grep many times slower in the C locale.
9281         With this change, and a file created like this:
9282           yes 00 | head -10000000 > in
9283         Running grep as follows becomes more than 40 times faster:
9284           LC_ALL=C grep -Fw 0 in
9286 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9288         doc: document trouble with back-references
9289         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
9291 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9293         doc: use “back-reference” for \1 etc.
9294         * doc/regex.texi: Consistently spell “back-reference” with
9295         a hyphen, since that’s how POSIX does it.
9297 2019-12-26  Jim Meyering  <meyering@fb.com>
9299         test-framework-sh: tighten an internal grep regexp
9300         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
9301         that helps test for a working printf.
9303 2019-12-26  Bruno Haible  <bruno@clisp.org>
9305         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
9306         Reported by Paul Eggert in
9307         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
9308         Simplification by Jim Meyering.
9309         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
9310         octal escape sequence in a UTF-8 locale.
9312 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
9314         mbrtowc: port better to narrow-wchar_t platforms
9315         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
9316         wchar_t is too narrow to represent all the Unicode characters,
9317         consider a byte sequence for an out-of-wchar_t-range character to
9318         be an encoding error.  This fixes grep’s surrogate-pair test
9319         failure on AIX 7.2.
9321 2019-12-24  Bruno Haible  <bruno@clisp.org>
9323         localcharset: Avoid referencing rpl_setlocale on native Windows.
9324         * lib/localcharset.c (setlocale): Undefine.
9326 2019-12-24  Bruno Haible  <bruno@clisp.org>
9328         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
9329         * m4/semaphore.m4: New file.
9330         * modules/lock-tests (Files): Add it.
9331         (configure.ac): Require gl_SEMAPHORE.
9332         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
9334 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
9336         strptime: fix typo in previous patch
9337         Problem and fix reported by Bruno Haible in:
9338         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
9339         * lib/strptime.c (day_of_the_week): Fix paren bug.
9341 2019-12-24  Bruno Haible  <bruno@clisp.org>
9343         setlocale-null: Make it easy to rely on the lock in another library.
9344         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
9345         defined.
9347 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
9349         gethrxtime, mktime, nstrftime, strptime: tweak division performance
9350         Performanced analyzed by Bruno Haible in:
9351         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
9352         * config/srclist.txt: Do not sync mktime.c for now.
9353         * lib/mktime.c (shr, ydhms_diff):
9354         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
9355         * lib/strptime.c (day_of_the_week):
9356         * lib/xtime.h (xtime_sec):
9357         Redo with neither ‘%’ nor conditional branches.
9359 2019-12-23  Bruno Haible  <bruno@clisp.org>
9361         setlocale-null: Export the lock function also on non-Windows platforms.
9362         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
9363         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
9364         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
9365         * modules/setlocale-null (configure.ac): Invoke it.
9366         (Files): Add m4/visibility.m4.
9368 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9370         gethrxtime: fix rounding bug with negative args
9371         Problem reported by Bruno Haible in:
9372         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
9373         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
9374         with negative rounding.  Common platforms can compute / and % with
9375         a single instruction, so the simplified code should be shorter and
9376         faster on these platforms anyway.
9378 2019-12-22  Bruno Haible  <bruno@clisp.org>
9380         gethrxtime: remove incorrect overflow detection
9381         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
9382         integer overflow, as it didn’t suffice.  This reverts the xtime.h
9383         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
9384         cannot now see the need for anyway (even in cases where it works),
9385         as the patch is helpful only when the signs of S and NS disagree,
9386         and all callers pass nonnegative values for S and NS.
9388 2019-12-22  Bruno Haible  <bruno@clisp.org>
9390         setlocale-null: Add standalone include file.
9391         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
9392         * lib/locale.in.h: Include setlocale_null.h.
9393         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
9394         setlocale_null): Remove declarations.
9395         * lib/setlocale_null.c: Include setlocale_null.h.
9396         * lib/localename.c: Likewise.
9397         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
9398         (Depends-on): Add snippet/arg-nonnull.
9399         (Include): Allow either "setlocale_null.h" or <locale.h>.
9401 2019-12-22  Bruno Haible  <bruno@clisp.org>
9403         strfmon_l: Fix test failures on FreeBSD and Cygwin.
9404         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
9405         AC_RUN_IFELSE test.
9406         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
9407         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
9408         problem.
9410 2019-12-22  Bruno Haible  <bruno@clisp.org>
9412         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
9413         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
9414         unconditional AC_LIBOBJ.
9415         * modules/selinux-at: Likewise.
9416         * modules/xmemdup0: Likewise.
9417         * modules/xstrtoll: Likewise.
9419 2019-12-22  Bruno Haible  <bruno@clisp.org>
9421         longlong: Mark module obsolete.
9422         * modules/longlong (Status, Notice): New sections.
9424         stdint: Assume that the compiler supports 'long long'.
9425         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
9426         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
9427         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9428         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
9429         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9430         * modules/stdint (Files): Remove longlong.m4.
9431         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
9432         HAVE_UNSIGNED_LONG_LONG_INT.
9434         inttypes-incomplete: Assume that the compiler supports 'long long'.
9435         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
9436         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
9437         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9438         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
9439         HAVE_LONG_LONG_INT to be 1.
9440         * modules/inttypes-incomplete (Makefile.am): Don't substitute
9441         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
9443         malloca: Assume that the compiler supports 'long long'.
9444         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
9445         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
9446         * modules/malloca (Files): Remove longlong.m4.
9447         * modules/relocatable-prog-wrapper (Files): Likewise.
9449         atoll: Assume that the compiler supports 'long long'.
9450         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
9451         * modules/atoll (Files): Remove longlong.m4.
9453         strtoll: Assume that the compiler supports 'long long'.
9454         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
9455         * modules/strtoll (Files): Remove longlong.m4.
9457         strtoull: Assume that the compiler supports 'long long'.
9458         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
9459         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9460         * modules/strtoull (Files): Remove longlong.m4.
9462         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
9463         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
9464         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9465         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
9466         AC_TYPE_LONG_LONG_INT.
9467         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
9468         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9469         * modules/strtoimax (Files): Remove longlong.m4.
9470         * modules/strtoumax (Files): Likewise.
9472         xstrtoll: Assume that the compiler supports 'long long'.
9473         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
9474         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
9476         vasnprintf: Assume that the compiler supports 'long long'.
9477         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
9478         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
9479         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9480         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
9481         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
9482         require AC_TYPE_LONG_LONG_INT.
9483         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
9484         gl_PREREQ_VASNPRINTF): Likewise.
9485         * modules/vasnprintf (Files): Remove longlong.m4.
9486         * modules/c-vasnprintf (Files): Likewise.
9487         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9488         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9489         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9490         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9491         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9492         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9493         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9495         gethrxtime: Assume that the compiler supports 'long long'.
9496         * lib/xtime.h (xtime_t): Define to 'long long int' always.
9497         (XTIME_PRECISION): Define to 1000000000 always.
9498         (xtime_make, xtime_sec): Optimize accordingly.
9499         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
9500         * modules/gethrxtime (Files): Remove longlong.m4.
9502         integer_length*: Assume that the compiler supports 'long long'.
9503         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
9504         * modules/integer_length (Files): Remove longlong.m4.
9505         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9506         * modules/integer_length_l (Files): Remove longlong.m4.
9507         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9508         * modules/integer_length_ll (Files): Remove longlong.m4.
9509         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9511         count-one-bits: Assume that the compiler supports 'long long'.
9512         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
9513         * m4/count-one-bits.m4: Remove file.
9514         * modules/count-one-bits (Files): Remove it.
9515         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
9516         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
9517         unconditionally.
9519         count-trailing-zeros: Assume that the compiler supports 'long long'.
9520         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
9521         unconditionally.
9522         * m4/count-trailing-zeros.m4: Remove file.
9523         * modules/count-trailing-zeros (Files): Remove it.
9524         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
9525         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
9526         unconditionally.
9528         count-leading-zeros: Assume that the compiler supports 'long long'.
9529         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
9530         unconditionally.
9531         * m4/count-leading-zeros.m4: Remove file.
9532         * modules/count-leading-zeros (Files): Remove it.
9533         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
9534         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
9535         unconditionally.
9537 2019-12-22  Bruno Haible  <bruno@clisp.org>
9539         localcharset: Update support for OpenBSD.
9540         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
9542 2019-12-21  Bruno Haible  <bruno@clisp.org>
9544         pthread_sigmask: Avoid test failure on NetBSD 8.0.
9545         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
9546         NetBSD.
9547         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
9549 2019-12-21  Bruno Haible  <bruno@clisp.org>
9551         threadlib: Improve code structure.
9552         * m4/threadlib.m4: Reorder macros. Add comments.
9554 2019-12-21  Bruno Haible  <bruno@clisp.org>
9556         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
9557         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
9558         here from m4/threads.m4).
9559         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
9560         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
9561         (gl_STDTHREADLIB): New macro.
9562         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
9563         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
9565 2019-12-21  Bruno Haible  <bruno@clisp.org>
9567         sched_yield: Don't depend on threadlib and yield.
9568         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
9569         LIB_SCHED_YIELD.
9570         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
9571         m4/yield.m4).
9572         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
9573         gl_THREADLIB and gl_YIELD.
9574         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
9575         based on $(LIB_SCHED_YIELD).
9576         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
9577         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9578         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
9579         (Depends-on): Remove threadlib.
9580         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9581         * modules/threads-h (Files): Remove m4/yield.m4.
9582         * modules/pthread-cond-tests (Makefile.am): Link the programs against
9583         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9584         * modules/pthread-mutex-tests (Makefile.am): Likewise.
9585         * modules/pthread-once-tests (Makefile.am): Likewise.
9586         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
9587         * modules/pthread-tss-tests (Makefile.am): Likewise.
9589 2019-12-21  Bruno Haible  <bruno@clisp.org>
9591         threads-h: Don't depend on threadlib.
9592         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
9593         not gl_THREADLIB_EARLY.
9595 2019-12-21  Bruno Haible  <bruno@clisp.org>
9597         nl_langinfo tests: Fix link error (regression from 2019-12-18).
9598         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
9599         with $(LIB_SETLOCALE).
9601 2019-12-21  Bruno Haible  <bruno@clisp.org>
9603         threadlib: Remove unused dependency (left over from 2019-07-06).
9604         * modules/threadlib (Depends-on): Remove havelib.
9606 2019-12-21  Bruno Haible  <bruno@clisp.org>
9608         New convention for multithread-safety tests.
9609         * tests/test-setlocale_null-mt-one.c: Renamed from
9610         tests/test-setlocale_null-one.c.
9611         * tests/test-setlocale_null-mt-all.c: Renamed from
9612         tests/test-setlocale_null-all.c.
9613         * modules/setlocale-null-tests (Files, Makefile.am): Update.
9615 2019-12-21  Bruno Haible  <bruno@clisp.org>
9617         quotearg tests: Fix conflict with hard-locale tests.
9618         * tests/testlocale: Renamed from tests/locale.
9619         * modules/quotearg-tests (Files): Update.
9620         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
9622 2019-12-21  Bruno Haible  <bruno@clisp.org>
9624         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
9625         Reported by Daniel Richard G. in
9626         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
9627         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
9628         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
9629         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
9630         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
9631         alternative to PTHREAD_RWLOCK_INITIALIZER.
9632         * lib/glthread/lock.c: Likewise.
9634 2019-12-21  Bruno Haible  <bruno@clisp.org>
9636         memcmp tests: Work around the clang bug.
9637         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
9638         the clang optimization.
9640 2019-12-20  Bruno Haible  <bruno@clisp.org>
9642         localcharset: Add support for z/OS encoding names.
9643         * lib/localcharset.h: Mention which encodings are used as locale
9644         encodings on z/OS.
9646 2019-12-20  Bruno Haible  <bruno@clisp.org>
9648         iconv_open: Add support for z/OS encoding names.
9649         Reported by Daniel Richard G. in
9650         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
9651         * lib/iconv_open-zos.gperf: New file.
9652         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
9653         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
9654         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
9655         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
9656         * doc/posix-functions/iconv_open.texi: Mention z/OS.
9658 2019-12-20  Bruno Haible  <bruno@clisp.org>
9660         doc: Document the problem of the per-thread locale functions on z/OS.
9661         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
9662         * doc/posix-functions/newlocale.texi: Likewise.
9663         * doc/posix-functions/duplocale.texi: Likewise.
9664         * doc/posix-functions/freelocale.texi: Likewise.
9666 2019-12-20  Bruno Haible  <bruno@clisp.org>
9668         localename, gettext: Fix host_os value for z/OS.
9669         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
9670         cross-configuration code.
9672 2019-12-19  Jim Meyering  <meyering@fb.com>
9674         nstrftime: avoid a shadowing warning
9675         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
9676         to avoid shadowing an "i" declared hundreds of lines above.
9678 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9680         dfa: struct dfamust now uses flexible array
9681         * lib/dfa.c: Include flexmember.h.
9682         (dfamust, dfamustfree): Adjust to struct dfamust change.
9683         This saves a call to malloc+free.
9684         * lib/dfa.h (struct dfamust): Make the final member a
9685         flexible array member.
9686         * modules/dfa (Depends-on): Add flexmember.
9688         dfa: fast->small for array elements
9689         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
9690         since this type is used in arrays.  This change is more for
9691         documentation than for any practical effect, since the two types
9692         are the same on all known platforms.
9694 2019-12-19  Bruno Haible  <bruno@clisp.org>
9696         iconv tests: Test canonicalized, not system-dependent, encoding names.
9697         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
9698         * modules/iconv-tests (Depends-on): Add iconv_open.
9700 2019-12-18  Bruno Haible  <bruno@clisp.org>
9702         localename: Fix test failure on AIX 7.2.
9703         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
9704         locales on AIX.
9705         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
9706         locales on AIX.
9708 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9710         Improve port of AC_C_RESTRICT to Oracle C++
9711         Problem reported by Christian Biesinger in:
9712         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
9713         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
9714         Oracle Developer Studio C++ 12.5 or later.
9716 2019-12-18  Bruno Haible  <bruno@clisp.org>
9718         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
9719         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
9721 2019-12-18  Bruno Haible  <bruno@clisp.org>
9723         localename: Ensure multithread-safety in future changes.
9724         * lib/localename.c (setlocale): Reference the system's setlocale().
9725         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
9726         (gl_locale_name_posix): Likewise.
9727         * modules/localename (Depends-on): Add setlocale-null.
9729 2019-12-18  Bruno Haible  <bruno@clisp.org>
9731         setlocale-null: Make API more useful.
9732         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
9733         callers changed.
9734         (setlocale_null): New declaration.
9735         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
9736         extracted from setlocale_null_unlocked.
9737         (setlocale_null_unlocked): Invoke it.
9738         (setlocale_null_r): Renamed from setlocale_null.
9739         (setlocale_null): New function, extracted from setlocale_mtsafe in
9740         setlocale.c.
9741         * lib/setlocale.c: Don't include <errno.h>.
9742         (setlocale_mtsafe): Invoke setlocale_null.
9743         * lib/setlocale-lock.c: Update comments.
9744         * doc/posix-functions/setlocale.texi: Mention both functions.
9746 2019-12-18  Bruno Haible  <bruno@clisp.org>
9748         localename: Optimize code for native Windows.
9749         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
9750         category (not allowed here).
9752 2019-12-18  Bruno Haible  <bruno@clisp.org>
9754         setlocale: Make calls with NULL argument multithread-safe.
9755         * lib/setlocale.c: Include <errno.h>.
9756         (setlocale_mtsafe): New function.
9757         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
9758         (setlocale_improved): Renamed from rpl_setlocale.
9759         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
9760         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
9761         LIB_SETLOCALE.
9762         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
9763         (Link): New section.
9764         * tests/locale.c: Undefine setlocale.
9765         * tests/test-setlocale_null-one.c: Likewise.
9766         * tests/test-setlocale_null-all.c: Likewise.
9767         * modules/setlocale-tests (Makefile.am): Link the test programs with
9768         $(LIB_SETLOCALE).
9769         * modules/astrxfrm-tests (Makefile.am): Likewise.
9770         * modules/btowc-tests (Makefile.am): Likewise.
9771         * modules/c-ctype-tests (Makefile.am): Likewise.
9772         * modules/c-snprintf-tests (Makefile.am): Likewise.
9773         * modules/c-strcase-tests (Makefile.am): Likewise.
9774         * modules/c-vasprintf-tests (Makefile.am): Likewise.
9775         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
9776         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
9777         * modules/dfa-tests (Makefile.am): Likewise.
9778         * modules/duplocale-tests (Makefile.am): Likewise.
9779         * modules/hard-locale-tests (Makefile.am): Likewise.
9780         * modules/localcharset-tests (Makefile.am): Likewise.
9781         * modules/localename-tests (Makefile.am): Likewise.
9782         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9783         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9784         * modules/mbrtowc-tests (Makefile.am): Likewise.
9785         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9786         * modules/mbscasestr-tests (Makefile.am): Likewise.
9787         * modules/mbschr-tests (Makefile.am): Likewise.
9788         * modules/mbscspn-tests (Makefile.am): Likewise.
9789         * modules/mbsinit-tests (Makefile.am): Likewise.
9790         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9791         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9792         * modules/mbspbrk-tests (Makefile.am): Likewise.
9793         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9794         * modules/mbsrchr-tests (Makefile.am): Likewise.
9795         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9796         * modules/mbsspn-tests (Makefile.am): Likewise.
9797         * modules/mbsstr-tests (Makefile.am): Likewise.
9798         * modules/nl_langinfo-tests (Makefile.am): Likewise.
9799         * modules/quotearg-tests (Makefile.am): Likewise.
9800         * modules/regex-tests (Makefile.am): Likewise.
9801         * modules/strfmon_l-tests (Makefile.am): Likewise.
9802         * modules/strtod-tests (Makefile.am): Likewise.
9803         * modules/strtold-tests (Makefile.am): Likewise.
9804         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
9805         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
9806         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
9807         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
9808         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
9809         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
9810         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
9811         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9812         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
9813         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
9814         * modules/wcrtomb-tests (Makefile.am): Likewise.
9815         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
9816         * modules/wcsrtombs-tests (Makefile.am): Likewise.
9817         * modules/wcwidth-tests (Makefile.am): Likewise.
9818         * doc/posix-functions/setlocale.texi: Mention that the multithread-
9819         safety fix is also available in module 'setlocale'.
9821 2019-12-18  Bruno Haible  <bruno@clisp.org>
9823         hard-locale: Make multithread-safe.
9824         * lib/hard-locale.h (hard_locale): Move documentation to here.
9825         * lib/hard-locale.c: Don't include <stdlib.h>.
9826         (GLIBC_VERSION): Remove macro.
9827         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
9828         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
9829         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
9830         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
9831         (Link): New section.
9832         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
9833         $(LIB_HARD_LOCALE).
9835 2019-12-18  Bruno Haible  <bruno@clisp.org>
9837         hard-locale: Avoid test failure on Haiku.
9838         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
9840 2019-12-18  Bruno Haible  <bruno@clisp.org>
9842         setlocale-null: Handle NULL result from setlocale.
9843         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
9844         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
9845         from setlocale or _wsetlocale.
9847 2019-12-18  Bruno Haible  <bruno@clisp.org>
9849         hard-locale: Add test.
9850         * tests/test-hard-locale.c: New file.
9851         * tests/locale.c: New file.
9852         * modules/hard-locale-tests: New file.
9854 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
9856         dfa: do not match invalid UTF-8
9857         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
9858         from 5 to 9 tokens; this is needed due to the changes to
9859         add_utf8_anychar.
9860         (charclass_index): 2nd arg is now pointer-to-const.
9861         (add_utf8_anychar): Match only valid UTF-8 byte sequences
9862         instead of allowing overlong encodings or surrogate halves.
9864         dfa: simplify charclass by assuming C99
9865         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
9866         (charclass_word): Now always uint_fast64_t.
9867         (CHARCLASS_PAIR): Remove.
9868         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
9870         fts: tune via calloc
9871         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
9873         dfa: tune via xzalloc
9874         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
9876 2019-12-17  Bruno Haible  <bruno@clisp.org>
9878         localcharset: Fix multithread-safety bug on Windows and OS/2.
9879         * lib/localcharset.h (locale_charset): Clarify when the result becomes
9880         invalid.
9881         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
9882         assemble the result.
9884 2019-12-17  Bruno Haible  <bruno@clisp.org>
9886         localcharset: Optimize code for native Windows.
9887         * lib/localcharset.c (locale_charset): Don't bother calling
9888         setlocale (LC_ALL, NULL) since we're not interested in its result.
9890 2019-12-17  Bruno Haible  <bruno@clisp.org>
9892         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
9893         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
9894         setlocale.
9895         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
9896         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
9897         * modules/nl_langinfo (Depends-on): Add setlocale-null.
9899 2019-12-17  Bruno Haible  <bruno@clisp.org>
9901         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
9902         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
9903         stack-allocated buffer to assemble each result and different static
9904         buffers to return it.
9905         * tests/test-nl_langinfo-mt.c: New file.
9906         * modules/nl_langinfo-tests (Files): Add it.
9907         (Depends-on): Add thread, nanosleep.
9908         (Makefile.am): Build test-nl_langinfo-mt test.
9910 2019-12-17  Bruno Haible  <bruno@clisp.org>
9912         langinfo: Document more details.
9913         * doc/posix-headers/langinfo.texi: List platform details.
9914         * doc/posix-functions/nl_langinfo.texi: Likewise.
9916 2019-12-17  Bruno Haible  <bruno@clisp.org>
9918         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
9919         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
9920         and Martin Storsjö <martin@martin.st>
9921         in <https://savannah.gnu.org/bugs/?57406>.
9922         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
9923         mingw.
9925 2019-12-17  Bruno Haible  <bruno@clisp.org>
9927         glob: Avoid warning on mingw.
9928         Reported by Christian Biesinger <cbiesinger@google.com> in
9929         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
9930         * lib/glob.c (__stat64): Undefine first.
9932 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
9934         xalloc: tune xzalloc for fresh allocations
9935         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
9936         because when the memory is freshly allocated from the OS via sbrk
9937         or mmap, calloc can avoid doing the memset.
9939         dfa: new function dfacopysyntax
9940         * lib/dfa.c (struct dfa): Move syntax member later so
9941         that dfacopysyntax can easily clear earlier members.
9942         (dfacopysyntax): New function, used by Gawk.
9944 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9946         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
9947         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
9948         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
9949         if not already defined.
9951         dfa: remove one dependency on MB_CUR_MAX
9952         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
9954         dfa: remove struct lexer_state.cur_mb_len
9955         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
9956         as it’s not needed and the code is simpler without it.
9957         All uses removed.
9959 2019-12-16  Bruno Haible  <bruno@clisp.org>
9961         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
9962         Reported by Arnold Robbins <arnold@skeeve.com>.
9963         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
9964         copied from lib/glthread/lock.h.
9965         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
9966         (setlocale_null_with_lock): If pthread_in_use() is false, use
9967         setlocale_null_unlocked directly.
9968         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
9969         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
9970         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
9971         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
9972         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
9973         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
9975 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9977         dfa: make dfasyntax thread-safe
9978         Problem reported by Bruno Haible in:
9979         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
9980         * lib/dfa.c: Do not include locale.h.
9981         (struct dfa): Remove simple_locale member.
9982         All uses replaced by localeinfo.simple.
9983         (using_simple_locale): Remove; now present (with some
9984         changes) in localeinfo.c.
9985         (dfasyntax): No need to initialize removed member.
9987         localeinfo: record whether locale is simple
9988         * lib/localeinfo.c (using_simple_locale): New function,
9989         copied here from lib/dfa.c but with a change: it uses
9990         strcoll for its heuristic, instead of using setlocale.
9991         This lets it be thread-safe.
9992         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
9994 2019-12-15  Bruno Haible  <bruno@clisp.org>
9996         duplocale: Fix multithread-safety bug on AIX.
9997         * lib/duplocale.c: Don't include <stdlib.h>.
9998         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
9999         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10000         Set LIB_DUPLOCALE.
10001         * modules/duplocale (Depends-on): Add setlocale-null.
10002         (Link): New section.
10003         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
10004         $(LIB_DUPLOCALE).
10006 2019-12-15  Bruno Haible  <bruno@clisp.org>
10008         setlocale-null: Add tests.
10009         * tests/test-setlocale_null.c: New file.
10010         * tests/test-setlocale_null-one.c: New file.
10011         * tests/test-setlocale_null-all.c: New file.
10012         * modules/setlocale-null-tests: New file.
10014         setlocale-null: New module.
10015         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
10016         setlocale_null): New declarations.
10017         * lib/setlocale_null.c: New file.
10018         * lib/setlocale-lock.c: New file.
10019         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
10020         * m4/setlocale_null.m4: New file.
10021         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
10022         GNULIB_SETLOCALE_NULL.
10023         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
10024         * modules/setlocale-null: New file.
10025         * doc/posix-functions/setlocale.texi: Mention the new module.
10027 2019-12-15  Bruno Haible  <bruno@clisp.org>
10029         lock tests: Skip test when no multithreading is enabled.
10030         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
10032 2019-12-14  Bruno Haible  <bruno@clisp.org>
10034         locale, duplocale, localename: Fix last patch.
10035         Reported by Daniel Richard G. in
10036         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
10037         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
10038         Don't define if locale_t does not exist.
10040 2019-12-13  Bruno Haible  <bruno@clisp.org>
10042         locale, duplocale, localename: Fix errors if locale_t does not exist.
10043         Reported by Daniel Richard G. in
10044         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
10045         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
10046         macros.
10047         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
10048         HAVE_NEWLOCALE.
10049         * tests/test-localename.c: Likewise.
10050         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
10051         HAVE_DUPLOCALE.
10052         * tests/test-locale-c++.cc: Likewise.
10054 2019-12-13  Bruno Haible  <bruno@clisp.org>
10056         wcstok: Fix test failure on HP-UX.
10057         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
10058         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
10060 2019-12-12  Bruno Haible  <bruno@clisp.org>
10062         strtod, strtold tests: Avoid test failure on AIX 7.2.
10063         * tests/test-strtod1.c (main): Allow implementations in which ',' and
10064         '.' both are radix characters.
10065         * tests/test-strtold1.c (main): Likewise.
10067 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10069         dfa: prefer ptrdiff_t for API, too
10070         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
10071         but do this only for internal use for now.
10072         * NEWS: Mention the API change.
10073         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
10074         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
10075         values known to be nonnegative.
10076         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
10077         Prefer idx_t or ptrdiff_t to size_t for API.
10078         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
10079         Prefer ptrdiff_t to size_t for API.
10081         stdalign: port to xlclang 16.01
10082         Problem reportd by Bruno Haible in:
10083         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
10084         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
10085         ((__aligned__ (...))) with xlclang, as a top-level
10086         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
10087         xlclang version 16.01.0000.0001; the alignment directive is ignored.
10089 2019-12-12  Bruno Haible  <bruno@clisp.org>
10091         duplocale: Fix test failure on AIX 7.2 with xlclang.
10092         * lib/duplocale.c: Include <stdlib.h>.
10093         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
10094         value.
10096 2019-12-12  Bruno Haible  <bruno@clisp.org>
10098         stddef: Document the AIX xlc issue.
10099         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
10101 2019-12-12  Bruno Haible  <bruno@clisp.org>
10103         duplocale: Don't attempt to override if locale_t does not exist.
10104         Reported by Daniel Richard G. in
10105         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
10106         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
10107         HAVE_DUPLOCALE to 0.
10109 2019-12-12  Bruno Haible  <bruno@clisp.org>
10111         wcwidth: Avoid test failure on AIX 7.2.
10112         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
10113         negative.
10114         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
10116 2019-12-12  Bruno Haible  <bruno@clisp.org>
10118         ilogbl: Work around Cygwin bug.
10119         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
10120         correct.
10121         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
10123 2019-12-12  Bruno Haible  <bruno@clisp.org>
10125         strtold: Work around Cygwin bug.
10126         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
10127         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
10128         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
10129         STRTOLD_HAS_UNDERFLOW_BUG is defined.
10130         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
10132 2019-12-12  Bruno Haible  <bruno@clisp.org>
10134         strtold: Fix autoconf test.
10135         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
10137 2019-12-11  Bruno Haible  <bruno@clisp.org>
10139         fsync tests: Skip test that is known to fail.
10140         * doc/posix-functions/fsync.texi: Update list of platforms.
10141         * tests/test-fsync.c (main): Skip test with read-only file descriptors
10142         that is known to fail on AIX and Cygwin.
10144 2019-12-11  Bruno Haible  <bruno@clisp.org>
10146         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
10147         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
10148         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
10149         HAVE_GETADDRINFO as a C macro.
10150         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
10151         declare as replacement functions.
10152         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
10153         define as no-op overrides.
10154         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
10155         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
10156         * modules/getaddrinfo (Depends-on, configure.ac): Test
10157         REPLACE_GETADDRINFO.
10158         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
10159         problem.
10160         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
10161         convention problems.
10163 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
10165         dfa: prefer signed integers for internals
10166         Signed integers can be checked more easily for integer overflow.
10167         * lib/dfa.c (position, struct lexer_state, struct parser_state)
10168         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
10169         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
10170         (nsubtoks, copytoks, closure, alloc_position_set, delete)
10171         (replace, state_index, epsclosure, charclass_context)
10172         (state_separate_contexts, merge_nfa_state, dfaoptimize)
10173         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
10174         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
10175         (comsubs, inboth, allocmust):
10176         Prefer a signed to an unsigned integer when calculating indexes,
10177         unless the integer is part of the external API (a bigger deal,
10178         and to be done later).
10180         dfa: fix index overflow
10181         * lib/dfa.c (compare): Avoid integer overflow when analyzing
10182         very large regular expressions.
10184         dfa: update commentary for previous change
10185         * NEWS: Mention the change.
10186         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
10188 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10190         dfa: separate parse and compile phase
10191         ‘dfamust’ must be called after parsing and before tokens are
10192         reordered, but both are executed in the compilation phase.
10193         Token reordering was introduced in Gnulib commit
10194         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
10195         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
10196         * lib/dfa.c (dfaparse): Change it to global function.
10197         (dfacomp): If first argument is NULL, skip parse.
10198         * lib/dfa.h: (dfaparse): Add a prototype.
10200 2019-12-11  Bruno Haible  <bruno@clisp.org>
10202         unistd tests: Fix link error on MSVC.
10203         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
10204         $(LIB_GETLOGIN).
10206 2019-12-11  Bruno Haible  <bruno@clisp.org>
10208         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
10209         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
10210         and POSIX substitutes are supported in C++ mode.
10211         * NEWS: Likewise.
10213 2019-12-11  Bruno Haible  <bruno@clisp.org>
10215         stddef: Fix compilation error in C++ mode on MSVC.
10216         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
10217         instead, include <cstddef>.
10219 2019-12-11  Bruno Haible  <bruno@clisp.org>
10221         unistd: Fix compilation error in C++ mode on MSVC.
10222         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
10223         does not have <unistd.h>.
10225 2019-12-11  Bruno Haible  <bruno@clisp.org>
10227         locale: Fix compilation error in C++ mode on MSVC.
10228         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
10229         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
10230         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
10231         int_n_sep_by_space): Define as macros on MSVC.
10233 2019-12-11  Bruno Haible  <bruno@clisp.org>
10235         wchar: Fix compilation error in C++ mode on MSVC.
10236         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
10238 2019-12-11  Bruno Haible  <bruno@clisp.org>
10240         pthread-thread: Fix compilation error in C++ mode on MSVC.
10241         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
10242         _GL_CXXALIAS_RPL invocation.
10244 2019-12-08  Bruno Haible  <bruno@clisp.org>
10246         Fix compilation errors in C++ mode on Haiku.
10247         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
10248         non-glibc systems.
10249         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
10250         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10251         posix_spawnattr_setschedparam): Likewise.
10252         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
10253         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10254         * lib/unistd.in.h (usleep): Likewise.
10256 2019-12-08  Bruno Haible  <bruno@clisp.org>
10258         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
10259         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
10260         * modules/fseeko (configure.ac-early): Require it instead of
10261         AC_FUNC_FSEEKO.
10262         * modules/ftello (configure.ac-early): Likewise.
10263         * modules/fflush (configure.ac-early): Likewise.
10265 2019-12-08  Bruno Haible  <bruno@clisp.org>
10267         Fix compilation error in C++ mode on HP-UX 11.
10268         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
10269         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
10271 2019-12-08  Bruno Haible  <bruno@clisp.org>
10273         Fix compilation errors on HP-UX 11/ia64.
10274         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
10275         _GL_FUNCDECL_SYS.
10277 2019-12-08  Bruno Haible  <bruno@clisp.org>
10279         Fix compilation error in C++ mode on OpenBSD.
10280         * lib/signal.in.h (signal): Declare on OpenBSD.
10282 2019-12-08  Bruno Haible  <bruno@clisp.org>
10284         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
10285         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
10286         instead of #error.
10288 2019-12-08  Bruno Haible  <bruno@clisp.org>
10290         Fix compilation errors in C++ mode on FreeBSD.
10291         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
10292         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
10293         * lib/threads.in.h (thrd_exit): Likewise.
10294         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
10296 2019-12-08  Bruno Haible  <bruno@clisp.org>
10298         Fix compilation errors in C++ mode on macOS and FreeBSD.
10299         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
10300         or FreeBSD with clang, use the approach without C preprocessor macro.
10302 2019-12-07  Bruno Haible  <bruno@clisp.org>
10304         Fix compilation errors in C++ mode on AIX with xlclang++.
10305         Reported by Christian Biesinger <cbiesinger@google.com> in
10306         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10307         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
10309 2019-12-07  Bruno Haible  <bruno@clisp.org>
10311         Document compilation error in C++ mode on NetBSD 8.0.
10312         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
10314 2019-12-07  Bruno Haible  <bruno@clisp.org>
10316         Fix compilation errors in C++ mode on Solaris 10.
10317         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
10318         to non-empty on Solaris with a non-GCC compiler.
10319         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
10321 2019-12-07  Bruno Haible  <bruno@clisp.org>
10323         Reword NEWS entry.
10324         * NEWS: Reword the latest NEWS entry.
10326 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
10328         Move xstrtol_fatal to a new xstrtol-error module.
10329         * lib/xstrtol.h: Stop including <getopt.h>.
10330         (xstrtol_fatal): Move ...
10331         * lib/xstrtol-error.h: ... here.  New file.
10332         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
10333         * tests/test-xstrtol.c: Likewise.
10334         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
10335         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
10336         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
10337         * modules/xstrtol-error: New file.
10338         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
10339         * MODULES.html.sh: Add xstrtol-error.
10340         * NEWS: Document the change.
10342 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
10344         nstrftime: better width support for %N, %z
10345         * lib/nstrftime.c (width_add, width_add1, width_cpy):
10346         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
10347         a new WIDTH parameter.
10348         (add, add1, cpy): Use these macros.
10349         (width_add): Do not treat digits == 0 as a special case,
10350         do not pad if padding is ‘-’, and do not use a negative width.
10351         (__strftime_internal): Redo formatting of nanoseconds and numeric
10352         timezones to avoid buffer misuse in unusual cases, and so that
10353         widths make more sense.  Add support for widths greater than 9 to
10354         the %N format; they are zero filled on the right.
10355         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
10357 2019-12-05  Bruno Haible  <bruno@clisp.org>
10359         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
10360         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
10361         set REPLACE_ISFINITE to 1.
10362         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
10363         REPLACE_ISINF to 1.
10364         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
10365         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
10366         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10367         * lib/threads.in.h (call_once): Likewise.
10368         * lib/iconv.in.h (iconv): Likewise.
10370 2019-12-05  Bruno Haible  <bruno@clisp.org>
10372         wchar: Add more C++ tests.
10373         Reported by Christian Biesinger <cbiesinger@google.com> in
10374         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10375         * tests/test-wchar-c++3.cc: New file.
10376         * modules/wchar-c++-tests (Files): Add it.
10377         (Makefile.am): Compile it.
10379 2019-12-05  Bruno Haible  <bruno@clisp.org>
10381         Add more C++ tests.
10383         assert-h: Add C++ tests.
10384         * tests/test-assert-h-c++.cc: New file.
10385         * tests/test-assert-h-c++2.cc: New file.
10386         * modules/assert-h-c++-tests: New file.
10387         * modules/assert-h-tests: New file.
10389         ctype: Add C++ tests.
10390         * tests/test-ctype-c++.cc: New file.
10391         * tests/test-ctype-c++2.cc: New file.
10392         * modules/ctype-c++-tests: New file.
10393         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
10395         errno: Add C++ tests.
10396         * tests/test-errno-c++.cc: New file.
10397         * tests/test-errno-c++2.cc: New file.
10398         * modules/errno-c++-tests: New file.
10399         * modules/errno-tests (Depends-on): Add errno-c++-tests.
10401         float: Add C++ tests.
10402         * tests/test-float-c++.cc: New file.
10403         * tests/test-float-c++2.cc: New file.
10404         * modules/float-c++-tests: New file.
10405         * modules/float-tests (Depends-on): Add float-c++-tests.
10407         inttypes: Add more C++ tests.
10408         * tests/test-inttypes-c++2.cc: New file.
10409         * modules/inttypes-c++-tests (Files): Add it.
10410         (Makefile.am): Compile it.
10412         limits-h: Add C++ tests.
10413         * tests/test-limits-h-c++.cc: New file.
10414         * tests/test-limits-h-c++2.cc: New file.
10415         * modules/limits-h-c++-tests: New file.
10416         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
10418         stdarg: Add C++ tests.
10419         * tests/test-stdarg-c++.cc: New file.
10420         * tests/test-stdarg-c++2.cc: New file.
10421         * modules/stdarg-c++-tests: New file.
10422         * modules/stdarg-tests: New file.
10424         stdbool: Add C++ tests.
10425         * tests/test-stdbool-c++.cc: New file.
10426         * tests/test-stdbool-c++2.cc: New file.
10427         * modules/stdbool-c++-tests: New file.
10428         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
10430         stddef: Add C++ tests.
10431         * tests/test-stddef-c++.cc: New file.
10432         * tests/test-stddef-c++2.cc: New file.
10433         * modules/stddef-c++-tests: New file.
10434         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
10436         stdint: Add C++ tests.
10437         * tests/test-stdint-c++.cc: New file.
10438         * tests/test-stdint-c++2.cc: New file.
10439         * modules/stdint-c++-tests: New file.
10440         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
10442         wchar: Add more C++ tests.
10443         * tests/test-wchar-c++2.cc: New file.
10444         * modules/wchar-c++-tests (Files): Add it.
10445         (Makefile.am): Compile it.
10447         wctype-h: Add more C++ tests.
10448         * tests/test-wctype-h-c++2.cc: New file.
10449         * modules/wctype-h-c++-tests (Files): Add it.
10450         (Makefile.am): Compile it.
10452 2019-12-04  Bruno Haible  <bruno@clisp.org>
10454         Fix compilation errors in C++ mode with xlclang++ on AIX.
10455         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
10456         C++ mode on AIX.
10457         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
10458         without C preprocessor macro.
10459         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
10460         _GL_CXXALIAS_SYS.
10461         * lib/threads.in.h (thrd_exit): Likewise.
10463 2019-12-04  Bruno Haible  <bruno@clisp.org>
10465         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
10466         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
10467         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
10469 2019-12-04  Bruno Haible  <bruno@clisp.org>
10471         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
10472         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
10473         _GL_CXXALIASWARN invocation on non-glibc systems.
10474         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
10475         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
10476         iswctype, towlower, towupper): Likewise.
10478 2019-12-03  Bruno Haible  <bruno@clisp.org>
10480         Avoid hassles caused by [[noreturn]] in C++.
10481         Reported by Christian Biesinger <cbiesinger@google.com> in
10482         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
10483         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
10484         * lib/_Noreturn.h: Likewise.
10486 2019-12-02  Bruno Haible  <bruno@clisp.org>
10488         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
10489         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
10490         LIBMULTITHREAD.
10491         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
10492         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
10493         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
10494         gl_THREADLIB.
10495         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
10497 2019-12-02  Bruno Haible  <bruno@clisp.org>
10499         Fix some more link errors with --enable-threads=isoc.
10500         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
10501         * modules/pthread-rwlock (Depends-on): Likewise.
10503 2019-12-02  Bruno Haible  <bruno@clisp.org>
10505         Fix link errors with --enable-threads=posix on AIX.
10506         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
10507         program with $(LIBTHREAD).
10508         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
10509         program with $(LIBTHREAD).
10511 2019-12-02  Bruno Haible  <bruno@clisp.org>
10513         Fix link errors with --enable-threads=posix on AIX.
10514         * modules/mbrtowc (Link): New section.
10515         * modules/acl (Link): Likewise.
10516         * modules/argmatch (Link): Likewise.
10517         * modules/backup-rename (Link): Likewise.
10518         * modules/backupfile (Link): Likewise.
10519         * modules/closein (Link): Likewise.
10520         * modules/closeout (Link): Likewise.
10521         * modules/copy-file (Link): Likewise.
10522         * modules/csharpcomp (Link): Likewise.
10523         * modules/csharpexec (Link): Likewise.
10524         * modules/dfa (Link): Likewise.
10525         * modules/exclude (Link): Likewise.
10526         * modules/fnmatch (Link): Likewise.
10527         * modules/fnmatch-gnu (Link): Likewise.
10528         * modules/fnmatch-posix (Link): Likewise.
10529         * modules/glob (Link): Likewise.
10530         * modules/human (Link): Likewise.
10531         * modules/javacomp (Link): Likewise.
10532         * modules/javaexec (Link): Likewise.
10533         * modules/javaversion (Link): Likewise.
10534         * modules/mbfile (Link): Likewise.
10535         * modules/mbiter (Link): Likewise.
10536         * modules/mbmemcasecmp (Link): Likewise.
10537         * modules/mbmemcasecoll (Link): Likewise.
10538         * modules/mbrlen (Link): Likewise.
10539         * modules/mbscasecmp (Link): Likewise.
10540         * modules/mbscasestr (Link): Likewise.
10541         * modules/mbschr (Link): Likewise.
10542         * modules/mbscspn (Link): Likewise.
10543         * modules/mbsinit (Link): Likewise.
10544         * modules/mbslen (Link): Likewise.
10545         * modules/mbsncasecmp (Link): Likewise.
10546         * modules/mbsnlen (Link): Likewise.
10547         * modules/mbsnrtowcs (Link): Likewise.
10548         * modules/mbspbrk (Link): Likewise.
10549         * modules/mbspcasecmp (Link): Likewise.
10550         * modules/mbsrchr (Link): Likewise.
10551         * modules/mbsrtowcs (Link): Likewise.
10552         * modules/mbssep (Link): Likewise.
10553         * modules/mbsspn (Link): Likewise.
10554         * modules/mbsstr (Link): Likewise.
10555         * modules/mbstok_r (Link): Likewise.
10556         * modules/mbswidth (Link): Likewise.
10557         * modules/mbuiter (Link): Likewise.
10558         * modules/mkdir-p (Link): Likewise.
10559         * modules/propername (Link): Likewise.
10560         * modules/quote (Link): Likewise.
10561         * modules/quotearg (Link): Likewise.
10562         * modules/quotearg-simple (Link): Likewise.
10563         * modules/regex-quote (Link): Likewise.
10564         * modules/rpmatch (Link): Likewise.
10565         * modules/sh-quote (Link): Likewise.
10566         * modules/system-quote (Link): Likewise.
10567         * modules/trim (Link): Likewise.
10568         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10569         * modules/unistdio/ulc-fprintf (Link): Likewise.
10570         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10571         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10572         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10573         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10574         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10575         * modules/xfreopen (Link): Likewise.
10576         * modules/xmemcoll (Link): Likewise.
10577         * modules/yesno (Link): Likewise.
10578         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
10579         * modules/argmatch-tests (Makefile.am): Likewise.
10580         * modules/closein-tests (Makefile.am): Likewise.
10581         * modules/copy-file-tests (Makefile.am): Likewise.
10582         * modules/dfa-tests (Makefile.am): Likewise.
10583         * modules/fnmatch-tests (Makefile.am): Likewise.
10584         * modules/glob-tests (Makefile.am): Likewise.
10585         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10586         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10587         * modules/mbrtowc-tests (Makefile.am): Likewise.
10588         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10589         * modules/mbscasestr-tests (Makefile.am): Likewise.
10590         * modules/mbschr-tests (Makefile.am): Likewise.
10591         * modules/mbscspn-tests (Makefile.am): Likewise.
10592         * modules/mbsinit-tests (Makefile.am): Likewise.
10593         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10594         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10595         * modules/mbspbrk-tests (Makefile.am): Likewise.
10596         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10597         * modules/mbsrchr-tests (Makefile.am): Likewise.
10598         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10599         * modules/mbsspn-tests (Makefile.am): Likewise.
10600         * modules/mbsstr-tests (Makefile.am): Likewise.
10601         * modules/quotearg-tests (Makefile.am): Likewise.
10602         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10603         * modules/readtokens-tests (Makefile.am): Likewise.
10604         * modules/regex-quote-tests (Makefile.am): Likewise.
10605         * modules/sh-quote-tests (Makefile.am): Likewise.
10606         * modules/system-quote-tests (Makefile.am): Likewise.
10607         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10608         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10609         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10610         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10611         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10612         * modules/yesno-tests (Makefile.am): Likewise.
10614 2019-12-02  Bruno Haible  <bruno@clisp.org>
10616         Simplify link sections.
10617         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
10618         * modules/lock (Link): Likewise.
10619         * modules/cond (Link): Likewise.
10620         * modules/tls (Link): Likewise.
10621         * modules/yield (Link): Likewise.
10622         * modules/regex (Link): Likewise.
10623         * modules/localename (Link): Likewise.
10624         * modules/unicase/locale-language (Link): Likewise.
10625         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
10627 2019-12-02  Bruno Haible  <bruno@clisp.org>
10629         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
10630         * tests/test-thread_self.c (main): Disable test on AIX.
10632 2019-12-01  Bruno Haible  <bruno@clisp.org>
10634         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
10635         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
10636         gl_THREADLIB_EARLY_BODY.
10637         (gl_THREADLIB_EARLY_BODY): Invoke it.
10638         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
10639         (gl_THREADLIB_BODY): Invoke it.
10640         (gl_PTHREADLIB): New macro.
10641         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
10642         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
10643         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
10644         * modules/pthread-h (Files): Add threadlib.m4.
10645         (Depends-on): Remove threadlib.
10646         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
10647         and _THREAD_SAFE here.
10648         (Link): Use LIBPTHREAD, not LIBTHREAD.
10649         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
10650         LIBMULTITHREAD.
10651         * modules/pthread-once (Link): Likewise.
10652         * modules/pthread-mutex (Link): Likewise.
10653         * modules/pthread-rwlock (Link): Likewise.
10654         * modules/pthread-cond (Link): Likewise.
10655         * modules/pthread-tss (Link): Likewise.
10656         * modules/pthread-spin (Link): Likewise.
10657         * modules/pthread (Link): Likewise.
10658         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
10659         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
10660         * modules/pthread-once-tests (test_pthread_once1_LDADD,
10661         test_pthread_once2_LDADD): Likewise.
10662         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
10663         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
10664         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
10665         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
10667 2019-12-01  Bruno Haible  <bruno@clisp.org>
10669         cond: State linking requirements.
10670         * modules/cond (Link): New section.
10672 2019-12-01  Bruno Haible  <bruno@clisp.org>
10674         threadlib: Remove unnecessary file (left over from 2019-07-06).
10675         * modules/threadlib (Files): Remove config.rpath.
10677 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
10679         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
10680         Reported by Dagobert Michelsen <dam@opencsw.org> in
10681         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
10682         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
10683         list of strings instead of one string.
10684         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
10685         * pygnulib/GLImport.py (execute): Likewise.
10687 2019-11-27  Bruno Haible  <bruno@clisp.org>
10689         openpty, forkpty: Fix build error on Solaris 11.4.
10690         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
10691         also in <termios.h>.
10692         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
10693         of the function also in <termios.h>.
10694         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
10695         * doc/glibc-functions/forkpty.texi: Likewise.
10697 2019-11-27  Bruno Haible  <bruno@clisp.org>
10699         New options --enable-threads=isoc and --enable-threads=isoc+posix.
10700         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
10701         --enable-threads=isoc and --enable-threads=isoc+posix.
10702         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
10703         When both the ISO C and the POSIX threads API are available, choose
10704         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
10705         --enable-threads=isoc+posix was specified. When only the ISO C threads
10706         API is available and --enable-threads=iso was specified, choose
10707         USE_ISOC_THREADS.
10708         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
10709         USE_ISOC_AND_POSIX_THREADS.
10710         * lib/glthread/lock.c: Likewise.
10711         * lib/glthread/cond.h: Likewise.
10712         * lib/glthread/cond.c: Likewise.
10713         * lib/glthread/tls.h: Likewise.
10714         * lib/glthread/tls.c: Likewise.
10715         * lib/glthread/yield.h: Likewise.
10716         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
10717         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
10718         * lib/glthread/thread.c: Likewise.
10719         * lib/glthread/threadlib.c: Likewise.
10720         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
10721         USE_ISOC_AND_POSIX_THREADS.
10722         * tests/test-cond.c: Consider USE_ISOC_THREADS and
10723         USE_ISOC_AND_POSIX_THREADS.
10724         * tests/test-tls.c: Likewise.
10725         * tests/test-thread_create.c (main): Likewise.
10726         * tests/test-pthread-cond.c: Likewise.
10727         * tests/test-pthread-mutex.c: Likewise.
10728         * tests/test-pthread-once2.c: Likewise.
10729         * tests/test-pthread-rwlock.c: Likewise.
10730         * tests/test-pthread-tss.c: Likewise.
10731         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
10732         USE_POSIX_THREADS.
10734 2019-11-24  Bruno Haible  <bruno@clisp.org>
10736         mbrtowc: Modernize autoconf test.
10737         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
10738         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
10739         try a UTF-8 locale.
10740         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
10742 2019-11-24  Bruno Haible  <bruno@clisp.org>
10744         Fix errors in C++ mode on mingw.
10745         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
10746         instead of _GL_CXXALIAS_SYS.
10747         * lib/signal.in.h (pthread_sigmask): Likewise.
10748         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
10749         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
10750         Likewise.
10751         * lib/wchar.in.h (btowc): Likewise.
10753 2019-11-24  Bruno Haible  <bruno@clisp.org>
10755         sys_time: Fix errors in C++ mode on mingw.
10756         * lib/sys_time.in.h (timeval): Restore the redirection
10757         '#define timeval rpl_timeval', for when the symbol timeval is being used
10758         outside the 'gnulib' namespace.
10759         * lib/sys_select.in.h (select): In C++, write 'timeval', not
10760         'struct timeval'.
10762 2019-11-24  Bruno Haible  <bruno@clisp.org>
10764         iswctype: Fix errors in C++ mode on mingw.
10765         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
10766         is 1.
10767         * lib/iswctype.c (iswctype): Add another implementation, for the
10768         GNULIB_defined_wint_t case.
10769         * modules/iswctype (configure.ac): Compile iswctype.c also if
10770         GNULIB_OVERRIDES_WINT_T is 1.
10772 2019-11-24  Bruno Haible  <bruno@clisp.org>
10774         windows-timedmutex: Fix errors in C++ mode on mingw.
10775         * lib/windows-timedmutex.h: Add closing brace.
10777 2019-11-24  Bruno Haible  <bruno@clisp.org>
10779         Fix errors in C++ mode on Cygwin.
10780         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
10781         _GL_CXXALIAS_SYS.
10783 2019-11-24  Bruno Haible  <bruno@clisp.org>
10785         time_r: Fix for mingw (regression from 2019-11-16).
10786         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
10787         AC_LINK_IFELSE test only if the function does not appear to exist.
10789 2019-11-24  Bruno Haible  <bruno@clisp.org>
10791         wcstok: Add tests.
10792         * tests/test-wcstok.c: New file.
10793         * modules/wcstok-tests: New file.
10795 2019-11-24  Bruno Haible  <bruno@clisp.org>
10797         wcstok: Work around wrong signature on native Windows.
10798         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
10799         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
10800         REPLACE_WCSTOK.
10801         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
10802         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
10803         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
10804         * doc/posix-functions/wcstok.texi: Mention the problem.
10806 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
10808         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
10809         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
10810         remove workaround for GCC bug 91450 as the bug should be fixed
10811         there too.
10813 2019-11-21  Bruno Haible  <bruno@clisp.org>
10815         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
10816         Reported by Christian Biesinger <cbiesinger@google.com> in
10817         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
10818         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
10819         non-glibc systems.
10820         * lib/locale.in.h (localeconv, setlocale): Likewise.
10821         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
10822         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
10823         rint, round, trunc): Likewise.
10824         * lib/monetary.in.h (strfmon_l): Likewise.
10825         * lib/pthread.in.h (pthread_mutexattr_getrobust,
10826         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
10827         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
10828         pthread_spin_destroy): Likewise.
10829         * lib/signal.in.h (raise, signal): Likewise.
10830         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
10831         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
10832         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
10833         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
10834         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
10835         Likewise.
10836         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
10837         Likewise.
10838         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
10839         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
10840         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
10841         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
10842         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
10843         wcsftime): Likewise.
10844         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
10846 2019-11-21  Bruno Haible  <bruno@clisp.org>
10848         Fix various errors in _GL_CXXALIAS_SYS invocations.
10849         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
10850         _GL_CXXALIAS_SYS.
10851         * lib/pthread.in.h (pthread_mutexattr_gettype,
10852         pthread_mutexattr_getrobust): Likewise.
10853         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
10854         * lib/sys_socket.in.h (recv, send): Likewise.
10855         * lib/unistd.in.h (getdtablesize): Likewise.
10856         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
10857         'struct timeval'.
10859 2019-11-21  Bruno Haible  <bruno@clisp.org>
10861         math tests: Update after 2019-08-28 change.
10862         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
10863         return type of 'bool', not 'int'.
10865 2019-11-21  Bruno Haible  <bruno@clisp.org>
10867         pthread-spin: Fix errors in C++ mode.
10868         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
10869         functions as nonexistent when <pthread.h> exists but does not define
10870         the pthread_spinlock_t type.
10872 2019-11-21  Bruno Haible  <bruno@clisp.org>
10874         pthread-mutex: Fix errors in C++ mode.
10875         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
10876         pthread_mutexattr_getrobust exists. If not, define
10877         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
10878         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
10879         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
10880         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
10881         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
10882         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
10883         definition.
10885 2019-11-19  Bruno Haible  <bruno@clisp.org>
10887         threads-h tests: Fix typo.
10888         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
10890 2019-11-19  Bruno Haible  <bruno@clisp.org>
10892         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
10893         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
10894         to 'const pthread_attr_t *'.
10895         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
10896         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
10898 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
10900         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
10901         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
10902         work around GCC bug 91450 as the bug should be fixed there.
10904 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10906         glob: get closer to glibc glob.c
10907         Omit differences from glibc when the differences don’t matter.
10908         * lib/glob.c [_LIBC]: Include shlib-compat.h.
10909         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
10910         (glob_lstat): New function.
10911         (glob_in_dir): Use it.
10912         (GLOB_ATTRIBUTE): Define to empty if not already defined.
10913         Use changed.
10915 2019-11-18  Bruno Haible  <bruno@clisp.org>
10917         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
10918         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
10919         UINTPTR_MAX): Consider _WIN64.
10920         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
10921         a pointer.
10923 2019-11-18  Bruno Haible  <bruno@clisp.org>
10925         stdint: Fix value of WINT_MAX when we override wint_t.
10926         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
10927         when GNULIB_OVERRIDES_WINT_T is 1.
10929 2019-11-18  Bruno Haible  <bruno@clisp.org>
10931         vcs-to-changelog: New module.
10932         * modules/vcs-to-changelog: New file.
10933         * MODULES.html.sh (func_all_modules): Add it.
10935 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
10937         vcs-to-changelog: New script to generate ChangeLog-like output.
10938         Discussion:
10939         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
10940         * build-aux/vcs_to_changelog.py: New file.
10941         * build-aux/vcstocl/frontend_c.py: New file.
10942         * build-aux/vcstocl/misc_util.py: New file.
10943         * build-aux/vcstocl/vcs_git.py: New file.
10945 2019-11-18  Bruno Haible  <bruno@clisp.org>
10947         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
10948         Reported by Keith Marshall <keith@users.osdn.me> in
10949         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
10950         and <https://osdn.net/projects/mingw/ticket/39677>.
10951         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
10952         already been defined by mingw's <crtdefs.h>.
10954 2019-11-18  Bruno Haible  <bruno@clisp.org>
10956         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
10957         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
10958         conditionally enabled.
10960 2019-11-18  Bruno Haible  <bruno@clisp.org>
10962         gc: Mirror libgcrypt.m4 from libgcrypt.
10963         * config/srclistvars.sh (LIBGCRYPT): New variable.
10964         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
10966 2019-11-17  Bruno Haible  <bruno@clisp.org>
10968         locale, localename: Improve z/OS support.
10969         Reported by Daniel Richard G. in
10970         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
10971         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
10972         gl_LOCALE_H.
10973         (gl_LOCALE_H): Require it.
10974         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
10975         defined, don't even check for newlocale, duplocale, freelocale.
10976         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
10977         locale_t is not defined.
10979 2019-11-17  Bruno Haible  <bruno@clisp.org>
10981         havelib: Make libdirstems processing more flexible.
10982         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
10983         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
10984         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
10985         patch from 2017-02-19).
10986         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
10987         libdirs, even when the first one exists as a directory.
10989 2019-11-17  Bruno Haible  <bruno@clisp.org>
10991         havelib: Match the bitness when searching for libraries.
10992         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
10993         acl_is_expected_elfclass.
10994         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
10995         file exists, in ELF, also test whether it has the ELF class that
10996         corresponds to the host's bitness.
10998 2019-11-17  Bruno Haible  <bruno@clisp.org>
11000         host-cpu-c-abi: Add support for unknown CPUs.
11001         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
11002         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
11003         32-bit or 64-bit.
11005 2019-11-17  Bruno Haible  <bruno@clisp.org>
11007         havelib: Remove redundant code.
11008         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
11009         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
11011 2019-11-17  Bruno Haible  <bruno@clisp.org>
11013         havelib: Fix a bug in dependency processing.
11014         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
11015         of .la files, don't overwrite the value of additional_libdir for the
11016         next rounds.
11018 2019-11-16  Bruno Haible  <bruno@clisp.org>
11020         wctype-h: When overriding wint_t, override also the related functions.
11021         Reported by Christian Biesinger <cbiesinger@google.com> in
11022         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
11023         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
11024         REPLACE_ISWCNTRL to 1.
11025         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
11026         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
11027         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
11028         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
11029         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
11030         on mingw.
11031         * doc/posix-headers/wctype.texi: Likewise.
11033 2019-11-16  Bruno Haible  <bruno@clisp.org>
11035         time_r: Fix for mingw.
11036         Reported by Christian Biesinger <cbiesinger@google.com> in
11037         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
11038         * lib/time.in.h: On mingw, include <unistd.h>.
11039         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
11040         <time.h>. Test for localtime_r in a way that works when it is defined
11041         as an inline function.
11043 2019-11-13  Bruno Haible  <bruno@clisp.org>
11045         havelib: Revert last change.
11046         * build-aux/config.rpath: Revert last change. We can add msys2 support
11047         when it has been added to libtool.m4 upstream.
11049 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11051         config: add msys support
11052         Requested by Arnold Robbins in:
11053         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
11054         He also requested a change to config.guess, which I’ll forward
11055         upstream.
11056         * build-aux/ar-lib (func_file_conv):
11057         * build-aux/compile (func_file_conv):
11058         * build-aux/config.rpath (wl, with_gnu_ld)
11059         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
11060         Treat msys like cygwin.
11062 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11064         regex: now back in sync with glibc
11065         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
11066         regexec.c got merged into glibc and are now copies again.
11068 2019-10-27  Bruno Haible  <bruno@clisp.org>
11070         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
11071         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
11072         statement.
11073         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
11074         32-bit CPUs.
11076 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11078         timespec-add, timespec-sub: simplify
11079         * lib/timespec-add.c (timespec_add):
11080         * lib/timespec-sub.c (timespec_sub):
11081         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
11082         work on unsigned integers.
11084 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11086         nstrftime: speed up integer overflow checking
11087         * lib/nstrftime.c: Include intprops.h.
11088         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
11089         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
11090         instead of doing it by hand.
11091         * modules/nstrftime (Depends-on): Add intprops.
11093         Port better to GCC under macOS
11094         Work around macOS header that has ‘#define __has_builtin(x) 0’
11095         when compiled by GCC.  Apple really, really doesn’t want you to
11096         use GCC, apparently.  Rroblem reported by Akim Demaille in:
11097         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
11098         The fix is to not trust __has_builtin when being compiled by
11099         recent-enough GCC.
11100         * lib/intprops.h (__has_builtin)
11101         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
11102         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
11103         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
11104         Remove.  All uses removed.
11105         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
11106         directly, if defined and if not newer GCC.
11107         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
11108         New macro, that use __has_builtin directly, if defined and if
11109         not newer GCC.
11110         (assume): Use them.
11112 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
11114         maintainer-makefile: update rule for argmatch.
11115         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
11117 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
11119         bitset: let freeing functions accept NULL.
11120         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
11121         given NULL.
11122         * lib/bitset.h: Document that.
11123         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
11125 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11127         inttypes: use more-robust test for int range
11128         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
11129         Problem reported by Dagobert Michelsen in:
11130         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
11131         * lib/inttypes.in.h: Rely only on limits.h when checking
11132         int range.
11134 2019-10-15  Bruno Haible  <bruno@clisp.org>
11136         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
11137         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
11138         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
11139         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
11140         term_ostream_set_hyperlink): New functions.
11141         (term_styled_ostream_get_hyperlink_ref,
11142         term_styled_ostream_get_hyperlink_id,
11143         term_styled_ostream_set_hyperlink): New function aliases.
11145 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11147         update-copyright: use en dashes in .texi ranges
11148         * build-aux/update-copyright: Match year ranges like "1998--2019",
11149         which are used in the Autoconf manual.  Also, update ranges in
11150         .tex, .texi, and .texinfo files to use en dashes instead of
11151         hyphens.
11153 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11155         * config/srclist.txt: Remove posix/regex_internal.c for now.
11157 2019-10-13  Bruno Haible  <bruno@clisp.org>
11159         git-version-gen: Allow 'snapshot' as .tarball-version contents.
11160         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
11161         contents to the empty string.
11163 2019-10-12  Bruno Haible  <bruno@clisp.org>
11165         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
11166         * tests/test-intprops.c (main): Disable two more tests when using
11167         HP-UX cc.
11169 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
11171         Simplify and regularize regex use of ‘assert’
11172         Also, tell GCC about the asserts even when compiling without
11173         debugging, to give it further optimization opportunities.
11174         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
11175         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
11176         (parse_expression, parse_bracket_exp):
11177         * lib/regex_internal.c (build_wcs_buffer)
11178         (build_wcs_upper_buffer, re_string_reconstruct)
11179         (re_string_context_at):
11180         * lib/regexec.c (re_search_stub, re_copy_regs)
11181         (re_search_internal, prune_impossible_nodes, check_matching)
11182         (check_halt_state_context, set_regs, sift_states_backward)
11183         (build_sifted_states, transit_state_mb, transit_state_bkref)
11184         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
11185         (match_ctx_add_subtop):
11186         Use it instead of plain ‘assert’.
11188 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
11190         regex: omit debug assignment when not debugging
11191         * lib/regexec.c (re_search_internal) [!DEBUG]:
11192         Remove unnecessary assignment.
11194         regex: tell compiler there’s at most 256 arcs out
11195         Partly this is to help the reader (and maybe help GCC);
11196         partly this is to pacify Coverity.
11197         * lib/regex_internal.h: Include verify.h.
11198         * lib/regexec.c (group_nodes_into_DFAstates):
11199         Tell the compiler that ndests cannot exceed SBC_MAX.
11200         * modules/regex (Depends-on): Add ‘verify’.
11202         regex: simplify by assuming C99
11203         * config/srclist.txt: Comment out regex_internal.h and regexec.c
11204         temporarily.
11205         * lib/regex_internal.h (lock_define, re_match_context_t):
11206         Simplify by assuming C99 macros and const.
11207         * lib/regexec.c (re_search_internal): Simplify by assuming C99
11208         initializers.  Remove unnecessary assignment, as mctx is now
11209         safely initialized earlier.
11211         regex: avoid copying of uninitialized storage
11212         * config/srclist.txt: Comment out regcomp.c temporarily.
11213         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
11214         Initialize even when not checking for lint, as the behavior is
11215         arguably undefined otherwise and Coverity warns about it.
11217 2019-10-06  Bruno Haible  <bruno@clisp.org>
11219         access tests: Fix test failure when run as root.
11220         * tests/test-access.c: Include root-uid.h.
11221         (geteuid): Define fallback.
11222         (main): Don't expect that writing to a read-only file would fail when
11223         running as root. Also, remove the created files at the end.
11224         * modules/access-tests (Depends-on): Add root-uid.
11225         (configure.ac): Test whether geteuid exists.
11227 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
11229         users.txt: add GNU nano
11230         Nano has been making use of gnulib since March 2017, version 2.8.0.
11232 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11234         bootstrap: simplify debugging of wget failures
11235         Problem reported by Tim Rühsen in:
11236         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
11237         * build-aux/bootstrap (po_download_command_format):
11238         Invoke wget with -nv instead of -q, to make debugging easier.
11240 2019-09-29  Bruno Haible  <bruno@clisp.org>
11242         avltree-list: Fix compilation warning (introduced on 2014-09-16).
11243         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
11244         'const' attribute.
11246 2019-09-29  Bruno Haible  <bruno@clisp.org>
11248         fbufmode: Fix compilation error on glibc >= 2.28 systems.
11249         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
11251 2019-09-28  Bruno Haible  <bruno@clisp.org>
11253         Update comments that refer to POSIX.
11254         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
11255         sentence about trailing slashes.
11256         * lib/fflush.c: Clarify the reasoning.
11257         * tests/test-fflush2.c: Cite the relevant sentence.
11259 2019-09-28  Bruno Haible  <bruno@clisp.org>
11261         access: Document limitations on Windows.
11262         Suggested by Zaretskii <eliz@gnu.org>.
11263         * doc/posix-functions/access.texi: Mention two limitations on Windows.
11265 2019-09-28  Bruno Haible  <bruno@clisp.org>
11267         findprog-in: Fix comment.
11268         Reported by Eli Zaretskii <eliz@gnu.org>.
11269         * lib/findprog.h (find_in_given_path): Extend description of EACCES
11270         condition.
11271         * lib/stat.c (rpl_stat): Fix typo in comment.
11272         * lib/utime.c (_gl_utimens_windows): Likewise.
11274 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11276         Update URLs and associated text
11277         (Thanks to Bruno Haible for proofreading this patch.)
11278         Prefer https: to http: in URLs where either will do, for the usual
11279         security reasons.  I also updated broken and/or moved URLs
11280         discovered during the process. In a few places I had to resort to
11281         archive.org, since I didn't find the originals elsewhere.
11283 2019-09-15  Paul Smith  <psmith@gnu.org>
11284             Bruno Haible  <bruno@clisp.org>
11286         findprog-in: Set errno when the search fails.
11287         * lib/findprog-in.c: Include <errno.h>.
11288         (find_in_given_path): Set errno before returning NULL.
11289         * lib/findprog.h (find_in_given_path): Update comment accordingly.
11290         Define the term "slash".
11292 2019-09-15  Bruno Haible  <bruno@clisp.org>
11294         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
11295         * modules/findprog (Depends-on): Add access.
11296         * modules/findprog-lgpl (Depends-on): Likewise.
11297         * modules/findprog-in (Depends-on): Likewise.
11299 2019-09-15  Bruno Haible  <bruno@clisp.org>
11301         access: Add tests.
11302         * tests/test-access.c: New file.
11303         * modules/access-tests: New file.
11305         access: New module.
11306         * lib/unistd.in.h (access): New declaration.
11307         * lib/access.c: New file.
11308         * m4/access.m4: New file.
11309         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
11310         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
11311         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
11312         REPLACE_ACCESS.
11313         * modules/access: New file.
11314         * tests/test-unistd-c++.cc (access): Check signature.
11315         * doc/posix-functions/access.texi: Mention the new module.
11317 2019-09-15  Bruno Haible  <bruno@clisp.org>
11319         fcntl-h: Fix compilation error of creat.c on MSVC.
11320         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
11321         defined.
11323 2019-09-15  Bruno Haible  <bruno@clisp.org>
11325         creat: Add tests.
11326         * tests/test-creat.c: New file, based on tests/test-open.h.
11327         * modules/creat-tests: New file.
11329         creat: New module.
11330         * lib/fcntl.in.h (creat): New declaration.
11331         * lib/creat.c: New file, based on lib/open.c.
11332         * m4/creat.m4: New file.
11333         * m4/open-slash.m4: New file, extracted from m4/open.m4.
11334         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
11335         Invoke gl_OPEN_TRAILING_SLASH_BUG.
11336         * modules/open (Files): Add m4/open-slash.m4.
11337         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
11338         REPLACE_CREAT.
11339         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
11340         * modules/creat: New file.
11341         * tests/test-fcntl-h-c++.cc (creat): Check signature.
11342         * doc/posix-functions/creat.texi: Mention the new module.
11344 2019-09-15  Bruno Haible  <bruno@clisp.org>
11346         open tests: Enhance test.
11347         * tests/test-open.h (test_open): Test the creation of an executable
11348         regular file. Also improve initial cleanup.
11350 2019-09-15  Bruno Haible  <bruno@clisp.org>
11352         intprops tests: Avoid build failure with HP-UX cc.
11353         * tests/test-intprops.c: Disable a check that makes HP cc choke with
11354         "error 4018: Macro param too large after substitution - use -H option.".
11356 2019-09-14  Bruno Haible  <bruno@clisp.org>
11358         Make autoconf tests work with -Werror=implicit-function-declaration.
11359         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
11360         towupper() declaration.
11361         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
11362         declaration.
11364 2019-09-14  Bruno Haible  <bruno@clisp.org>
11366         findprog-in: Better mimic the system on native Windows.
11367         Reported by Paul Smith <psmith@gnu.org>.
11368         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
11369         non-empty suffixes when the file name already contains a '.'.
11371 2019-09-10  Bruno Haible  <bruno@clisp.org>
11373         wctob: Fix autoconf test.
11374         Based on patch by Florian Weimer <fweimer@redhat.com>.
11375         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
11377 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
11379         xhash: provide hash_xinitialize.
11380         Suggested by Egor Pugin <egor.pugin@gmail.com>
11381         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
11382         * modules/xhash, lib/xhash.c: New.
11383         * lib/hash.h (hash_xinitialize): New.
11385 2019-09-09  Bruno Haible  <bruno@clisp.org>
11387         findprog-in: Make exec optimization optional.
11388         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
11389         (find_in_given_path): Add optimize_for_exec parameter.
11390         * lib/findprog-in.c (find_in_given_path): Likewise.
11392 2019-09-08  Bruno Haible  <bruno@clisp.org>
11394         Add option to assume the best, not the worst, when cross-compiling.
11395         Suggested by Jonas Termansen <sortie@maxsi.org>.
11396         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
11397         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
11398         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
11399         lt_cv_sys_argz_works.
11400         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
11401         ac_cv_func_calloc_0_nonnull.
11402         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
11403         --enable-cross-guesses for gl_cv_func_realpath_works.
11404         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
11405         gl_cv_func_cbrtl_ieee.
11406         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
11407         gl_cv_func_ceil_ieee.
11408         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
11409         gl_cv_func_ceilf_ieee.
11410         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
11411         gl_cv_func_ceill_ieee.
11412         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
11413         ac_cv_func_chown_works.
11414         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
11415         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
11416         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
11417         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
11418         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
11419         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
11420         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
11421         gl_cv_func_expl_works.
11422         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
11423         gl_cv_func_expm1_ieee.
11424         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
11425         gl_cv_func_expm1l_works.
11426         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
11427         gl_cv_func_open_directory_works.
11428         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
11429         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
11430         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
11431         gl_cv_func_fchownat_empty_filename_works.
11432         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
11433         gl_cv_func_fdopendir_works.
11434         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
11435         gl_cv_func_floor_ieee.
11436         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
11437         gl_cv_func_floorf_ieee.
11438         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
11439         gl_cv_func_fma_works.
11440         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
11441         gl_cv_func_fmaf_works.
11442         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
11443         gl_cv_func_fmal_works.
11444         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
11445         gl_cv_func_fmod_ieee.
11446         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
11447         gl_cv_func_fmodf_ieee.
11448         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
11449         gl_cv_func_fmodl_ieee.
11450         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
11451         gl_cv_func_fpurge_works.
11452         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
11453         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
11454         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
11455         gl_cv_func_getcwd_null.
11456         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
11457         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
11458         gl_cv_func_working_getdelim.
11459         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
11460         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
11461         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
11462         gl_cv_func_getgroups_works.
11463         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
11464         am_cv_func_working_getline.
11465         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
11466         for gl_cv_func_getopt_gnu.
11467         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
11468         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
11469         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
11470         gl_cv_func_hypot_ieee.
11471         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
11472         gl_cv_func_hypotf_ieee.
11473         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
11474         gl_cv_func_hypotl_ieee.
11475         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
11476         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
11477         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
11478         gl_cv_func_link_works.
11479         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
11480         gl_cv_func_linkat_slash.
11481         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
11482         gl_cv_func_log_ieee.
11483         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
11484         gl_cv_func_logf_ieee.
11485         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
11486         gl_cv_func_logl_works.
11487         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
11488         gl_cv_func_log10_ieee.
11489         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
11490         gl_cv_func_log10f_ieee.
11491         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
11492         gl_cv_func_log10l_works.
11493         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
11494         gl_cv_func_log1p_ieee.
11495         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
11496         gl_cv_func_log1pf_ieee.
11497         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
11498         gl_cv_func_log1pl_ieee.
11499         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
11500         gl_cv_func_log2_ieee.
11501         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
11502         gl_cv_func_log2f_ieee.
11503         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
11504         --enable-cross-guesses for
11505         gl_cv_func_lstat_dereferences_slashed_symlink.
11506         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
11507         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
11508         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
11509         gl_cv_C_locale_sans_EILSEQ.
11510         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
11511         gl_cv_func_memchr_works.
11512         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
11513         gl_cv_func_memmem_works_always.
11514         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
11515         gl_cv_func_memmem_works_fast.
11516         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
11517         gl_cv_func_mkdir_trailing_slash_works,
11518         gl_cv_func_mkdir_trailing_dot_works.
11519         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
11520         gl_cv_func_mkfifo_works.
11521         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
11522         gl_cv_func_mknod_works.
11523         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
11524         gl_cv_func_working_mkstemp.
11525         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
11526         gl_cv_func_working_mktime.
11527         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
11528         gl_cv_func_modf_ieee.
11529         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
11530         gl_cv_func_modff_ieee.
11531         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
11532         gl_cv_func_modfl_ieee.
11533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
11534         gl_cv_func_nanosleep.
11535         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
11536         gl_cv_func_perror_works.
11537         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
11538         gl_cv_func_printf_sizes_c99.
11539         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
11540         gl_cv_func_printf_infinite.
11541         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
11542         gl_cv_func_printf_infinite_long_double.
11543         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
11544         gl_cv_func_printf_directive_a.
11545         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
11546         gl_cv_func_printf_directive_f.
11547         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
11548         gl_cv_func_printf_flag_zero.
11549         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
11550         gl_cv_func_printf_enomem.
11551         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
11552         gl_cv_func_snprintf_truncation_c99.
11553         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
11554         gl_cv_func_snprintf_retval_c99.
11555         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
11556         gl_cv_func_snprintf_directive_n.
11557         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
11558         gl_cv_func_vsnprintf_zerosize_c99.
11559         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
11560         gl_cv_func_pselect_detects_ebadf.
11561         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
11562         Obey --enable-cross-guesses for
11563         gl_cv_pthread_rwlock_rdlock_prefer_writer.
11564         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
11565         gl_cv_func_ptsname_sets_errno.
11566         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
11567         gl_cv_func_svid_putenv.
11568         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
11569         gl_cv_func_readlink_works.
11570         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
11571         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
11572         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
11573         gl_cv_func_re_compile_pattern_working.
11574         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
11575         gl_cv_func_remainder_ieee.
11576         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
11577         gl_cv_func_remainderf_ieee.
11578         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
11579         gl_cv_func_remainderl_ieee.
11580         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
11581         gl_cv_func_rintl_works.
11582         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
11583         gl_cv_func_rmdir_works.
11584         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
11585         gl_cv_func_round_ieee.
11586         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
11587         gl_cv_func_roundf_ieee.
11588         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
11589         gl_cv_func_roundl_ieee.
11590         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
11591         gl_cv_func_select_detects_ebadf.
11592         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
11593         gl_cv_func_setenv_works.
11594         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
11595         gl_cv_func_unsetenv_works.
11596         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
11597         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
11598         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
11599         gl_cv_func_sleep_works.
11600         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
11601         gl_cv_func_stat_file_slash.
11602         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
11603         gl_cv_func_stpncpy.
11604         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
11605         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
11606         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
11607         gl_cv_func_strcasestr_linear.
11608         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
11609         gl_cv_func_working_strerror.
11610         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
11611         gl_cv_func_strerror_0_works.
11612         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
11613         --enable-cross-guesses for gl_cv_func_strerror_r_works.
11614         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
11615         gl_cv_func_strstr_works_always.
11616         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
11617         gl_cv_func_strstr_linear.
11618         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
11619         gl_cv_func_strtod_works.
11620         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
11621         gl_cv_func_strtold_works.
11622         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
11623         gl_cv_func_symlink_works.
11624         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
11625         gl_cv_func_symlinkat_works.
11626         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
11627         gl_cv_func_trunc_ieee.
11628         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
11629         gl_cv_func_truncf_ieee.
11630         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
11631         gl_cv_func_truncl_ieee.
11632         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
11633         gl_cv_func_tzset_clobber.
11634         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
11635         gl_cv_func_ungetc_works.
11636         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
11637         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
11638         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
11639         gl_cv_func_usleep_works.
11640         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
11641         gl_cv_func_futimesat_works.
11642         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
11643         gl_cv_func_working_utimes.
11644         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
11645         gl_cv_func_wcwidth_works.
11646         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
11647         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
11648         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
11649         links for testing. Obey --enable-cross-guesses for
11650         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
11651         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
11653 2019-09-08  Bruno Haible  <bruno@clisp.org>
11655         Clarify that cross-compilation guesses are guesses.
11656         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
11657         cross-compiling.
11659 2019-09-08  Bruno Haible  <bruno@clisp.org>
11661         chown: Fix configure output (regression from 2019-03-23).
11662         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
11663         gl_cv_func_chown_follows_symlink variable.
11665 2019-09-08  Bruno Haible  <bruno@clisp.org>
11667         findprog-in: New module.
11668         Suggested by Paul Smith <psmith@gnu.org>.
11669         * lib/findprog.h (find_in_given_path): New declaration.
11670         * lib/findprog-in.c: New file, based on lib/findprog.c.
11671         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
11672         * modules/findprog-in: New file.
11674 2019-09-08  Bruno Haible  <bruno@clisp.org>
11676         findprog: Remove unused dependency.
11677         * modules/findprog (Depends-on): Remove strdup.
11679 2019-09-08  Bruno Haible  <bruno@clisp.org>
11681         findprog: Remove test that is obsolete since 2006-04-24.
11682         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
11684 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
11686         bitset: style changes
11687         * lib/bitset/vector.c (vbitset_resize): Factor computation.
11688         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
11689         xzalloc to xcalloc.
11690         Suggested by Paul Eggert.
11692 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
11694         bitset: check memory allocation
11695         Reported by 江 祖铭 (Zu-Ming Jiang).
11696         With help from Paul Eggert.
11697         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
11698         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
11699         instead of realloc.
11700         When shrinking, accept failures.
11701         * lib/bitset/vector.c (vbitset_resize): Likewise.
11703 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
11705         scratch_buffer: sync from glibc
11706         * config/srclist.txt: Add the scratch_buffer source
11707         code from glibc, since these should be in sync.
11708         Autoupdate.
11710 2019-09-07  Bruno Haible  <bruno@clisp.org>
11712         doc: Update for glibc 2.30.
11713         * doc/glibc-functions/gettid.texi: New file.
11714         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
11715         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
11716         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
11717         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
11718         * doc/glibc-functions/sem_clockwait.texi: New file.
11719         * doc/glibc-functions/tgkill.texi: New file.
11720         * doc/glibc-functions/twalk_r.texi: New file.
11721         * doc/gnulib.texi: Include them.
11722         (Glibc semaphore.h): New section.
11723         * doc/pastposix-functions/h_errno.texi: Update.
11724         * doc/posix-functions/*.texi: Likewise.
11726 2019-09-06  Bruno Haible  <bruno@clisp.org>
11728         symlink tests: Avoid test failure on Linux with Lustre file system.
11729         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
11730         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
11731         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
11733 2019-09-01  Bruno Haible  <bruno@clisp.org>
11735         gitsub.sh: Add support for shallow-cloning of subdirectories.
11736         * top/gitsub.sh (func_usage): Document allowed git options with
11737         'git pull'.
11738         (func_pull): Accept GIT_OPTIONS argument.
11739         (pull): Parse git options before complaining about too many arguments.
11740         Pass the git options to func_pull.
11742 2019-08-29  Bruno Haible  <bruno@clisp.org>
11744         lock: Fix cross-compilation guesses.
11745         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
11746         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
11747         platforms.
11749 2019-08-28  Bruno Haible  <bruno@clisp.org>
11751         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
11752         Reported by Martin Storsjö <martin@martin.st> in
11753         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
11754         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
11755         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
11756         files from GCC 6 or newer, use an override through '#define', because
11757         the inline definitions in the platform's <cmath> cannot be overridden
11758         in another way.
11760 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
11762         Revert macOS INT_MULTIPLY_WRAPV patch
11763         Problem reported by Bruno Haible in:
11764         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
11765         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
11766         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
11767         Go back to working around the Clang bug on macOS.
11769 2019-08-27  Bruno Haible  <bruno@clisp.org>
11771         libtool-next-version: Fix error output.
11772         * build-aux/libtool-next-version (func_fatal_error): Fix the program
11773         name.
11775 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
11777         Speed up INT_MULTIPLY_WRAPV on macOS
11778         Assume that __builtin_mul_overflow works OK with Clang on macOS.
11779         Mattias Engdegård says it’s safe to assume the relevant library
11780         is always available there.
11781         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
11782         New temporary internal macro.
11783         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
11784         No need to work around the Clang bug on macOS.
11786 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11788         intprops.h, verify.h: port better to clang
11789         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
11790         with Clang.  Problem reported privately by Mattias Engdegård.
11791         Also, insulate intprops.h and verify.h better against each other’s
11792         definitions of __has_builtin on non-Clang hosts.
11793         * lib/intprops.h (__has_builtin): Define a temporary substitute
11794         if __has_builtin is not already defined.
11795         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
11796         New temporary internal macros.
11797         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
11798         Now two separate macros, replacing the old
11799         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
11800         __builtin_mul_overflow is like the rest.  All uses changed.
11801         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
11802         Adjust to above changes.
11803         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
11804         longer relevant.  All uses changed.
11805         * lib/verify.h (__has_builtin): Treat like intprops.h,
11806         so that the two .h files do not collide with each other.
11807         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
11808         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
11810 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11812         intprops: say why not Clang __builtin_add_overflow
11813         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
11814         Mention Clang in comment, responding to a query from
11815         Mattias Engdegård.
11817 2019-08-24  Bruno Haible  <bruno@clisp.org>
11819         doc: Document most of the files outside of modules.
11820         * doc/gnulib.texi (Build Infrastructure Files,
11821         Release Management Files): New chapters.
11823 2019-08-24  Bruno Haible  <bruno@clisp.org>
11825         bootstrap: Keep in sync with the 'gettext' module.
11826         Reported by Assaf Gordon in
11827         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
11828         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
11829         * build-aux/po/remove-potcdate.sin: Likewise.
11831 2019-08-24  Bruno Haible  <bruno@clisp.org>
11833         crypto/gc-sha512: Add tests.
11834         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
11835         * modules/crypto/gc-sha512-tests: New file.
11837         crypto/gc-sha256: Add tests.
11838         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
11839         * modules/crypto/gc-sha256-tests: New file.
11841         crypto/gc-sha256, crypto/gc-sha512: New modules.
11842         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
11843         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
11844         (MAX_DIGEST_SIZE): Set to 64.
11845         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
11846         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
11847         (gc_sha256, gc_sha512): New functions.
11848         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
11849         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
11850         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
11852 2019-08-24  Bruno Haible  <bruno@clisp.org>
11854         crypto/gc-sha1 tests: Improve output when the test fails.
11855         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
11856         output.
11858 2019-08-24  Bruno Haible  <bruno@clisp.org>
11860         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
11861         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
11862         LIBGCRYPT_HAS_MD_SM3.
11863         * lib/gc-libgcrypt.c: Include sm3.h.
11864         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
11865         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
11866         implementation if libgcrypt does not support SM3.
11868 2019-08-24  Bruno Haible  <bruno@clisp.org>
11870         crypto/gc-md2: Optimize and clarify code.
11871         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
11872         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
11873         is not needed.
11875 2019-08-24  Bruno Haible  <bruno@clisp.org>
11877         crypto/gc-md2: Add comment.
11878         * lib/gc-libgcrypt.c: Add comment.
11880 2019-08-24  Bruno Haible  <bruno@clisp.org>
11882         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
11883         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
11884         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
11885         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
11886         variable.
11888 2019-08-24  Bruno Haible  <bruno@clisp.org>
11890         crypto/gc: Fix link error with --with-libgcrypt.
11891         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
11892         AC_LIB_HAVE_LINKFLAGS invocation.
11894 2019-08-24  Bruno Haible  <bruno@clisp.org>
11896         crypto/gc: Access the module indicators correctly.
11897         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
11898         * lib/gc-libgcrypt.c: Likewise.
11900 2019-08-24  Bruno Haible  <bruno@clisp.org>
11902         crypto/gc: Fix configuration with --with-libgcrypt.
11903         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
11904         * modules/crypto/gc (Files): Add it.
11905         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
11907 2019-08-24  Bruno Haible  <bruno@clisp.org>
11909         Remove unused file.
11910         * m4/stat-macros.m4: Remove file.
11912 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11914         New strip-trailing-space option for srclist-update
11915         * config/srclist-update (fixfile): Support new option.
11916         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
11917         Use it.
11919 2019-08-20  Eric Blake  <eblake@redhat.com>
11921         accept4: Support SOCK_NONBLOCK, if defined
11922         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
11924         accept4: Fix compilation when native accept4() exists.
11925         Reported by Richard W.M. Jones <rjones@redhat.com> in
11926         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
11927         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
11929 2019-08-18  Bruno Haible  <bruno@clisp.org>
11931         Defeat -flto GCC optimization in math autoconf tests.
11932         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
11933         at <https://savannah.gnu.org/bugs/?56109>.
11934         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
11935         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
11936         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11937         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11938         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11939         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
11940         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11941         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
11942         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
11943         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11944         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11945         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11947 2019-08-17  Bruno Haible  <bruno@clisp.org>
11949         windows-spin: Implement declared functions.
11950         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
11951         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
11952         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
11953         name.
11955 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11957         intprops: port to Oracle Developer Studio 12.6
11958         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
11959         typos that were in a section not compiled by GCC.
11961 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11963         intprops: support uchar, ushort _WRAPV dests
11964         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
11965         when __builtin_add_overflow etc. and _Generic are not used.
11966         (_GL_INT_OP_WRAPV): Use it to support destinations that
11967         are unsigned char or unsigned short, even in compilers
11968         that lack __typeof__ and are not C11-compatible.
11970         intprops: pacify picky GCC
11971         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
11972         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
11973         possibly-incorrect result.
11974         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
11975         about (A) used as a boolean, when A is an expression like 3 * 4.
11977         intprops: support unsigned *_WRAPV results
11978         Add support for unsigned, unsigned long, and unsigned long long
11979         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
11980         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
11981         bug with unsigned inputs reported by Eli Zaretskii in:
11982         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
11983         * config/srclist.txt: Break the glibc connection for intprops.h
11984         temporarily, while more testing is done in Gnulib-using apps.
11985         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
11986         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
11987         Support unsigned results no narrower than unsigned int.  Report
11988         overflow correctly if some arguments are unsigned.
11989         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
11990         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
11991         the right thing with narrow args.
11992         (_GL_INT_OP_CALC1): Remove.  All callers removed.
11993         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
11994         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
11995         * tests/test-intprops.c: Check for bugs and test new behavior.
11997 2019-08-14  Bruno Haible  <bruno@clisp.org>
11999         get_progname_of: New module.
12000         * lib/get_progname_of.h: New file.
12001         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
12002         * lib/getprogname.c (getprogname): Tweak coding style.
12003         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
12004         * modules/get_progname_of: New file.
12006 2019-08-14  Bruno Haible  <bruno@clisp.org>
12008         get_ppid_of: New module.
12009         * lib/get_ppid_of.h: New file.
12010         * lib/get_ppid_of.c: New file.
12011         * modules/get_ppid_of: New file.
12013 2019-08-13  Bruno Haible  <bruno@clisp.org>
12015         libtextstyle-optional tests: Support the NO_COLOR environment variable.
12016         * tests/test-libtextstyle.c (main): Do not emit styling when the
12017         environment variable NO_COLOR is set.
12019 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12021         verify: improve diagnostic quality in recent GCC
12022         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
12023         useful line number containing the top-level caller of the macro.
12024         So, bring back the older way of issuing a diagnostic containing
12025         the top-level call’s arg, so that it is easier to diagnose
12026         ‘verify’ failures with recent GCC.
12027         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
12028         Bring back DIAGNOSTIC arg.  All callers changed.
12029         (verify): Just use _GL_VERIFY.
12031 2019-08-11  Bruno Haible  <bruno@clisp.org>
12033         localcharset: Add more aliases for OS/2.
12034         Based on patch by KO Myung-Hun <komh78@gmail.com> in
12035         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
12036         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
12038 2019-08-10  Eric Blake  <eblake@redhat.com>
12040         configmake: Update advice on usage.
12041         * modules/configmake (Include): No longer necessary to include
12042         last, since configmake.h itself worries about collision avoidance.
12044 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
12046         parse-datetime: fix 'T' military timezone handling
12047         * lib/parse-datetime.y (zone):
12048         follow-up to the previous commit: the 'T' case is handled outside the
12049         conversion table (used as either military timezone UTC-7 or ISO8601
12050         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
12051         timezone letters.
12053 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12055         parse-datetime: fix military timezone letters
12056         Problem and trivial fix reported by Neil Hoggarth in:
12057         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
12058         * lib/parse-datetime.y (military_table):
12059         Do it the right way, not the RFC 822 way.
12061 2019-08-08  Eric Blake  <eblake@redhat.com>
12063         configmake: Avoid namespace pollution issue on mingw.
12064         * modules/configmake (Makefile.am): If the project uses
12065         <winsock2.h>, include that header before defining DATADIR.
12067 2019-07-28  Bruno Haible  <bruno@clisp.org>
12069         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
12070         * tests/test-mbrtowc.c (main): Fix expected value of wc.
12072 2019-07-24  Bruno Haible  <bruno@clisp.org>
12074         pthread-h: Fix definitions of types and macros on mingw.
12075         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
12076         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
12077         not in use.
12078         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
12079         'pthread-once' is not in use.
12080         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
12081         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
12082         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
12083         in use.
12084         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
12085         Define also when module 'pthread-rwlock' is not in use.
12086         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
12087         also when module 'pthread-cond' is not in use.
12088         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
12089         'pthread-tss' is not in use.
12090         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
12091         use.
12093 2019-07-24  Simon Josefsson  <simon@josefsson.org>
12095         crypto/gc: Cope with libgcrypt without SM3.
12096         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
12098 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
12100         backupfile: fix resource leak on memory failure
12101         Problem found by Coverity (CID 1484214).
12102         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
12104 2019-07-22  Bruno Haible  <bruno@clisp.org>
12106         Avoid missing-declarations warning in various tests.
12107         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
12108         test6, test_optional, test7, test8, test9, test10, test11, test12,
12109         test13, test14, test15, test_fun): Declare static.
12110         * tests/test-cnd.c (test_cnd_wait): Likewise.
12111         * tests/test-cond.c (test_cond): Likewise.
12113 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
12115         pthread tests: Avoid missing-declarations warning.
12116         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
12118 2019-07-19  Bruno Haible  <bruno@clisp.org>
12120         parse-datetime: Avoid warnings from bison versions >= 3.3.
12121         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
12122         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
12124 2019-07-19  Bruno Haible  <bruno@clisp.org>
12126         parse-datetime: Require Bison 2.4 or newer.
12127         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
12128         Code taken from gettext's intl.m4.
12129         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
12130         of YACC.
12132 2019-07-19  Bruno Haible  <bruno@clisp.org>
12134         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
12135         * lib/areadlink-with-size.c: Include <string.h>.
12136         * lib/areadlinkat-with-size.c: Likewise.
12137         * lib/xgethostname.c: Likewise.
12138         * lib/xgetdomainname.c: Likewise.
12140 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
12142         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
12143         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
12144         "%pure-parser".  The former is available since Bison 2.3b (2008),
12145         while the latter is marked as obsolete since version 3.4 (May 2019).
12147 2019-07-16  Bruno Haible  <bruno@clisp.org>
12149         update-copyright: Make it work again (regression from 2019-06-15).
12150         Reported by Brian C. Lane <bcl@redhat.com>.
12151         * build-aux/update-copyright: Add back the -0777, -p, -i options.
12153 2019-07-14  Bruno Haible  <bruno@clisp.org>
12155         doc: Update info about <pthread.h>.
12156         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
12157         of 'pthread'.
12159 2019-07-14  Bruno Haible  <bruno@clisp.org>
12161         pthread_sigmask tests: Use new multithread modules.
12162         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
12163         glthread/thread.h.
12164         (main_thread, killer_thread): Change type to pthread_t.
12165         (main): Update accordingly.
12166         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
12167         thread.
12169 2019-07-14  Bruno Haible  <bruno@clisp.org>
12171         pthread-tss: Add tests.
12172         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
12173         tests/test-tss.c.
12174         * modules/pthread-tss-tests: New file.
12176 2019-07-14  Bruno Haible  <bruno@clisp.org>
12178         pthread-cond: Add tests.
12179         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
12180         tests/test-cnd.c.
12181         * modules/pthread-cond-tests: New file.
12183 2019-07-14  Bruno Haible  <bruno@clisp.org>
12185         pthread-rwlock: Add tests.
12186         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
12187         * modules/pthread-rwlock-tests: New file.
12189 2019-07-14  Bruno Haible  <bruno@clisp.org>
12191         pthread-mutex: Add tests.
12192         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
12193         tests/test-mtx.c.
12194         * modules/pthread-mutex-tests: New file.
12196 2019-07-14  Bruno Haible  <bruno@clisp.org>
12198         pthread-once: Add tests.
12199         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
12200         tests/test-call_once.c.
12201         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
12202         tests/test-mtx.c.
12203         * modules/pthread-once-tests: New file.
12205 2019-07-14  Bruno Haible  <bruno@clisp.org>
12207         pthread-thread: Add tests.
12208         * tests/test-pthread-thread.c: New file, based on
12209         tests/test-thread_create.c and tests/test-thrd_create.c.
12210         * modules/pthread-thread-tests: New file.
12212 2019-07-14  Bruno Haible  <bruno@clisp.org>
12214         pthread: Turn into a convenience module.
12215         * lib/pthread.in.h: Remove declarations for extern inline functions.
12216         * lib/pthread.c: Remove file.
12217         * modules/pthread (Files): Remove it.
12218         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
12219         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
12220         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
12221         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
12222         GNULIB_PTHREAD.
12223         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
12225 2019-07-14  Bruno Haible  <bruno@clisp.org>
12227         pthread-spin: New module.
12228         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
12229         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
12230         inline definitions.
12231         * lib/pthread-spin.c: New file.
12232         * m4/pthread-spin.m4: New file.
12233         * modules/pthread-spin: New file.
12234         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
12235         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
12236         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
12237         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
12238         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
12240 2019-07-14  Bruno Haible  <bruno@clisp.org>
12242         pthread-tss: New module.
12243         * lib/pthread-tss.c: New file.
12244         * m4/pthread-tss.m4: New file.
12245         * modules/pthread-tss: New file.
12246         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
12247         * doc/posix-functions/pthread_setspecific.texi: Likewise.
12248         * doc/posix-functions/pthread_getspecific.texi: Likewise.
12249         * doc/posix-functions/pthread_key_delete.texi: Likewise.
12251 2019-07-14  Bruno Haible  <bruno@clisp.org>
12253         pthread-cond: New module.
12254         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
12255         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
12256         * lib/pthread-cond.c: New file.
12257         * m4/pthread-cond.m4: New file.
12258         * modules/pthread-cond: New file.
12259         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
12260         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
12261         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
12262         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
12263         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
12264         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
12265         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
12266         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
12268 2019-07-14  Bruno Haible  <bruno@clisp.org>
12270         pthread-rwlock: New module.
12271         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
12272         * m4/pthread-rwlock.m4: New file.
12273         * modules/pthread-rwlock: New file.
12274         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
12275         and the Android problem.
12276         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
12277         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
12278         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
12279         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
12280         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
12281         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
12282         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
12283         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
12284         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
12285         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
12287 2019-07-14  Bruno Haible  <bruno@clisp.org>
12289         pthread-mutex: New module.
12290         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
12291         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
12292         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
12293         pthread_mutex_unlock): Remove inline definitions.
12294         * lib/pthread-mutex.c: New file.
12295         * m4/pthread-mutex.m4: New file.
12296         * modules/pthread-mutex: New file.
12297         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
12298         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
12299         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
12300         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
12301         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12302         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12303         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
12304         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
12305         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
12306         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
12307         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
12308         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
12310 2019-07-14  Bruno Haible  <bruno@clisp.org>
12312         pthread-once: New module.
12313         * lib/pthread-once.c: New file.
12314         * m4/pthread-once.m4: New file.
12315         * modules/pthread-once: New file.
12316         * doc/posix-functions/pthread_once.texi: Mention the new module.
12318 2019-07-14  Bruno Haible  <bruno@clisp.org>
12320         pthread-thread: New module.
12321         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
12322         inline definitions.
12323         * lib/pthread-thread.c: New file.
12324         * m4/pthread-thread.m4: New file.
12325         * modules/pthread-thread: New file.
12326         * doc/posix-functions/pthread_create.texi: Mention the new module.
12327         * doc/posix-functions/pthread_attr_init.texi: Likewise.
12328         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
12329         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
12330         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
12331         * doc/posix-functions/pthread_self.texi: Likewise.
12332         * doc/posix-functions/pthread_equal.texi: Likewise.
12333         * doc/posix-functions/pthread_detach.texi: Likewise.
12334         * doc/posix-functions/pthread_join.texi: Likewise.
12335         * doc/posix-functions/pthread_exit.texi: Likewise.
12337 2019-07-14  Bruno Haible  <bruno@clisp.org>
12339         pthread-h: Prepare for adding new modules.
12340         * lib/pthread.in.h: Define the types and macros for each of the
12341         facilities separately.
12342         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
12343         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
12344         HAVE_PTHREAD_PROCESS_SHARED.
12345         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
12346         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
12347         HAVE_PTHREAD_PROCESS_SHARED.
12348         * modules/pthread-h (Makefile.am): Substitute
12349         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
12350         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
12352 2019-07-14  Bruno Haible  <bruno@clisp.org>
12354         pthread-h: Add declarations of essential pthread functions.
12355         * lib/pthread.in.h: Include snippets.
12356         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
12357         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
12358         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
12359         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
12360         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
12361         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
12362         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
12363         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
12364         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
12365         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
12366         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
12367         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
12368         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
12369         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
12370         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
12371         pthread_key_create, pthread_setspecific, pthread_getspecific,
12372         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
12373         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
12374         declarations.
12375         (pthread_mutex_timedlock): Move declaration.
12376         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
12377         declared.
12378         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
12379         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
12380         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
12381         HAVE_* and REPLACE_* variables for the new functions.
12382         * modules/pthread-h (Depends-on): Add snippet/c++defs,
12383         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
12384         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
12385         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
12386         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
12387         variables for the new functions. Split the sed script, to avoid the
12388         limit of 99 commands of HP-UX sed.
12389         * tests/test-pthread-c++.cc: Check the signature of the new functions.
12391 2019-07-14  Bruno Haible  <bruno@clisp.org>
12393         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
12394         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
12395         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
12396         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
12397         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
12398         * modules/pthread-h (Depends-on): Add threadlib.
12399         (Link): Change to $(LIBTHREAD).
12400         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
12401         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
12403 2019-07-14  Bruno Haible  <bruno@clisp.org>
12405         pthread-h: Add C++ tests.
12406         * tests/test-pthread-c++.cc: New file.
12407         * modules/pthread-h-c++-tests: New file.
12409 2019-07-14  Bruno Haible  <bruno@clisp.org>
12411         pthread-h: Add tests.
12412         * tests/test-pthread.c: New file.
12413         * modules/pthread-h-tests: New file.
12415 2019-07-14  Bruno Haible  <bruno@clisp.org>
12417         pthread-h: New module.
12418         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
12419         is 1.
12420         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
12421         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
12422         <pthread.h> pollutes the namespace; instead, prepare for generating a
12423         pthread.h always. Substitute HAVE_PTHREAD_H here.
12424         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
12425         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
12426         * modules/pthread-h: New file, based on modules/pthread.
12427         * modules/pthread: Rely on 'pthread-h'.
12428         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
12429         Update.
12430         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
12431         pthread.
12433 2019-07-14  Bruno Haible  <bruno@clisp.org>
12435         sched_yield: New module.
12436         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
12437         (sched_yield): New declaration.
12438         * lib/sched_yield.c: New file.
12439         * m4/sched_yield.m4: New file.
12440         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
12441         provide a replacement sched.h always. Test whether sched_yield is
12442         declared.
12443         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
12444         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
12445         (Makefile.am): Provide a replacement sched.h always. Substitute
12446         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
12447         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
12448         * modules/sched_yield: New file.
12449         * doc/posix-functions/sched_yield.texi: Mention the new module.
12451 2019-07-14  Bruno Haible  <bruno@clisp.org>
12453         windows-spin: New module.
12454         * lib/windows-spin.h: New file.
12455         * lib/windows-spin.c: New file.
12456         * modules/windows-spin: New file.
12458 2019-07-14  Bruno Haible  <bruno@clisp.org>
12460         windows-timedrwlock: New module.
12461         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
12462         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
12463         windows-cond.c.
12464         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
12465         redefinition conflict with windows-timedrwlock.h.
12466         * modules/windows-timedrwlock: New file.
12468 2019-07-14  Bruno Haible  <bruno@clisp.org>
12470         windows-rwlock: New module.
12471         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
12472         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
12473         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
12474         windows-initguard.h.
12475         (gl_rwlock_t): Define using glwthread_rwlock_t.
12476         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
12477         (glthread_rwlock_init): Define using glwthread_rwlock_init.
12478         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
12479         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
12480         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
12481         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
12482         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
12483         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
12484         glthread_rwlock_destroy_func): Remove declarations.
12485         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
12486         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
12487         gl_waitqueue_notify_all, glthread_rwlock_init_func,
12488         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
12489         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
12490         functions.
12491         * modules/windows-rwlock: New file.
12492         * modules/lock (Depends-on): Add windows-rwlock.
12494 2019-07-14  Bruno Haible  <bruno@clisp.org>
12496         windows-thread: Add support for creating a thread in detached state.
12497         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
12498         (glwthread_thread_create): Add attr argument.
12499         * lib/windows-thread.c (glwthread_thread_create): Likewise.
12500         * lib/glthread/thread.h (glthread_create): Update.
12501         * lib/thrd.c (thrd_create): Update.
12503 2019-07-14  Bruno Haible  <bruno@clisp.org>
12505         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
12506         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
12507         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
12508         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
12509         * lib/windows-mutex.h: Update.
12510         * lib/windows-recmutex.h: Likewise.
12511         * lib/windows-timedmutex.h: Likewise.
12512         * lib/windows-timedrecmutex.h: Likewise.
12513         * lib/windows-cond.h: Likewise.
12514         * lib/glthread/lock.h: Likewise.
12515         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
12516         lib/windows-spinlock.h.
12517         * modules/windows-recmutex (Files): Likewise.
12518         * modules/windows-timedmutex (Files): Likewise.
12519         * modules/windows-timedrecmutex (Files): Likewise.
12520         * modules/windows-cond (Files): Likewise.
12521         * modules/threads-h (Files): Likewise.
12523 2019-07-14  Bruno Haible  <bruno@clisp.org>
12525         doc: Fix info about pthread API in HP-UX.
12526         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
12528 2019-07-14  Bruno Haible  <bruno@clisp.org>
12530         threads-h: Fix generation of threads.h.
12531         * modules/threads-h (Makefile.am): Insert the required header file
12532         snippets.
12534 2019-07-09  Bruno Haible  <bruno@clisp.org>
12536         striconveh test: Fix a compilation failure when iconv is not available.
12537         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12538         * tests/test-striconveh.c (main): Move iconv_close invocations inside
12539         HAVE_ICONV.
12541 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
12543         argmatch: adjust columns for help2man.
12544         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
12545         requires column 20 or more, return 20.
12547 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12549         areadlink-with-size: avoid realloc when size==0
12550         * lib/areadlink-with-size.c (areadlink_with_size):
12551         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
12552         Reallocate at the end to the actual size, to avoid memory waste,
12553         as suggested by Bruno Haible.  But when the guessed size is zero -
12554         useful when the size is unknown - do the initial small readlink
12555         into the stack, to avoid that realloc in the usual case.
12557 2019-07-06  Pádraig Brady  <P@draigBrady.com>
12559         areadlink-with-size: guess a buffer size with 0 size
12560         The size is usually taken from st_size, which can be zero,
12561         resulting in inefficient operation.
12562         Instead let zero select an initial memory allocation
12563         of 128 bytes, which most symlinks fit within.
12564         * lib/areadlink-with-size.c (areadlink_with_size):
12565         Start with a 128 byte buffer, for SIZE == 0.
12566         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
12568 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
12570         Replace manually crafted hex regexes with [:xdigit:]
12571         * build-aux/gitlog-to-changelog (parse_amend_file)
12572         (git_dir_option):
12573         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
12574         This patch is backported from Emacs (Bug#36167).
12576 2019-07-06  Bruno Haible  <bruno@clisp.org>
12578         error: Fix documentation.
12579         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
12580         module provides.
12581         * doc/glibc-functions/error_message_count.texi: Likewise.
12582         * doc/glibc-functions/error_one_per_line.texi: Likewise.
12583         * doc/glibc-functions/error_print_progname.texi: Likewise.
12585 2019-07-06  Bruno Haible  <bruno@clisp.org>
12587         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
12588         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
12589         and older is unsupported.
12590         * doc/**/*.texi: Update.
12592 2019-07-06  Bruno Haible  <bruno@clisp.org>
12594         doc: Remove documentation of Linux libc5 as a supported platform.
12595         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
12596         to Linux libc5.
12597         * doc/posix-functions/iswalpha.texi: Likewise.
12598         * doc/posix-functions/iswblank.texi: Likewise.
12599         * doc/posix-functions/iswcntrl.texi: Likewise.
12600         * doc/posix-functions/iswdigit.texi: Likewise.
12601         * doc/posix-functions/iswgraph.texi: Likewise.
12602         * doc/posix-functions/iswlower.texi: Likewise.
12603         * doc/posix-functions/iswprint.texi: Likewise.
12604         * doc/posix-functions/iswpunct.texi: Likewise.
12605         * doc/posix-functions/iswspace.texi: Likewise.
12606         * doc/posix-functions/iswupper.texi: Likewise.
12607         * doc/posix-functions/iswxdigit.texi: Likewise.
12608         * doc/posix-functions/snprintf.texi: Likewise.
12609         * doc/posix-functions/vsnprintf.texi: Likewise.
12611 2019-07-06  Bruno Haible  <bruno@clisp.org>
12613         doc: Remove documentation of Tandem/NSK as a supported platform.
12614         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
12615         Tandem/NSK.
12616         * doc/**/*.texi: Update.
12618 2019-07-06  Bruno Haible  <bruno@clisp.org>
12620         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
12621         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
12622         and older is unsupported.
12623         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
12624         Mac OS X 10.4 and older.
12625         * doc/posix-functions/asinl.texi: Likewise.
12626         * doc/posix-functions/atanl.texi: Likewise.
12627         * doc/posix-functions/cosl.texi: Likewise.
12628         * doc/posix-functions/expl.texi: Likewise.
12629         * doc/posix-functions/frexpl.texi: Likewise.
12630         * doc/posix-functions/gettimeofday.texi: Likewise.
12631         * doc/posix-functions/logl.texi: Likewise.
12632         * doc/posix-functions/mkstemp.texi: Likewise.
12633         * doc/posix-functions/sinl.texi: Likewise.
12634         * doc/posix-functions/sqrtl.texi: Likewise.
12635         * doc/posix-functions/tanl.texi: Likewise.
12636         * doc/posix-functions/wcswidth.texi: Likewise.
12637         * doc/**/*.texi: Update.
12639 2019-07-06  Bruno Haible  <bruno@clisp.org>
12641         doc: Remove documentation of AIX 4 as a supported platform.
12642         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
12643         unsupported.
12644         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
12645         workarounds.
12646         * doc/posix-functions/strnlen.texi: Likewise.
12647         * doc/posix-headers/inttypes.texi: Likewise.
12648         * doc/**/*.texi: Update.
12650 2019-07-06  Bruno Haible  <bruno@clisp.org>
12652         doc: Remove documentation of HP-UX 10 as a supported platform.
12653         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
12654         unsupported.
12655         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
12656         workarounds.
12657         * doc/posix-functions/gmtime_r.texi: Likewise.
12658         * doc/posix-functions/localtime_r.texi: Likewise.
12659         * doc/posix-functions/mkstemp.texi: Likewise.
12660         * doc/**/*.texi: Update.
12662 2019-07-06  Bruno Haible  <bruno@clisp.org>
12664         doc: Remove documentation of Interix 3.5 as a supported platform.
12665         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
12666         unsupported.
12667         * doc/posix-functions/select.texi: Don't mention Interix specific
12668         workarounds.
12669         * doc/posix-headers/signal.texi: Likewise.
12670         * doc/**/*.texi: Update.
12672 2019-07-06  Bruno Haible  <bruno@clisp.org>
12674         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
12675         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
12676         unsupported.
12677         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
12678         workarounds.
12679         * doc/posix-functions/nl_langinfo.texi: Likewise.
12680         * doc/posix-functions/remainder.texi: Likewise.
12681         * doc/posix-functions/towlower.texi: Likewise.
12682         * doc/posix-functions/towupper.texi: Likewise.
12683         * doc/posix-functions/vsnprintf.texi: Likewise.
12684         * doc/posix-functions/wcscat.texi: Likewise.
12685         * doc/posix-functions/wcschr.texi: Likewise.
12686         * doc/posix-functions/wcscmp.texi: Likewise.
12687         * doc/posix-functions/wcscpy.texi: Likewise.
12688         * doc/posix-functions/wcscspn.texi: Likewise.
12689         * doc/posix-functions/wcslen.texi: Likewise.
12690         * doc/posix-functions/wcsncat.texi: Likewise.
12691         * doc/posix-functions/wcsncmp.texi: Likewise.
12692         * doc/posix-functions/wcsncpy.texi: Likewise.
12693         * doc/posix-functions/wcspbrk.texi: Likewise.
12694         * doc/posix-functions/wcsrchr.texi: Likewise.
12695         * doc/posix-functions/wcsspn.texi: Likewise.
12696         * doc/posix-headers/langinfo.texi: Likewise.
12697         * doc/posix-headers/signal.texi: Likewise.
12698         * doc/posix-headers/wchar.texi: Likewise.
12699         * doc/posix-headers/wctype.texi: Likewise.
12700         * doc/**/*.texi: Update.
12702 2019-07-05  Bruno Haible  <bruno@clisp.org>
12704         doc: Remove documentation of OSF/1 as supported platform.
12705         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
12706         unsupported.
12707         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
12708         workarounds.
12709         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
12710         * doc/glibc-functions/ptsname_r.texi: Likewise.
12711         * doc/posix-functions/ceil.texi: Likewise.
12712         * doc/posix-functions/ceilf.texi: Likewise.
12713         * doc/posix-functions/ceill.texi: Likewise.
12714         * doc/posix-functions/fchdir.texi: Likewise.
12715         * doc/posix-functions/floor.texi: Likewise.
12716         * doc/posix-functions/floorf.texi: Likewise.
12717         * doc/posix-functions/fmod.texi: Likewise.
12718         * doc/posix-functions/fmodf.texi: Likewise.
12719         * doc/posix-functions/fmodl.texi: Likewise.
12720         * doc/posix-functions/log.texi: Likewise.
12721         * doc/posix-functions/logf.texi: Likewise.
12722         * doc/posix-functions/logl.texi: Likewise.
12723         * doc/posix-functions/log10.texi: Likewise.
12724         * doc/posix-functions/log10f.texi: Likewise.
12725         * doc/posix-functions/log10l.texi: Likewise.
12726         * doc/posix-functions/log2.texi: Likewise.
12727         * doc/posix-functions/log2f.texi: Likewise.
12728         * doc/posix-functions/log2l.texi: Likewise.
12729         * doc/posix-functions/mbrtowc.texi: Likewise.
12730         * doc/posix-functions/recv.texi: Likewise.
12731         * doc/posix-functions/recvfrom.texi: Likewise.
12732         * doc/posix-functions/remainder.texi: Likewise.
12733         * doc/posix-functions/remainderf.texi: Likewise.
12734         * doc/posix-functions/remainderl.texi: Likewise.
12735         * doc/posix-functions/round.texi: Likewise.
12736         * doc/posix-functions/roundf.texi: Likewise.
12737         * doc/posix-functions/roundl.texi: Likewise.
12738         * doc/posix-functions/send.texi: Likewise.
12739         * doc/posix-functions/sendto.texi: Likewise.
12740         * doc/posix-functions/setenv.texi: Likewise.
12741         * doc/posix-functions/snprintf.texi: Likewise.
12742         * doc/posix-functions/tcgetsid.texi: Likewise.
12743         * doc/posix-functions/trunc.texi: Likewise.
12744         * doc/posix-functions/truncf.texi: Likewise.
12745         * doc/posix-functions/truncl.texi: Likewise.
12746         * doc/posix-functions/ttyname_r.texi: Likewise.
12747         * doc/posix-functions/unsetenv.texi: Likewise.
12748         * doc/posix-functions/wcsrtombs.texi: Likewise.
12749         * doc/posix-headers/sys_select.texi: Likewise.
12750         * doc/posix-headers/wchar.texi: Likewise.
12751         * doc/posix-headers/wctype.texi: Likewise.
12752         * doc/**/*.texi: Update.
12754 2019-07-05  Bruno Haible  <bruno@clisp.org>
12756         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
12757         * doc/**/*.texi: Update.
12759 2019-07-05  Bruno Haible  <bruno@clisp.org>
12761         doc: Remove documentation of Solaris 8 and older as supported platforms.
12762         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
12763         unsupported.
12764         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
12765         workarounds.
12766         * doc/posix-functions/memcmp.texi: Likewise.
12767         * doc/posix-functions/rename.texi: Likewise.
12768         * doc/posix-functions/tzset.texi: Likewise.
12769         * doc/posix-headers/wctype.texi: Likewise.
12770         * doc/**/*.texi: Update.
12772 2019-07-05  Bruno Haible  <bruno@clisp.org>
12774         doc: Remove documentation of Interix 3.5 as a supported platform.
12775         * doc/**/*.texi: Update.
12777 2019-07-05  Bruno Haible  <bruno@clisp.org>
12779         doc: Remove documentation of BeOS as a supported platform.
12780         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
12781         unsupported.
12782         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
12783         * doc/posix-functions/getdelim.texi: Likewise.
12784         * doc/**/*.texi: Update.
12786 2019-07-05  Bruno Haible  <bruno@clisp.org>
12788         thread, lock, cond, tls: Remove support for Pth threads.
12789         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
12790         --enable-threads=pth any more.
12791         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
12792         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
12793         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
12794         threads and ISO C11 threads.
12795         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
12796         * lib/glthread/lock.h: Likewise.
12797         * lib/glthread/lock.c: Likewise.
12798         * lib/glthread/cond.h: Likewise.
12799         * lib/glthread/cond.c: Likewise.
12800         * lib/glthread/tls.h: Likewise.
12801         * lib/glthread/tls.c: Likewise.
12802         * lib/glthread/yield.h: Likewise.
12803         * lib/regex_internal.h: Likewise.
12804         * tests/test-thread_create.c: Likewise.
12805         * tests/test-lock.c: Likewise.
12806         * tests/test-cond.c: Likewise.
12807         * tests/test-tls.c: Likewise.
12808         * tests/test-rwlock1.c: Don't include glthread/yield.h.
12809         (main): Sleep without calling gl_thread_yield.
12811 2019-07-05  Bruno Haible  <bruno@clisp.org>
12813         thread, lock, cond, tls: Remove support for old Solaris threads.
12814         Solaris >= 2.5.1 has POSIX threads.
12815         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
12816         --enable-threads=solaris any more.
12817         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
12818         * lib/glthread/thread.c: Update comment.
12819         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
12820         * lib/glthread/lock.h: Likewise.
12821         * lib/glthread/lock.c: Likewise.
12822         * lib/glthread/cond.h: Likewise.
12823         * lib/glthread/cond.c: Likewise.
12824         * lib/glthread/tls.h: Likewise.
12825         * lib/glthread/tls.c: Likewise.
12826         * lib/glthread/yield.h: Likewise.
12827         * lib/regex_internal.h: Likewise.
12828         * tests/test-thread_create.c: Likewise.
12829         * tests/test-lock.c: Likewise.
12830         * tests/test-cond.c: Likewise.
12831         * tests/test-tls.c: Likewise.
12833 2019-07-05  Bruno Haible  <bruno@clisp.org>
12835         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
12836         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
12837         needed size is equal to the allocated size.
12838         * lib/getcwd.c (__getcwd): Likewise.
12840 2019-07-05  Bruno Haible  <bruno@clisp.org>
12842         xgetdomainname: Don't return an excessive memory allocation.
12843         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
12844         before returning it.
12846 2019-07-05  Bruno Haible  <bruno@clisp.org>
12848         xgethostname: Don't return an excessive memory allocation.
12849         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
12850         returning it.
12852 2019-07-05  Bruno Haible  <bruno@clisp.org>
12854         areadlinkat-with-size: Don't return an excessive memory allocation.
12855         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
12856         before returning it.
12858 2019-07-05  Bruno Haible  <bruno@clisp.org>
12860         areadlink-with-size: Don't return an excessive memory allocation.
12861         Reported by Andreas Dilger <adilger@whamcloud.com>.
12862         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
12863         before returning it.
12865 2019-07-03  Bruno Haible  <bruno@clisp.org>
12867         renameatu: Fix test failure on MSVC.
12868         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
12869         empty string.
12871 2019-07-03  Bruno Haible  <bruno@clisp.org>
12873         mbrtowc: Fix invalid use of mbtowc() on MSVC.
12874         * lib/mbrtowc.c: Include glthread/lock.h.
12875         (mbtowc_lock): New variable.
12876         (mbrtowc): Treat UTF-8 encoding without locking. For the other
12877         encodings, explicitly reset the internal state of mbtowc, and protect
12878         this through a lock.
12879         * modules/mbrtowc (Depends-on): Add lock.
12881 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
12883         argmatch: don't define _ in the header.
12884         Reported by Jim Meyering.
12885         * lib/argmatch.h (N_, _): Don't define.
12886         Use gettext instead.
12887         * lib/argmatch.h (_): Define.
12888         * tests/test-argmatch.c (N_): Define.
12890 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
12892         verify: document ‘assume’ better
12893         * lib/verify.h: Reword doc (Bug#36370).
12895 2019-07-02  Bruno Haible  <bruno@clisp.org>
12897         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
12898         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
12899         "CPutf8".
12900         * lib/nl_langinfo.c (ctype_codeset): Likewise.
12902 2019-07-02  Bruno Haible  <bruno@clisp.org>
12904         getcwd: Fix crash when invoked with size = 0 on MSVC.
12905         * lib/getcwd.c: Include msvc-inval.h.
12906         (getcwd_nothrow): New function/macro.
12907         (getcwd_system): New macro.
12908         (__getcwd): Use it instead of getcwd.
12909         * modules/getcwd (Depends-on): Add msvc-inval.
12910         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
12912 2019-07-02  Bruno Haible  <bruno@clisp.org>
12914         nonblocking-pipe tests: Fix test failure on MSVC.
12915         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
12916         native Windows.
12918 2019-07-02  Bruno Haible  <bruno@clisp.org>
12920         usleep: Implement with millisecond resolution on native Windows.
12921         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
12922         * doc/pastposix-functions/usleep.texi: Update accordingly.
12924 2019-07-02  Bruno Haible  <bruno@clisp.org>
12926         lstat tests: Fix test failure on MSVC.
12927         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
12928         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
12930 2019-07-02  Bruno Haible  <bruno@clisp.org>
12932         stat tests: Fix test failure on MSVC.
12933         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
12934         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
12936 2019-07-02  Bruno Haible  <bruno@clisp.org>
12938         getaddrinfo tests: Fix test failure on MSVC.
12939         * tests/test-getaddrinfo.c: Include sockets.h.
12940         (main): Invoke gl_sockets_startup.
12941         * modules/getaddrinfo-tests (Depends-on): Add sockets.
12943 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
12945         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
12946         * lib/poll.c: Call Windows native select() with Windows native timeval.
12948 2019-06-30  Bruno Haible  <bruno@clisp.org>
12950         argmatch: Fix compilation errors.
12951         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
12952         * tests/test-argmatch.c (main): Update after last-minute function names
12953         change.
12955 2019-06-30  Bruno Haible  <bruno@clisp.org>
12957         Include <stdlib.h> when needed.
12958         * lib/cnd.c: Include <stdlib.h>, needed for abort().
12959         * lib/fcntl.c: Likewise.
12960         * lib/mbscasestr.c: Likewise.
12961         * lib/mbssep.c: Likewise.
12962         * lib/mbsstr.c: Likewise.
12963         * lib/openat.c: Include <stdlib.h>, needed for free().
12964         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
12965         abort().
12967 2019-06-30  Bruno Haible  <bruno@clisp.org>
12969         Include <stdlib.h> when needed.
12970         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
12971         * lib/faccessat.c: Likewise.
12972         * lib/fchmodat.c: Likewise.
12973         * lib/fchownat.c: Likewise.
12974         * lib/fstatat.c: Likewise.
12975         * lib/mkfifoat.c: Likewise.
12976         * lib/mknodat.c: Likewise.
12977         * lib/readlinkat.c: Likewise.
12978         * lib/symlinkat.c: Likewise.
12979         * lib/utimensat.c: Likewise.
12980         * lib/mkdirat.c: Likewise. Include also the specification header.
12982 2019-06-30  Bruno Haible  <bruno@clisp.org>
12984         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
12985         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
12986         from gl_PREREQ_SYS_H_SOCKET.
12987         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
12988         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
12989         gl_PREREQ_SYS_H_WS2TCPIP.
12990         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
12991         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
12992         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
12994 2019-06-30  Bruno Haible  <bruno@clisp.org>
12996         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
12997         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
12998         REPLACE_INET_NTOP to 1 always.
12999         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
13000         REPLACE_INET_PTON to 1 always.
13002 2019-06-30  Bruno Haible  <bruno@clisp.org>
13004         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
13005         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
13006         not REPLACE_INET_NTOP.
13008 2019-06-30  Bruno Haible  <bruno@clisp.org>
13010         poll: Add comment.
13011         * lib/poll.c: Add comment about WSAPoll.
13013 2019-06-30  Bruno Haible  <bruno@clisp.org>
13015         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
13016         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
13017         * lib/poll.in.h: Include <winsock2.h>.
13018         (POLL*, pollfd): Override on native Windows.
13019         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13020         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
13021         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13023 2019-06-28  Bruno Haible  <bruno@clisp.org>
13025         accept4: Fix compilation error on OpenIndiana.
13026         Reported by Michal Nowak <mnowak@startmail.com>
13027         via Mark H Weaver <mhw@netris.org>.
13028         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
13029         whether it exists as a function.
13031 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
13033         strverscmp: sync from glibc
13034         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
13035         comments, include libc-config.h, define __strverscmp to be
13036         strverscmp, and don’t assume types line uint8_t and int8_t that
13037         that C99 doesn’t guarantee.
13038         [!_LIBC]: Include libc-config.h; define __strverscmp.
13039         Include stdint.h.
13040         (__strverscmp): Assume C99.  Use uint_least8_t
13041         and int_least8_t instead of unsigned char and signed char.
13042         * modules/strverscmp (Depends-on): Add libc-config, stdint.
13044 2019-06-25  Bruno Haible  <bruno@clisp.org>
13046         tss tests: Add tests for destructors and races.
13047         * tests/test-tss.c (worker_thread): Fix typo in debug message.
13048         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
13049         functions.
13050         (main): Invoke them.
13051         * modules/tls-tests (Depends-on): Add mtx.
13053 2019-06-25  Bruno Haible  <bruno@clisp.org>
13055         tls tests: Add tests for destructors and races.
13056         * tests/test-tls.c: Include glthread/lock.h.
13057         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
13058         functions.
13059         (main): Invoke them.
13060         * modules/tls-tests (Depends-on): Add lock.
13062 2019-06-25  Bruno Haible  <bruno@clisp.org>
13064         windows-tls: Implement TLS key destructors for native Windows.
13065         * lib/windows-tls.h (glwthread_tls_process_destructors): New
13066         declaration.
13067         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
13068         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
13069         (dtor_table_init_once, dtor_table_lock: New variables.
13070         (struct dtor): New type.
13071         (dtor_table, dtors_count, dtors_used, dtors_allocated,
13072         dtor_processing_threads): New variables.
13073         (dtor_table_initialize, dtor_table_ensure_initialized,
13074         dtor_table_shrink_used, glwthread_tls_process_destructors): New
13075         functions.
13076         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
13077         handle non-NULL destructors.
13078         * modules/windows-tls (Depends-on): Add windows-once.
13079         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
13080         Use the functions declared in windows-tls.h.
13081         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
13082         GLWTHREAD_DESTRUCTOR_ITERATIONS.
13083         * lib/windows-thread.c: Include windows-tls.h.
13084         (wrapper_func, glwthread_thread_exit): Invoke
13085         glwthread_tls_process_destructors.
13086         * modules/windows-thread (Depends-on): Add windows-tls.
13088 2019-06-25  Bruno Haible  <bruno@clisp.org>
13090         threadlib: Avoid autoconf warning "was expanded before it was required".
13091         * modules/threadlib (configure.ac): Require gl_THREADLIB.
13093 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
13095         argmatch: remove duplicate const qualifier
13096         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
13098 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
13100         unistd: stddef.h and sys/types.h namespace cleanup
13101         * lib/unistd.in.h [__GLIBC__]:
13102         Do not include stddef.h or sys/types.h.
13103         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
13104         supposed to declare off_t and ssize_t.  Problem found when looking
13105         at why @GNULIB_PWRITE@ was different from the newly-added
13106         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
13108 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
13110         maintainer-makefile: restore portability to non-GNU awks
13111         Reported by Tim Rühsen.
13112         * top/maint.mk (AWK): New variable.  Use it.
13113         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
13115 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
13117         Document setvbuf _IOLBF problem
13118         * doc/posix-functions/setvbuf.texi (setvbuf):
13119         Document MS-Windows portability problem with _IOLBF.
13121         Document lseek SEEK_DATA/SEEK_HOLE
13122         * doc/posix-functions/lseek.texi (lseek):
13123         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
13125 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
13127         argmatch: put all the docs member last.
13128         Reported by Bruno Haible.
13129         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
13130         member before the docs done.
13131         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
13133 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
13135         argmatch: add support to generate the usage message.
13136         * lib/argmatch.c: Move some #includes and gettext support to...
13137         * lib/argmatch.h: here.
13138         (ARGMATCH_DEFINE_GROUP): New macro.
13139         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
13140         (argmatch_backup_group): New.
13141         (CHECK): New.
13142         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
13143         argmatch_backup_argument and argmatch_backup_usage.
13144         * modules/argmatch: We depend on c99.
13145         * doc/argmatch.texi (Recognizing Option Arguments): New.
13146         * doc/gnulib.texi: Use it.
13148 2019-06-21  Bruno Haible  <bruno@clisp.org>
13150         thrd: Add comment.
13151         * lib/thrd.c (pthread_main_func): Add comment.
13153 2019-06-21  Bruno Haible  <bruno@clisp.org>
13155         threads-h: Define 'thread_local' if and only if it actually works.
13156         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
13157         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
13158         Oracle Solaris Studio C. Compile a simple program, to see whether
13159         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
13160         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
13161         * lib/threads.in.h (thread_local): Undefine if it does not work.
13162         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
13163         (Link): Mention LIBTHREADLOCAL.
13164         * tests/test-threads.c: Don't check that thread_local is defined.
13165         * tests/test-thread_local.c: New file.
13166         * modules/threads-h-tests (Files): Add it and macros.h.
13167         (Depends-on): Add thrd and stdint.
13168         (configure.ac): Test whether 'alarm' is declared.
13169         (Makefile.am): Arrange to build and link test-thread_local.
13170         * doc/posix-headers/threads.texi: Mention the platforms that don't
13171         support 'thread_local'.
13173 2019-06-20  Bruno Haible  <bruno@clisp.org>
13175         threads-h: Simplify link dependencies.
13176         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
13177         Don't set LTLIBSTDTHREAD.
13178         * modules/thrd (Link): Simplify accordingly.
13179         * modules/mtx (Link): Likewise.
13180         * modules/cnd (Link): Likewise.
13181         * modules/tss (Link): Likewise.
13182         * modules/threads (Link): Likewise.
13184 2019-06-20  Bruno Haible  <bruno@clisp.org>
13186         threads-h: Fix link error on FreeBSD 11.
13187         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
13188         also with -lpthread.
13190 2019-06-20  Bruno Haible  <bruno@clisp.org>
13192         threadlib: Fix typo (regression from today).
13193         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
13195 2019-06-20  Bruno Haible  <bruno@clisp.org>
13197         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
13198         * lib/windows-thread.c: Include <errno.h>.
13199         * lib/windows-tls.c: Likewise.
13201 2019-06-20  Bruno Haible  <bruno@clisp.org>
13203         tss tests: Small improvement.
13204         * tests/test-tss.c (test_tss): Pass a different id to each thread.
13206 2019-06-20  Bruno Haible  <bruno@clisp.org>
13208         threads: New module.
13209         * modules/threads: New file.
13211 2019-06-20  Bruno Haible  <bruno@clisp.org>
13213         tss: Add tests.
13214         * tests/test-tss.c: New file, based on tests/test-tls.c.
13215         * modules/tss-tests: New file.
13217 2019-06-20  Bruno Haible  <bruno@clisp.org>
13219         cnd: Add tests.
13220         * tests/test-cnd.c: New file, based on tests/test-cond.c.
13221         * modules/cnd-tests: New file.
13223 2019-06-20  Bruno Haible  <bruno@clisp.org>
13225         mtx: Add tests.
13226         * tests/test-mtx.c: New file, based on tests/test-lock.c.
13227         * tests/test-call_once.c: New file, based on tests/test-once.c.
13228         * modules/mtx-tests: New file.
13230 2019-06-20  Bruno Haible  <bruno@clisp.org>
13232         thrd: Add tests.
13233         * tests/test-thrd_create.c: New file, based on
13234         tests/test-thread_create.c.
13235         * tests/test-thrd_current.c: New file, based on
13236         tests/test-thread_self.c.
13237         * modules/thrd-tests: New file.
13239 2019-06-20  Bruno Haible  <bruno@clisp.org>
13241         tss: New module.
13242         * lib/tss.c: New file.
13243         * modules/tss: New file.
13244         * doc/posix-functions/tss_create.texi: Mention the new module.
13245         * doc/posix-functions/tss_set.texi: Likewise.
13246         * doc/posix-functions/tss_get.texi: Likewise.
13247         * doc/posix-functions/tss_delete.texi: Likewise.
13249 2019-06-20  Bruno Haible  <bruno@clisp.org>
13251         cnd: New module.
13252         * lib/cnd.c: New file.
13253         * modules/cnd: New file.
13254         * doc/posix-functions/cnd_init.texi: Mention the new module.
13255         * doc/posix-functions/cnd_wait.texi: Likewise.
13256         * doc/posix-functions/cnd_timedwait.texi: Likewise.
13257         * doc/posix-functions/cnd_signal.texi: Likewise.
13258         * doc/posix-functions/cnd_broadcast.texi: Likewise.
13259         * doc/posix-functions/cnd_destroy.texi: Likewise.
13261 2019-06-20  Bruno Haible  <bruno@clisp.org>
13263         mtx: New module.
13264         * lib/mtx.c: New file.
13265         * modules/mtx: New file.
13266         * doc/posix-functions/call_once.texi: Mention the new module.
13267         * doc/posix-functions/mtx_init.texi: Likewise.
13268         * doc/posix-functions/mtx_lock.texi: Likewise.
13269         * doc/posix-functions/mtx_trylock.texi: Likewise.
13270         * doc/posix-functions/mtx_timedlock.texi: Likewise.
13271         * doc/posix-functions/mtx_unlock.texi: Likewise.
13272         * doc/posix-functions/mtx_destroy.texi: Likewise.
13274 2019-06-20  Bruno Haible  <bruno@clisp.org>
13276         thrd: New module.
13277         * lib/thrd.c: New file.
13278         * m4/thrd.m4: New file.
13279         * modules/thrd: New file.
13280         * doc/posix-functions/thrd_current.texi: Mention the new module.
13281         * doc/posix-functions/thrd_detach.texi: Likewise.
13282         * doc/posix-functions/thrd_equal.texi: Likewise.
13283         * doc/posix-functions/thrd_exit.texi: Likewise.
13284         * doc/posix-functions/thrd_sleep.texi: Likewise.
13285         * doc/posix-functions/thrd_yield.texi: Likewise.
13286         * doc/posix-functions/thrd_create.texi: Mention the new module and the
13287         AIX bug.
13288         * doc/posix-functions/thrd_join.texi: Mention the new module and the
13289         AIX and Solaris bugs.
13291 2019-06-20  Bruno Haible  <bruno@clisp.org>
13293         threads-h: Add tests.
13294         * tests/test-threads.c: New file.
13295         * modules/threads-h-tests: New file.
13296         * tests/test-threads-c++.cc: New file.
13297         * modules/threads-h-c++-tests: New file.
13299 2019-06-20  Bruno Haible  <bruno@clisp.org>
13301         threads-h: New module.
13302         * lib/threads.in.h: New file.
13303         * m4/threads.m4: New file.
13304         * m4/yield.m4 (gl_YIELD): Update comment.
13305         * modules/threads-h: New file.
13306         * modules/yields (configure.ac): Use AC_REQUIRE.
13307         * doc/posix-headers/threads.texi: Mention the new module and the AIX
13308         bugs.
13310 2019-06-20  Bruno Haible  <bruno@clisp.org>
13312         windows-thread: New module.
13313         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
13314         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
13315         * lib/glthread/thread.h: Include windows-thread.h.
13316         (gl_thread_t): Define using glwthread_thread_t.
13317         (glthread_create): Define using glwthread_thread_create.
13318         (glthread_join): Define using glwthread_thread_join.
13319         (gl_thread_self): Define using glwthread_thread_self.
13320         (gl_thread_exit): Define using glwthread_thread_exit.
13321         (glthread_create_func, glthread_join_func, gl_thread_self_func,
13322         gl_thread_exit_func): Remove declarations.
13323         * lib/glthread/thread.c (self_key): Remove variable.
13324         (do_init_self_key, init_self_key): Remove functions.
13325         (struct gl_thread_struct): Remove type.
13326         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
13327         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
13328         functions.
13329         * modules/windows-thread: New file.
13330         * modules/thread (Depends-on): Add windows-thread.
13332 2019-06-20  Bruno Haible  <bruno@clisp.org>
13334         windows-tls: New module.
13335         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
13336         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
13337         * lib/glthread/tls.h: Include windows-tls.h.
13338         (gl_tls_key_t): Define using glwthread_tls_key_t.
13339         * modules/windows-tls: New file.
13340         * modules/tls (Depends-on): Add windows-tls.
13342 2019-06-20  Bruno Haible  <bruno@clisp.org>
13344         windows-cond: New module.
13345         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
13346         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
13347         * lib/glthread/cond.h: Include windows-cond.h.
13348         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
13349         (gl_cond_t): Define using glwthread_cond_t.
13350         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
13351         (glthread_cond_init): Define using glwthread_cond_init.
13352         (glthread_cond_wait): Define using glwthread_cond_wait.
13353         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
13354         (glthread_cond_signal): Define using glwthread_cond_signal.
13355         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
13356         (glthread_cond_destroy): Define using glwthread_cond_destroy.
13357         (glthread_cond_init_func, glthread_cond_wait_func,
13358         glthread_cond_timedwait_func, glthread_cond_signal_func,
13359         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
13360         declarations.
13361         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
13362         types.
13363         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
13364         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
13365         glthread_cond_init_func, glthread_cond_wait_func,
13366         glthread_cond_timedwait_func, glthread_cond_signal_func,
13367         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
13368         functions.
13369         * modules/windows-cond: New file.
13370         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
13372 2019-06-20  Bruno Haible  <bruno@clisp.org>
13374         windows-timedrecmutex: New module.
13375         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
13376         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
13377         * modules/windows-timedrecmutex: New file.
13379 2019-06-20  Bruno Haible  <bruno@clisp.org>
13381         windows-timedmutex: New module.
13382         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
13383         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
13384         * modules/windows-timedmutex: New file.
13386 2019-06-20  Bruno Haible  <bruno@clisp.org>
13388         windows-recmutex: New module.
13389         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
13390         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
13391         * lib/glthread/lock.h: Include windows-recmutex.h.
13392         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
13393         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
13394         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
13395         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
13396         (glthread_recursive_lock_unlock): Define using
13397         glwthread_recmutex_unlock.
13398         (glthread_recursive_lock_destroy): Define using
13399         glwthread_recmutex_destroy.
13400         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
13401         glthread_recursive_lock_unlock_func,
13402         glthread_recursive_lock_destroy_func): Remove declarations.
13403         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
13404         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
13405         glthread_recursive_lock_destroy_func): Remove functions.
13406         * modules/windows-recmutex: New file.
13407         * modules/lock (Depends-on): Add windows-recmutex.
13409 2019-06-20  Bruno Haible  <bruno@clisp.org>
13411         windows-mutex: New module.
13412         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
13413         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
13414         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
13415         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
13416         (gl_spinlock_t): Remove type.
13417         (gl_lock_t): Define using glwthread_mutex_t.
13418         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
13419         (glthread_lock_init): Define using glwthread_mutex_init.
13420         (glthread_lock_lock): Define using glwthread_mutex_lock.
13421         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
13422         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
13423         (glthread_lock_init_func, glthread_lock_lock_func,
13424         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
13425         declarations.
13426         Use glwthread_spinlock_t instead of gl_spinlock_t.
13427         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
13428         GLWTHREAD_SPINLOCK_INIT.
13429         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
13430         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
13431         functions.
13432         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
13433         gl_spinlock_t.
13434         * modules/windows-mutex: New file.
13435         * modules/lock (Depends-on): Add windows-mutex.
13437 2019-06-20  Bruno Haible  <bruno@clisp.org>
13439         windows-once: New module.
13440         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
13441         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
13442         * lib/glthread/lock.h: Include windows-once.h.
13443         (gl_once_t): Define using glwthread_once_t.
13444         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
13445         (glthread_once): Define using glwthread_once.
13446         (glthread_once_func): Remove declaration.
13447         * lib/glthread/lock.c (glthread_once_func): Remove function.
13448         * modules/windows-once: New file.
13449         * modules/lock (Depends-on): Add windows-once.
13451 2019-06-20  Bruno Haible  <bruno@clisp.org>
13453         lock, cond: Avoid possible counter wraparound on Windows.
13454         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
13455         field of the guard unchanged if it was already positive.
13456         (glthread_rwlock_rdlock_func): Likewise.
13457         (glthread_rwlock_wrlock_func): Likewise.
13458         (glthread_recursive_lock_lock_func): Likewise.
13459         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
13460         (glthread_cond_timedwait_func): Likewise.
13462 2019-06-20  Bruno Haible  <bruno@clisp.org>
13464         cond: Make glthread_cond_timedwait more reliable on Windows.
13465         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
13466         condition variable before looking at the current time.
13468 2019-06-20  Bruno Haible  <bruno@clisp.org>
13470         pthread_mutex_timedlock: New module.
13471         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
13472         new declaration.
13473         * lib/pthread_mutex_timedlock.c: New file.
13474         * m4/pthread_mutex_timedlock.m4: New file.
13475         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
13476         whether pthread_mutex_timedlock is declared.
13477         (gl_PTHREAD_MODULE_INDICATOR): New macro.
13478         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
13479         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
13480         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
13481         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
13482         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
13483         * modules/pthread_mutex_timedlock: New file.
13484         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
13485         module.
13487 2019-06-20  Bruno Haible  <bruno@clisp.org>
13489         thread, lock, cond, tls: Recognize C11 multithreaded applications.
13490         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
13491         * lib/glthread/thread.h (c11_threads_in_use): New macro.
13492         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13493         * lib/glthread/lock.h (c11_threads_in_use): New macro.
13494         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13495         * lib/glthread/cond.h (c11_threads_in_use): New macro.
13496         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13497         * lib/glthread/tls.h (c11_threads_in_use): New macro.
13498         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13500 2019-06-20  Bruno Haible  <bruno@clisp.org>
13502         tls tests: Small improvements.
13503         * tests/test-tls.c: Include <stdint.h>.
13504         (worker_thread): Avoid gcc warning on 64-bit mingw.
13505         (test_tls): Pass a different id to each thread.
13506         * modules/tls-tests (Depends-on): Add stdint.
13508 2019-06-20  Bruno Haible  <bruno@clisp.org>
13510         cond tests: Simplify.
13511         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
13513 2019-06-20  Bruno Haible  <bruno@clisp.org>
13515         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
13516         * tests/test-lock.c (test_once): Don't reference fire_signal if
13517         !ENABLE_LOCKING.
13519 2019-06-19  Bruno Haible  <bruno@clisp.org>
13521         nanosleep: Relicense under LGPLv2+.
13522         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
13523         * modules/nanosleep (License): Change to LGPLv2+.
13525 2019-06-19  Bruno Haible  <bruno@clisp.org>
13527         Reorder pieces of header in perl scripts.
13528         The desired order is
13529         - Prologue part 1 (2 lines with #!)
13530         - Program short description
13531         - Copyright and license notice
13532         - Written-by notice
13533         - Program short description (optional)
13534         - Program long description (optional)
13535         - Prologue part 2
13536         - Time stamp
13537         - Code
13538         Reported by Paul Eggert.
13539         * build-aux/announce-gen: Reorder header.
13540         * build-aux/gitlog-to-changelog: Likewise.
13541         * build-aux/useless-if-before-free: Likewise.
13542         * build-aux/prefix-gnulib-mk: Add copyright notice and short
13543         description.
13544         * build-aux/update-copyright: Likewise. Add short description. Bump
13545         time-stamp-line-limit to 200.
13547 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
13549         verify-tests: work around xlc bug
13550         Problem reported by Bruno Haible in:
13551         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
13552         * tests/test-verify.c (item): Move the arithmetic inside the
13553         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
13555 2019-06-16  Bruno Haible  <bruno@clisp.org>
13557         Restore Emacs time-stamp hook applicability.
13558         Reported by Darshit Shah <darnir@gnu.org>.
13559         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
13560         * build-aux/announce-gen: Likewise.
13561         * build-aux/gitlog-to-changelog: Likewise.
13562         * build-aux/prefix-gnulib-mk: Likewise.
13563         * build-aux/update-copyright: Likewise.
13565 2019-06-15  Bruno Haible  <bruno@clisp.org>
13567         Fix scripts to have valid executable format on Alpine Linux.
13568         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
13569         Idea by Paul Eggert.
13570         * build-aux/useless-if-before-free: Use a prologue that starts with
13571         '#!/bin/sh'.
13572         * build-aux/announce-gen: Likewise.
13573         * build-aux/gitlog-to-changelog: Likewise.
13574         * build-aux/prefix-gnulib-mk: Likewise.
13575         * build-aux/update-copyright: Likewise.
13576         * tests/test-update-copyright.sh: Update test program accordingly.
13578 2019-06-10  Bruno Haible  <bruno@clisp.org>
13580         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
13581         Reported by Nikita Ermakov <arei@altlinux.org> in
13582         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
13583         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
13584         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
13586 2019-06-10  Bruno Haible  <bruno@clisp.org>
13588         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
13589         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
13590         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
13591         a copy of the path argument.
13592         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
13593         it.
13595 2019-06-10  Bruno Haible  <bruno@clisp.org>
13597         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
13598         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
13599         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
13600         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
13601         a copy of the path argument.
13602         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
13603         it.
13605 2019-06-10  Bruno Haible  <bruno@clisp.org>
13607         posix_spawn_file_actions_addfchdir: Add tests.
13608         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
13609         * tests/test-posix_spawn5.c: New file.
13610         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
13612 2019-06-10  Bruno Haible  <bruno@clisp.org>
13614         posix_spawn_file_actions_addfchdir: New module.
13615         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
13616         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
13617         union member 'fchdir_action'.
13618         * lib/spawn_faction_addfchdir.c: New file.
13619         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
13620         * m4/posix_spawn_faction_addfchdir.m4: New file.
13621         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
13622         'posix_spawn_file_actions_addfchdir' is present and whether
13623         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
13624         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
13625         posix_spawn_file_actions_addfchdir is declared.
13626         (gl_SPAWN_H_DEFAULTS): Initialize
13627         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13628         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13629         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
13630         * modules/spawn (Makefile.am): Substitute
13631         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13632         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13633         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
13634         * modules/posix_spawn_file_actions_addfchdir: New file.
13635         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
13636         signature.
13637         * doc/posix-functions/posix_spawn.texi: Mention the new module.
13638         * doc/posix-functions/posix_spawnp.texi: Likewise.
13639         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
13640         Likewise.
13642 2019-06-10  Bruno Haible  <bruno@clisp.org>
13644         doc: Document existence of posix_spawn_file_actions_addchdir module.
13645         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
13646         the posix_spawn_file_actions_addchdir module.
13648 2019-06-10  Bruno Haible  <bruno@clisp.org>
13650         posix_spawn-internal: Fix module description.
13651         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
13652         from here...
13653         * modules/posix_spawnp (configure.ac): ... and here...
13654         * modules/posix_spawn-internal (configure.ac): ... to here.
13656 2019-06-10  Bruno Haible  <bruno@clisp.org>
13658         doc: Update and improve documentation of glibc functions.
13659         This is a series of commits that
13660         - updates the documentation to the state of glibc 2.29,
13661         - adds references to Linux man pages and glibc documentation,
13662         - marks Linux specific functions as such.
13663         These are the commits:
13664         doc: Update after removal of crypt functions from glibc 2.28.
13665         doc: Remove mention of function vm86 (does not exist on x86_64).
13666         doc: Remove mention of functions that are gone from glibc.
13667         doc: Mention that glibc no longer provides h_errno.
13668         doc: Mention the availability of specific functions in glibc versions.
13669         doc: Mention eaccess.
13670         doc: Add references to Linux man pages.
13671         doc: Add references to glibc documentation.
13672         doc: Mention inotify_* functions.
13673         doc: Mention ppoll.
13674         doc: Mention sched_getcpu.
13675         doc: Mention sync_file_range.
13676         doc: Mention epoll_pwait.
13677         doc: Mention eventfd, eventfd_read, eventfd_write.
13678         doc: Mention signalfd.
13679         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
13680         doc: Mention epoll_create1.
13681         doc: Mention getauxval.
13682         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
13683         doc: Mention nextdown, nextup.
13684         doc: Mention more ISO TS 18661-1 <math.h> functions.
13685         doc: Mention ISO TS 18661-1 <fenv.h> functions.
13686         doc: Mention getrandom, getentropy.
13687         doc: Mention strfromf, strfromd, strfroml.
13688         doc: Mention preadv2, pwritev2.
13689         doc: Mention copy_file_range.
13690         doc: Mention memfd_create.
13691         doc: Mention mlock2.
13692         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
13693         doc: Mention more ISO TS 18661-1 <math.h> functions.
13694         doc: Mention renameat2.
13695         doc: Mention statx.
13696         doc: Mention the ISO C11 multithreading header and functions.
13697         doc: Mention getcpu.
13698         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
13699         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
13700         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
13701         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
13702         doc: Some glibc functions also exist on Solaris 11.
13703         doc: Some glibc functions also exist on Solaris 11.4.
13704         doc: Some glibc functions also exist on FreeBSD.
13705         doc: Some glibc functions also exist on BeOS.
13706         doc: Some glibc functions also exist on Haiku.
13707         doc: Mark functions which exist only on Linux.
13708         doc: Mark functions which exist only on Linux and illumos.
13710 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13712         copy-file: fix typo
13713         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
13715         copy-file-range: simplify into a stub
13716         Based on a comment by Florian Weimer in:
13717         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
13718         It turns out that Emacs (which will use this module) won’t need an
13719         emulation and I suspect other programs won’t either, because these
13720         programs will need to fall back on read+write anyway.  Perhaps I
13721         am wrong and other programs will be able to use an emulation; if
13722         so, this patch can be reverted.
13723         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
13724         Just call it copy_file_range.
13725         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
13726         Check via AC_LINK_IFELSE.
13727         * modules/copy-file-range (Depends-on): Remove modules no longer used.
13729 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
13731         copy-file: prefer copy_file_range
13732         * lib/copy-file.c: Do not include xalloc.h.
13733         (qcopy_file_preserving): Allocate a buffer only if
13734         copy_file_range does not suffice.  If the allocation fails
13735         don't give up; just use a small stack-based buffer.
13736         Prefer copy_file_range if it works.
13737         * modules/copy-file (Depends-on): Add copy-file-range.
13738         Remove xalloc.
13740         copy-file-range: new module
13741         * MODULES.html.sh: Add copy-file-range.
13742         * lib/copy-file-range.c, m4/copy-file-range.m4:
13743         * modules/copy-file-range: New files.
13744         * lib/unistd.in.h (copy_file_range): Declare.
13745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
13746         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
13747         * modules/unistd (unistd.h): Substitute them.
13749 2019-05-28  Bruno Haible  <bruno@clisp.org>
13751         binary-io: Attempted use of O_BINARY on consoles no longer fails.
13752         Reported by KO Myung-Hun <komh78@gmail.com> in
13753         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
13754         * lib/binary-io.h (__gl_setmode_check): Remove function.
13755         (set_binary_mode): Declare as notinline on DJGPP and EMX.
13756         * lib/binary-io.c (__gl_setmode_check): Remove function.
13757         (set_binary_mode): Define here on DJGPP and EMX. Inline
13758         __gl_setmode_check. In case of a tty, don't return an error code.
13760 2019-05-28  James Youngman  <jay@gnu.org>
13762         dirent-safer: Make opendir_safer usable from C++.
13763         * lib/dirent-safer.h: use extern "C".
13765 2019-05-28  James Youngman  <jay@gnu.org>
13767         canonicalize: Make canonicalize_filename_mode usable from C++.
13768         * lib/canonicalize.h: use extern "C".
13770 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
13772         prefix-gnulib-mk: Fix CPPFLAGS migration.
13773         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
13774         _a part of the library name.
13776 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
13778         flexmember: update comments again
13779         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
13781         flexmember: update comment
13782         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
13784 2019-05-20  Bruno Haible  <bruno@clisp.org>
13786         setlocale: Improve fallback on macOS.
13787         * lib/setlocale.c (search): Optimize away a redundant strcmp()
13788         invocation.
13789         (locales_with_principal_territory): New array.
13790         (langcmp, get_main_locale_with_same_language): New functions.
13791         (locales_with_principal_language): New array.
13792         (terrcmp, get_main_locale_with_same_territory): New functions.
13793         (rpl_setlocale): When setlocale_single failed, try again with a locale
13794         that is more likely to exist. Don't warn if the environment variable
13795         SETLOCALE_VERBOSE is not set.
13797 2019-05-19  Bruno Haible  <bruno@clisp.org>
13799         localename: Fix default on macOS.
13800         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
13801         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
13802         (gl_locale_name_environ, gl_locale_name_default): Remove code for
13803         HAVE_CFLOCALECOPYCURRENT.
13804         * lib/localename.h (gl_locale_name_default): Update.
13806 2019-05-19  Karl Berry  <karl@freefriends.org>
13808         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
13809         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
13810         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
13812 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
13814         maintainer-makefile: catch uses of $< in non-implicit rules
13815         * top/maint.mk (sc_prohibit_magic_number_exit): New.
13817 2019-05-18  Bruno Haible  <bruno@clisp.org>
13819         threadlib: Provide an easy way to avoid mingw's winpthreads library.
13820         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
13821         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
13822         gl_use_threads accordingly.
13824 2019-05-18  Bruno Haible  <bruno@clisp.org>
13826         pthread_sigmask: Fix compilation error with --enable-threads=windows.
13827         Reported by Tim Rühsen in
13828         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
13829         and Michele Locati in
13830         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
13831         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
13832         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
13833         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
13834         in use and regardless which threads API is chosen.
13836 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13838         close-stream, closein, closeout: simplify
13839         I noticed this opportunity for simplification while drafting a
13840         new, related module that I haven’t had time to finish yet.
13841         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
13842         * modules/close-stream (Files): Remove m4/close-stream.m4.
13843         (configure.ac): Omit gl_CLOSE_STREAM.
13844         * modules/closein (Files): Remove m4/closein.m4
13845         (configure.ac): Omit gl_CLOSEIN.
13846         * modules/closeout (Files): Remove m4/closeout.m4.
13847         (configure.ac): Omit gl_CLOSEOUT.
13849 2019-05-12  Bruno Haible  <bruno@clisp.org>
13851         libtool-next-version: New program.
13852         * build-aux/libtool-next-version: New file.
13854 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
13855             Bruno Haible  <bruno@clisp.org>
13857         version-etc: Ease translation.
13858         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
13859         URLs and formatting newlines out of translatable string.
13861 2019-05-11  Bruno Haible  <bruno@clisp.org>
13863         gnupload: Explain how to create symlinks.
13864         * build-aux/gnupload (usage): Add an example that creates symlinks.
13866 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
13868         fpucw: port to gcc -pedantic
13869         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
13870         Use __extension__ if using ({ ... }).
13872         crypto/af_alg: port to strict C compilers
13873         * lib/af_alg.c: Include af_alg.h regardless, so that the
13874         compilation unit is nonempty.
13876 2019-05-10  Bruno Haible  <bruno@clisp.org>
13878         base64: Avoid false positive warning from Coverity.
13879         Reported by Kamil Dudka <kdudka@redhat.com>.
13880         Idea by Paul Eggert.
13881         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
13882         '& 0x3f' to the array index expressions. This convinces Coverity that
13883         there is no out-of-bounds array reference, regardless of the input.
13885 2019-05-09  Bruno Haible  <bruno@clisp.org>
13887         gettext: Update to gettext 0.20.
13888         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
13889         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
13890         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
13891         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
13892         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
13893         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
13894         (configure.ac): Request infrastructure compatible with gettext 0.20.
13895         * m4/glibc2.m4: Remove file.
13896         * m4/intdiv0.m4: Remove file.
13897         * m4/intl.m4: Remove file.
13898         * m4/intldir.m4: Remove file.
13899         * m4/intmax.m4: Remove file.
13900         * m4/printf-posix.m4: Remove file.
13901         * m4/uintmax_t.m4: Remove file.
13902         * m4/gettext.m4: Update from gettext 0.20.
13903         * m4/po.m4: Likewise.
13905 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
13907         verify: remove verify_true
13908         * NEWS: Mention this.
13909         * lib/verify.h (verify_true): Remove.
13910         * tests/test-verify.c (item): Test verify_expr, not verify_true.
13912         Support C2X and C++17 static_assert
13913         C2X and C++17 finally added support for a simple, single-argument
13914         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
13915         doing back in 2005.  Implement static_assert on older platforms.
13916         The only remaining advantage of ‘verify’ is a shorter name.
13917         * doc/posix-headers/assert.texi (assert.h):
13918         * doc/verify.texi (Compile-time Assertions):
13919         Modernize for C2X and C++17.
13920         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
13921         New macros.
13922         (_GL_HAVE__STATIC_ASSERT): Remove.
13923         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
13924         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
13925         string.  All callers changed.
13926         (_GL_VERIFY): Require 3 or more args, of which only the first 2
13927         are used.  All callers changed.
13928         (_Static_assert): Allow either 1 or 2 args, and define if
13929         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
13930         !_GL_HAVE__STATIC_ASSERT.
13931         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
13932         of defining if !_GL_HAVE_STATIC_ASSERT.
13933         (verify_expr, verify): Don’t bother trying to copy the expression
13934         into the diagnostic, since 1-argument static_assert doesn’t.
13935         (verify): Prefer 1-argument _Static_assert if it works.
13936         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
13938 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
13940         Fix _GL_HAVE__STATIC_ASSERT typo
13941         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
13942         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
13944 2019-05-05  Bruno Haible  <bruno@clisp.org>
13946         wcwidth: Ensure width 1, not 2, for ambiguous characters.
13947         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
13948         via Akim Demaille <akim.demaille@gmail.com>.
13949         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
13950         en_US.UTF-8 locale, since that is more likely to be present than an
13951         fr_FR.UTF-8 locale.
13952         * tests/test-wcwidth.c (main): Check the width of U+2202.
13953         * doc/posix-functions/wcwidth.texi: Mention the issue.
13955 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
13957         Port manywarnings to GCC 9
13958         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
13959         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
13960         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
13961         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
13962         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
13963         --help=warnings output.
13964         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
13965         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
13966         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
13968 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
13970         Sync lib/mktime-internal.h from glibc
13971         * config/srclist.txt: Add entry for lib/mktime-internal.h.
13972         * lib/mktime-internal.h: Autoupdate.
13974 2019-04-28  Bruno Haible  <bruno@clisp.org>
13976         tls tests: Prevent that the test takes too long.
13977         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
13978         (main): Let the test fail if it takes more than 10 minutes.
13979         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
13981 2019-04-27  Bruno Haible  <bruno@clisp.org>
13983         lock tests: Prevent that the test takes too long.
13984         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
13985         (main): Let the test fail if it takes more than 10 minutes.
13986         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
13988 2019-04-27  Bruno Haible  <bruno@clisp.org>
13990         localename: Fix crash on mingw (regression from 2018-11-23).
13991         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
13992         locale name that is null.
13994 2019-04-27  Bruno Haible  <bruno@clisp.org>
13996         Fix gcc warnings on 64-bit mode mingw.
13997         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
13998         * lib/gl_array_list.c: Likewise.
13999         * lib/gl_array_map.c: Likewise.
14000         * lib/gl_array_set.c: Likewise.
14001         * lib/gl_carray_list.c: Likewise.
14002         * lib/gl_sublist.c: Likewise.
14003         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
14004         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
14005         * lib/gl_hash_map.c (uintptr_t): Likewise.
14006         * lib/gl_hash_set.c (uintptr_t): Likewise.
14007         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
14008         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
14009         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
14010         * lib/iconv.c (uintptr_t): Likewise.
14011         * lib/iconv_close.c (uintptr_t): Likewise.
14012         * tests/test-lock.c: Include <stdint.h>.
14013         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
14014         'long'.
14015         * modules/clean-temp (Depends-on): Add stdint.
14016         * modules/array-list (Depends-on): Likewise.
14017         * modules/array-map (Depends-on): Likewise.
14018         * modules/array-set (Depends-on): Likewise.
14019         * modules/carray-list (Depends-on): Likewise.
14020         * modules/sublist (Depends-on): Likewise.
14021         * modules/lock-tests (Depends-on): Likewise.
14023 2019-04-27  Bruno Haible  <bruno@clisp.org>
14025         error: Tweak indentation.
14026         * lib/error.c: Correct indentation.
14028 2019-04-27  Bruno Haible  <bruno@clisp.org>
14030         term-style-control: Fix gcc warning on mingw.
14031         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
14032         of i.
14034 2019-04-26  Bruno Haible  <bruno@clisp.org>
14036         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
14037         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
14039 2019-04-26  Bruno Haible  <bruno@clisp.org>
14041         relocatable-prog: Fix gcc warning on mingw.
14042         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
14043         on EMX.
14045 2019-04-02  Bruno Haible  <bruno@clisp.org>
14047         gitsub.sh: New file.
14048         * top/gitsub.sh: New file.
14050 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
14052         argmatch: use void* for raw memory pointers
14053         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
14054         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
14055         to "values", keep char* for strings.
14057 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
14059         prefix-gnulib-mk: fix the support for gnulib-po
14060         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
14061         Don't touch HAVE_* variables.
14062         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
14064 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
14066         di-set: allow free with 'ino_map' being NULL.
14067         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
14068         is NULL.  Bug introduced in commit 3703dbbe88dd.
14069         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
14070         as a test.
14072 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
14074         * lib/str-two-way.h: Fix comment typo.
14076 2019-04-13  Bruno Haible  <bruno@clisp.org>
14078         x-to-1: Restore ability to use original calling convention.
14079         * build-aux/x-to-1.in: Add comments. Accept the original form of
14080         HELP2MAN argument as well as the form expected since 2012-12-12.
14082 2019-04-13  Bruno Haible  <bruno@clisp.org>
14084         x-to-1: Avoid failure due to missing perl modules.
14085         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
14086         needs are installed.
14088 2019-04-13  Bruno Haible  <bruno@clisp.org>
14090         openmp-init: New module.
14091         * modules/openmp-init: New file.
14092         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
14093         the changes from 2019-04-09.
14095 2019-04-12  Bruno Haible  <bruno@clisp.org>
14097         signbit: Fix compilation error when gnulib's math.h exists twice.
14098         * lib/math.in.h (GNULIB_defined_signbit): New macro.
14100 2019-04-12  Bruno Haible  <bruno@clisp.org>
14102         openmp: Fix compilation error on platforms without OpenMP.
14103         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
14105 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
14107         mountlist: make parsing /proc/self/mountinfo more robust
14108         Cater for the following issues with mountinfo parsing (the first
14109         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
14110         in <https://bugs.gnu.org/35137>).
14111         1. The fields source, target, mntroot and fstype may contain characters
14112         like '\r'; sscanf(3) fails to read such values with the %s format
14113         specifier because it would stop at such characters.
14114         Example: "mount -t tmpfs tmpfs /foo^Mbar".
14115         The only true separator in that file is the ' ' character.
14116         2. The source field may be an empty string, which happens e.g. with
14117         "mount -t tmpfs '' /target".
14118         3. The fstype field may contain mangled characters as well which need
14119         unescaping.
14120         * lib/mountlist.c (terminate_at_blank): Add utility function.
14121         (read_file_system_list): In the block trying to read the mountinfo file,
14122         avoid using sscanf(3) with %s format; instead, parse the above fields
14123         separated by spaces one by one.
14124         This also handles the case when the source field is an empty string.
14125         Unescape the fstype field.
14127 2019-04-09  Bruno Haible  <bruno@clisp.org>
14129         openmp: Add workaround for 32-bit programs on AIX.
14130         * lib/omp.in.h: New file.
14131         * lib/omp-init.c: New file, based on lib/nproc.c.
14132         * m4/omp_h.m4: New file.
14133         * modules/openmp (Files): Add them.
14134         (Depends-on): Add include_next, c-ctype, setenv.
14135         (configure.ac): Invoke gl_OMP_H.
14136         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
14137         (Include): Mention <omp.h>.
14139 2019-04-09  Bruno Haible  <bruno@clisp.org>
14141         nproc: Fix return value for privileged processes.
14142         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
14143         getpid().
14145 2019-04-07  Bruno Haible  <bruno@clisp.org>
14147         Add copyright notices in several files.
14148         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
14149         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
14150         * lib/libunistring.valgrind: Likewise.
14151         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
14152         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
14153         * lib/memchr.valgrind: Likewise.
14154         * lib/memchr2.valgrind: Likewise.
14155         * lib/rawmemchr.valgrind: Likewise.
14156         * lib/relocatable.valgrind: Likewise.
14157         * lib/strchrnul.valgrind: Likewise.
14159 2019-03-25  Bruno Haible  <bruno@clisp.org>
14161         term-style-control tests: Fix link error.
14162         Reported by Tom G. Christensen in
14163         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
14164         * modules/term-style-control-tests (Makefile.am): Link
14165         test-term-style-control-hello and test-term-style-control-yes against
14166         LIBINTL.
14168 2019-03-24  Bruno Haible  <bruno@clisp.org>
14170         term-style-control: Add tests.
14171         * tests/test-term-style-control-hello.c: New file.
14172         * tests/test-term-style-control-yes.c: New file.
14173         * modules/term-style-control-tests: New file.
14175         term-style-control: New module.
14176         * lib/term-style-control.h: New file, based on libtextstyle's
14177         term-ostream.oo.h and term-ostream.oo.c.
14178         * lib/term-style-control.c: New file, based on libtextstyle's
14179         term-ostream.oo.c.
14180         * modules/term-style-control: New file.
14182 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14184         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
14185         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
14186         C++98 appears to be supported by Clang, but not by GCC nor ICC.
14188 2019-03-23  Bruno Haible  <bruno@clisp.org>
14190         Support cross-compilation to musl libc.
14191         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
14192         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
14193         musl libc.
14194         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
14195         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
14196         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14197         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14198         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14199         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
14200         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
14201         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
14202         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14203         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
14204         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
14205         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
14206         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14207         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14208         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
14209         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
14210         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
14211         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14212         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
14213         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
14214         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14215         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14216         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
14217         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14218         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
14219         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
14220         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
14221         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
14222         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
14223         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14224         * m4/log.m4 (gl_FUNC_LOG): Likewise.
14225         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
14226         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
14227         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
14228         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
14229         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
14230         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
14231         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
14232         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
14233         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
14234         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
14235         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
14236         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
14237         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
14238         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
14239         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
14240         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
14241         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
14242         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
14243         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
14244         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
14245         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
14246         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
14247         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
14248         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14249         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
14250         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
14251         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
14252         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
14253         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
14254         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14255         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14256         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14257         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
14258         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14259         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14260         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14261         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
14262         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14263         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
14264         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14265         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14266         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14267         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
14268         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
14269         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
14270         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
14271         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14273 2019-03-23  Bruno Haible  <bruno@clisp.org>
14275         posix_spawn_file_actions_*: Document musl libc bugs.
14276         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
14277         the bug.
14278         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
14279         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
14280         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
14281         cross-compiling to a musl system, guess no.
14282         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
14283         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
14285 2019-03-23  Bruno Haible  <bruno@clisp.org>
14287         futimens: Document musl libc bug.
14288         * doc/posix-functions/futimens.texi: Mention the bug.
14289         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
14290         cross-compiling, guess no on glibc and musl systems.
14292 2019-03-23  Bruno Haible  <bruno@clisp.org>
14294         Clarify that cross-compilation guesses are guesses.
14295         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
14296         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
14297         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
14298         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
14299         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
14300         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
14301         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
14302         gl_cv_glob_lists_symlinks.
14303         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
14304         'guessing ' to ac_cv_func_malloc_0_nonnull.
14305         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
14306         'guessing ' to ac_cv_func_realloc_0_nonnull.
14307         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
14308         'guessing ' to gl_cv_func_poll.
14309         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
14310         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
14311         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
14313 2019-03-23  Bruno Haible  <bruno@clisp.org>
14315         strtold: Fix typo.
14316         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
14318 2019-03-23  Bruno Haible  <bruno@clisp.org>
14320         noreturn: In C++ mode with clang, use _Noreturn as fallback.
14321         Reported by Akim Demaille.
14322         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
14323         [[noreturn]] would not work, use _Noreturn instead.
14325 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14327         libtextstyle-optional: Fix compiler warnings.
14328         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
14329         as unused.
14331 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14333         bitset: fix memory leaks
14334         Reported by Bruno Haible.
14335         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
14336         * lib/bitset/vector.c (vbitset_free): New.
14337         (vbitset_vtable): Use it.
14339 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14341         bitset: minor changes
14342         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
14343         * lib/bitset/table.c: Formatting changes.
14344         Remove useless braces.
14345         Prefer using else in cascades of if/else-if with returns.
14346         * lib/bitset/vector.c: Reduce scopes.
14348 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14350         bitset: expose bitset_resize
14351         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
14352         * tests/test-bitset.c (check_attributes): Check bitset_resize.
14353         (main): Use a variable bitset as reference, since fixed does not support resize.
14355 2019-03-19  Bruno Haible  <bruno@clisp.org>
14357         doc: Document the 'stdnoreturn' and 'noreturn' modules.
14358         Reported by Akim Demaille.
14359         * doc/noreturn.texi: New file.
14360         * doc/gnulib.texi: Include it.
14362 2019-03-19  Bruno Haible  <bruno@clisp.org>
14364         doc: Document how to use 'static inline'.
14365         * doc/static-inline.texi: New file.
14366         * doc/gnulib.texi: Include it.
14368 2019-03-19  Bruno Haible  <bruno@clisp.org>
14370         libtextstyle-optional: Add tests.
14371         * tests/test-libtextstyle.c: New file, based on libtextstyle's
14372         adhoc-tests/hello.c.
14373         * tests/test-libtextstyle-default.css: New file, copied from
14374         libtextstyle's adhoc-tests/hello-default.css.
14375         * modules/libtextstyle-optional-tests: New file.
14377         libtextstyle-optional: New module.
14378         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
14379         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
14380         * modules/libtextstyle-optional: New file.
14382 2019-03-19  Bruno Haible  <bruno@clisp.org>
14384         c-stack: Make signal handlers more reliable.
14385         * lib/c-stack.c (progname): New variable.
14386         (die): Use it.
14387         (c_stack_action): Initialize it.
14388         (segv_handler): Save and restore errno.
14390 2019-03-19  Bruno Haible  <bruno@clisp.org>
14392         Help making signal handlers more reliable.
14393         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
14394         _GL_ASYNC_SAFE into config.h.
14395         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
14396         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
14397         argument.
14398         * lib/fatal-signal.c (action_t, uninstall_handlers,
14399         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
14400         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
14401         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
14402         _GL_ASYNC_SAFE.
14403         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
14404         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
14406 2019-03-18  Bruno Haible  <bruno@clisp.org>
14408         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
14409         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
14410         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
14412 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
14414         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
14415         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
14416         GCC 4.8.
14418 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
14420         fts: minor simplification
14421         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
14423 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
14425         bitset, timevar: Depend on c99.
14426         Reported by Bruno Haible.
14427         * modules/bitset, modules/timevar (Depends-on): Add c99.
14429 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
14431         bitset: a bit (...) more tests
14432         * tests/test-bitset.c (check_attributes): Check zero and ones.
14434 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
14436         bitset: fix overflows.
14437         Reported by Bruno Haible.
14438         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
14439         * lib/bitset/table.c (tbitset_test): last_bit is the position of
14440         the bit in the array of bitset_word, so be sure to take its modulo
14441         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
14442         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
14444 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
14446         bitset: style changes.
14447         * lib/bitset/table.c: Use NULL, not 0, for pointers.
14448         Formatting changes.
14449         (tbitset_list): Reduce scopes.
14451 2019-03-16  Bruno Haible  <bruno@clisp.org>
14453         fatal-signal: Pass the signal number to the action.
14454         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
14455         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
14456         (fatal_signal_handler): Pass the signal number to the action.
14457         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
14458         signal number as parameter.
14459         (create_temp_dir): Update.
14460         * lib/wait-process.c (cleanup_slaves_action): New function.
14461         (register_slave_subprocess): Update at_fatal_signal invocation.
14462         * NEWS: Mention the change.
14464 2019-03-16  Bruno Haible  <bruno@clisp.org>
14466         fatal-signal: Add function that lists the fatal signals.
14467         * lib/fatal-signal.h (get_fatal_signals): New declaration.
14468         * lib/fatal-signal.c (get_fatal_signals): New function.
14470 2019-03-14  Bruno Haible  <bruno@clisp.org>
14472         isatty: Make it return true in Cygwin consoles on native Windows.
14473         * lib/isatty.c: Include <string.h>.
14474         (GetProcAddress): New macro.
14475         (GetNamedPipeClientProcessIdFuncType): New type.
14476         (GetNamedPipeClientProcessIdFunc): New variable.
14477         (QueryFullProcessImageNameFuncType): New type.
14478         (QueryFullProcessImageNameFunc): New variable.
14479         (initialized): New variable.
14480         (initialize): New function.
14481         (IsCygwinConsoleHandle): New function.
14482         (isatty): Invoke it.
14483         * doc/posix-functions/isatty.texi: Mention the issue.
14485 2019-03-14  Bruno Haible  <bruno@clisp.org>
14487         all: Update URLs to msdn.microsoft.com.
14488         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
14489         was moved to docs.microsoft.com.
14491 2019-03-13  Bruno Haible  <bruno@clisp.org>
14493         gnulib-tool: Clarify the coding style.
14494         Suggested by Pavel Raiskup <praiskup@redhat.com>.
14495         * gnulib-tool: Add comment about coding style.
14497 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
14499         strtod: fix clash with strtold
14500         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
14501         * lib/strtod.c (compute_minus_zero, minus_zero):
14502         Simplify by remving the macro / external variable,
14503         and having just a function.  User changed.  This avoids
14504         the need for an external variable that might clash.
14506 2019-03-10  Bruno Haible  <bruno@clisp.org>
14508         alloca-opt: Fix conflict mingw's new <alloca.h> file.
14509         Reported by Eli Zaretskii <eliz@gnu.org>.
14510         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
14511         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
14512         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
14514 2019-03-10  Bruno Haible  <bruno@clisp.org>
14516         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
14517         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
14518         is in use.
14519         * tests/test-printf-posix2.c: Likewise.
14521 2019-03-10  Bruno Haible  <bruno@clisp.org>
14523         uninorm tests: Free allocated memory.
14524         * tests/uninorm/test-u32-normalize-big.h
14525         (struct normalization_test_file): Remove 'const' from allocated member.
14526         (free_normalization_test_file): New declaration.
14527         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
14528         memory.
14529         (free_normalization_test_file): New function.
14530         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
14531         'struct normalization_test_file' contents.
14532         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
14533         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
14534         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
14536 2019-03-10  Bruno Haible  <bruno@clisp.org>
14538         di-set: Fix memory leak.
14539         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
14540         not free().
14542 2019-03-10  Bruno Haible  <bruno@clisp.org>
14544         tests: Free allocated memory.
14545         Reported by <deltatau@protonmail.com> via Assaf Gordon.
14546         * tests/test-astrxfrm.c (main): Free allocated memory.
14547         * tests/test-bitset.c (compare, check_attributes): Free allocated
14548         bitsets.
14549         * tests/test-filenamecat.c (main): Free allocated memory.
14550         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
14551         * tests/test-freadptr.c (main): Likewise.
14552         * tests/test-freadptr2.c (main): Free allocated memory.
14553         * tests/test-freadseek.c (main): Likewise.
14554         * tests/test-gc-arcfour.c (main): Close allocated context.
14555         * tests/test-gc-arctwo.c (main): Likewise.
14556         * tests/test-gc-des.c (main): Close all allocated contexts.
14557         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
14558         * tests/test-pipe-filter-ii1.c (main): Likewise.
14559         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
14560         allocated file actions.
14561         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
14562         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
14563         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
14564         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
14565         * tests/test-strfmon_l.c (main): Free allocated locales.
14566         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
14567         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
14568         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
14569         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
14570         * tests/unistr/test-chr.h (main): Free input32.
14571         * tests/unistr/test-strchr.h (test_strchr): Likewise.
14573 2019-03-10  Bruno Haible  <bruno@clisp.org>
14575         tests: Prepare for using valgrind.
14576         * tests/*.sh: Invoke all test programs through ${CHECKER}.
14577         * tests/*/*.sh: Likewise.
14578         * tests/test-freadptr.c (main): Update accordingly.
14579         * tests/test-freadseek.c (main): Likewise.
14581 2019-03-09  Bruno Haible  <bruno@clisp.org>
14583         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
14584         * lib/get-rusage-as.c (get_rusage_as): When compiled by
14585         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
14586         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
14587         before exiting.
14589 2019-03-09  Jim Meyering  <meyering@fb.com>
14591         test-userspec.c: don't print NULL
14592         * tests/test-userspec.c (main): A test release of gcc,
14593         9.0.1 20190310, warned that this test would attempt to
14594         print a NULL pointer via a %s printf format.  Fix that
14595         and remove the unnecessary preceding "!diag" conjunct.
14596         Also add a comment.
14598 2019-03-03  Bruno Haible  <bruno@clisp.org>
14600         getloadavg: Write NULL for the null pointer.
14601         Reported by Michal Privoznik <mprivozn@redhat.com>.
14602         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
14604 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
14606         alloca, tsearch-tests: Write NULL for the null pointer.
14607         * lib/alloca.c (i00afunc): Write NULL instead of 0.
14608         * tests/test-tsearch.c (mangle_tree): Likewise.
14610 2019-03-09  Bruno Haible  <bruno@clisp.org>
14612         strfmon_l: Fix -fsanitize=address finding.
14613         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
14614         <string.h>.
14615         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
14616         (directive_t, directives_t): New types.
14617         (fmon_parse): New function.
14618         (rpl_strfmon_l): Don't call va_arg more often than needed for the
14619         format string. Consume 'long double' arguments in places where the
14620         format string indicates so.
14621         * modules/strfmon_l (Depends-on): Add 'stdbool'.
14623 2019-03-09  Bruno Haible  <bruno@clisp.org>
14625         crypto/des: Fix undefined behaviour.
14626         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
14627         shift operations on 'int'.
14629 2019-03-09  Bruno Haible  <bruno@clisp.org>
14631         Fix undefined behaviour.
14632         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
14633         'unsigned int', to avoid shift operations on 'int'.
14634         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
14635         * tests/test-count-leading-zeros.c (main): Use a random number that has
14636         as many bits as TYPE, not only 2*15 or 2*31 bits.
14637         * tests/test-count-trailing-zeros.c (main): Likewise.
14638         * tests/test-count-one-bits.c (main): Likewise.
14639         * tests/test-memmem.c: Don't include "null-ptr.h".
14640         (main): Use zerosize_ptr() instead of null_ptr().
14641         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
14643 2019-03-08  Bruno Haible  <bruno@clisp.org>
14645         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
14646         Reported by Jeffrey Walton <noloader@gmail.com>.
14647         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
14648         invoke memset with a zero size.
14649         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
14650         Likewise.
14651         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
14652         Adjust accordingly.
14654 2019-03-08  Bruno Haible  <bruno@clisp.org>
14656         unistr/*, uniconv/*: Fix undefined behaviour.
14657         Reported by Jeffrey Walton <noloader@gmail.com>.
14658         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
14659         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
14660         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
14661         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14663 2019-03-08  Bruno Haible  <bruno@clisp.org>
14665         unistr/u8-cmp: Fix undefined behaviour.
14666         Reported by Jeffrey Walton <noloader@gmail.com>.
14667         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
14669 2019-03-08  Bruno Haible  <bruno@clisp.org>
14671         unictype/numeric: Fix undefined behaviour.
14672         Reported by Jeffrey Walton <noloader@gmail.com>.
14673         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
14674         on shift overflow, caught by "gcc -fsanitize=undefined".
14675         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
14676         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14677         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14679 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
14681         git-version-gen: fix --version copyright year
14682         * build-aux/git-version-gen, build-aux/move-if-change (version):
14683         --version output copyright year is now taken from script year,
14684         so that it no longer needs to be updated by hand.
14686 2019-03-04  Bruno Haible  <bruno@clisp.org>
14688         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
14689         This approach supports relocatable installation of shared libraries
14690         which depend on other shared libraries from the same package.
14691         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
14692         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
14693         wrapper around the original LIBTOOL.
14694         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
14695         token '@loader_path' instead of '$ORIGIN'.
14696         * build-aux/libtool-reloc: New file.
14697         * modules/relocatable-prog (Files): Add it.
14698         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
14699         the recent changes. Document the need to set the *_LDFLAGS of libraries.
14700         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
14701         Makefile.am, not in configure.ac.
14703 2019-03-04  Bruno Haible  <bruno@clisp.org>
14705         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
14706         * build-aux/install-reloc: Revert change.
14707         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
14709 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14711         nstrftime: support the ‘+’ flag
14712         * lib/nstrftime.c (add, __strftime_internal):
14713         Add support for the ‘+’ flag introduced in POSIX.1-2017.
14714         (__strftime_internal): New arg ‘width’.  All uses changed.
14715         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
14717 2019-02-24  Bruno Haible  <bruno@clisp.org>
14719         relocatable-prog: Improve verbose output.
14720         * build-aux/install-reloc (func_verbose): Escape characters that would
14721         be interpreted by the shell.
14723 2019-02-24  Bruno Haible  <bruno@clisp.org>
14725         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
14726         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
14727         "sys/stat.h".
14728         * lib/lstat.c: Likewise.
14729         * lib/fstat.c: Likewise.
14730         * lib/fstatat.c: Likewise.
14732 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
14734         long-options: add parse_gnu_standard_options_only
14735         Discussed in https://bugs.gnu.org/33468 .
14737         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
14738         (parse_gnu_standard_options_only): Add function to process
14739         the GNU default options --help and --version and fail for
14740         any other unknown long or short option. See
14741         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
14742         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
14743         * modules/long-options (depends-on): Add stdbool, exitfail.
14744         * top/maint.mk (sc_prohibit_long_options_without_use): Update
14745         syntax-check rule, add new function name.
14747 2019-02-23  Bruno Haible  <bruno@clisp.org>
14749         relocatable-prog: Update documentation.
14750         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
14751         the recent changes.
14753 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
14755         nstrftime: tweak arg order
14756         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
14757         All callers changed.  Suggested by TAMUKI Shoichi in:
14758         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
14760 2019-02-23  Bruno Haible  <bruno@clisp.org>
14762         relocatable-prog: Use wrapper-free installation also on Mac OS X.
14763         Reported by Paul Smith <psmith@gnu.org>.
14764         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
14765         (func_relativize): New function, from gnulib-tool.
14766         Handle mode 'macosx' through invocations of 'otool' and
14767         'install_name_tool'.
14768         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
14769         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
14770         'install-reloc' invocation with mode 'macosx'.
14772 2019-02-23  Bruno Haible  <bruno@clisp.org>
14774         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
14775         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
14776         Hurd with glibc >= 2.27.
14778 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
14780         nstrftime: merge glibc strftime changes
14781         This incorporates:
14782         2019-02-11 Fix a few whitespace arrangement inconsistencies
14783         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
14784         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
14785         2019-01-11 strftime: use the "L_" macro with character literals
14786         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
14787         callers changed.  Default width of %Ey is now 2.  This is needed
14788         for proper handling of Japanese dates starting on 2019-05-01.
14790 2019-02-19  Bruno Haible  <bruno@clisp.org>
14792         relocatable-prog: Use $ORIGIN trick on more platforms.
14793         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
14794         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
14795         Solaris >= 10, Haiku. But don't use it on Android.
14796         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
14797         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
14799 2019-02-19  Bruno Haible  <bruno@clisp.org>
14801         progreloc: Speed up executable lookup on various platforms.
14802         * lib/progreloc.c: Include <errno.h>.
14803         (safe_read, full_read): New functions.
14804         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
14805         prefer the information from the /proc file system to a PATH search.
14807 2019-02-19  Bruno Haible  <bruno@clisp.org>
14809         progreloc: Simplify code for Android.
14810         * lib/progreloc.c (executable_fd): Don't define on Android.
14811         (maybe_executable, find_executable): Don't use executable_fd on Android.
14813 2019-02-15  Bruno Haible  <bruno@clisp.org>
14815         gnulib-tool: Support --import with just a few tests, not --with-tests.
14816         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
14817         'inctests' when generating files; use 'inctests' only for computing the
14818         transitive closure.
14820 2019-02-14  Bruno Haible  <bruno@clisp.org>
14822         gnulib-tool: Improve handling of multiple --local-dir options.
14823         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
14824         options work.
14825         * gnulib-tool (func_path_prepend): Remove function.
14826         (func_path_foreach): Make IFS handling more robust.
14827         (local_gnulib_path): Collect --local-dir values using func_path_append,
14828         not func_path_prepend.
14829         (func_determine_path_separator): Make IFS handling more robust.
14830         (func_lookup_file_cb): New function.
14831         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
14832         func_lookup_local_file. Apply the patches in the reverse order of their
14833         origin in $local_gnulib_path.
14834         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
14835         * NEWS: Mention that the first --local-dir option is the one with
14836         highest priority.
14838 2019-02-10  Bruno Haible  <bruno@clisp.org>
14840         libtextstyle: New module.
14841         * m4/libtextstyle.m4: New file.
14842         * modules/libtextstyle: New file.
14844 2019-02-05  Bruno Haible  <bruno@clisp.org>
14846         declared.sh: Fix bug with variables of pointer type.
14847         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
14848         before the symbol to be omitted if the preceding character is a '*'.
14850 2019-02-04  Bruno Haible  <bruno@clisp.org>
14852         Add script for running tests under valgrind.
14853         * build-aux/run-test: New file, from GNU libunistring.
14854         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
14855         as well.
14857 2019-02-04  Bruno Haible  <bruno@clisp.org>
14859         declared.sh: Fix --version output.
14860         * build-aux/declared.sh (func_version): Update package name.
14862 2019-02-03  Bruno Haible  <bruno@clisp.org>
14864         Add script for determining the set of symbols to export from a library.
14865         * build-aux/declared.sh: New file, from GNU libunistring.
14866         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
14867         Mention it.
14869 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
14871         vla: add commentary about VLA_ELEMS
14872         * lib/vla.h (VLA_ELEMS): Add commentary,
14873         some inspired by Bruno Haible’s proposal in:
14874         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
14876         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
14877         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
14878         assume the C99 signatures for strtod and strtold.  Programs that
14879         require stricter adherence to C99 should also use the strtod and
14880         strtold modules as needed, and we no longer need the
14881         HAVE_C99_STRTOLD macro.
14882         * NEWS: Mention this.
14883         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
14884         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
14885         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
14886         (Files): Remove m4/c-strtod.m4.
14887         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
14888         exists.
14890 2019-02-02  Bruno Haible  <bruno@clisp.org>
14892         fma: Improve code style.
14893         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
14895 2019-02-02  Colin Watson  <cjwatson@debian.org>
14897         *-map tests: Fix compilation error.
14898         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
14899         * tests/test-hash_map.c: Likewise.
14900         * tests/test-linkedhash_map.c: Likewise.
14902 2019-01-31  Bruno Haible  <bruno@clisp.org>
14904         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
14905         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
14906         GNULIB_defined_strtold_function): New macros.
14907         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
14908         (STRTOD): Ignore HAVE_C99_STRTOLD.
14909         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
14910         deemed buggy. But do use it on platforms where uselocale exists and is
14911         usable.
14912         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
14913         deemed buggy. On platforms where uselocale exists and is usable, use
14914         uselocale and strtod/strtold.
14915         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
14916         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
14917         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
14918         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
14919         (Depends-on): Add strtod.
14920         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
14921         (Depends-on): Add strtold.
14923 2019-01-31  Bruno Haible  <bruno@clisp.org>
14925         strtod, strtold: Use the locale's decimal point.
14926         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
14927         (decimal_point_char): New function, copied from lib/vasnprintf.c.
14928         (parse_number): Add a radixchar argument. Use it instead of '.'.
14929         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
14930         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
14931         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
14932         * tests/test-strtod1.c: New file.
14933         * tests/test-strtod1.sh: New file.
14934         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
14935         locale-fr.m4 and its dependencies.
14936         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
14937         (Makefile.am): Arrange to compile test-strtod1.c and run
14938         test-strtod1.sh.
14939         * tests/test-strtold1.c: New file.
14940         * tests/test-strtold1.sh: New file.
14941         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
14942         locale-fr.m4 and its dependencies.
14943         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
14944         (Makefile.am): Arrange to compile test-strtold1.c and run
14945         test-strtold1.sh.
14947 2019-01-31  Bruno Haible  <bruno@clisp.org>
14949         strtod, strtold tests: Simplify tests.
14950         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
14951         * tests/test-strtold.c (main): Likewise.
14953 2019-01-31  Bruno Haible  <bruno@clisp.org>
14955         strtod, strtold: Avoid unnecessary rounding errors.
14956         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
14957         decimal to DOUBLE conversion.
14959 2019-01-31  Bruno Haible  <bruno@clisp.org>
14961         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
14962         * lib/strtod.c (STRTOD): When there is an extra character after the
14963         exponent marker 'p', reparse the number.
14964         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
14965         * doc/posix-functions/strtold.texi: Likewise.
14967 2019-01-29  Bruno Haible  <bruno@clisp.org>
14969         strtold: Add tests.
14970         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
14971         * modules/strtold-tests: New file.
14973 2019-01-29  Bruno Haible  <bruno@clisp.org>
14975         strtold: New module.
14976         * lib/stdlib.in.h (strtold): New declaration.
14977         * lib/strtold.c: New file.
14978         * lib/strtod.c: Consider USE_LONG_DOUBLE.
14979         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
14980         USE_LDEXP): New macros.
14981         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
14982         USE_LONG_DOUBLE.
14983         (underlying_strtod): Remove function. Replace with some macros.
14984         Re-add the code for a missing underlying function that was removed on
14985         2013-02-19.
14986         * m4/strtold.m4: New file.
14987         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
14988         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
14989         REPLACE_STRTOLD.
14990         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
14991         REPLACE_STRTOLD.
14992         * modules/strtold: New file.
14993         * doc/posix-functions/strtold.texi: Document the new module.
14995 2019-01-29  Bruno Haible  <bruno@clisp.org>
14997         strtod: Fix compilation error on IRIX 6.5.
14998         * modules/strtod (Depends-on): Add 'math'.
15000 2019-01-28  Bruno Haible  <bruno@clisp.org>
15002         Fix build error when building a shared libunistring on Android.
15003         * tests/uninorm/test-nfc.c (n): Don't define on Android.
15004         (main): Add 'volatile', to defeat a GCC optimization that would
15005         eliminate the reference.
15006         * tests/uninorm/test-nfd.c (n): Don't define on Android.
15007         (main): Add 'volatile', to defeat a GCC optimization that would
15008         eliminate the reference.
15009         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
15010         (main): Add 'volatile', to defeat a GCC optimization that would
15011         eliminate the reference.
15012         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
15013         (main): Add 'volatile', to defeat a GCC optimization that would
15014         eliminate the reference.
15016 2019-01-27  Bruno Haible  <bruno@clisp.org>
15018         Avoid build errors due to wrong references between modules.
15019         * lib/uninorm/canonical-decomposition.c: Include
15020         "uninorm/decomposition-table.h", not "decomposition-table.h".
15021         * lib/uninorm/decomposition.c: Likewise.
15022         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
15023         not "decompose-internal.h".
15024         * lib/uninorm/u16-normalize.c: Likewise.
15025         * lib/uninorm/u32-normalize.c: Likewise.
15026         * lib/uninorm/uninorm-filter.c: Likewise.
15027         * lib/uninorm/nfkc.c: Likewise.
15028         * lib/uninorm/nfkd.c: Likewise.
15029         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
15030         "caseprop.h".
15031         * lib/unicase/u8-ct-totitle.c: Likewise.
15032         * lib/unicase/u8-prefix-context.c: Likewise.
15033         * lib/unicase/u8-suffix-context.c: Likewise.
15034         * lib/unicase/u16-casemap.c: Likewise.
15035         * lib/unicase/u16-ct-totitle.c: Likewise.
15036         * lib/unicase/u16-prefix-context.c: Likewise.
15037         * lib/unicase/u16-suffix-context.c: Likewise.
15038         * lib/unicase/u32-casemap.c: Likewise.
15039         * lib/unicase/u32-ct-totitle.c: Likewise.
15040         * lib/unicase/u32-prefix-context.c: Likewise.
15041         * lib/unicase/u32-suffix-context.c: Likewise.
15042         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
15043         "unicasemap.h".
15044         * lib/unicase/u8-toupper.c: Likewise.
15045         * lib/unicase/u8-ct-tolower.c: Likewise.
15046         * lib/unicase/u8-ct-toupper.c: Likewise.
15047         * lib/unicase/u16-tolower.c: Likewise.
15048         * lib/unicase/u16-toupper.c: Likewise.
15049         * lib/unicase/u16-ct-tolower.c: Likewise.
15050         * lib/unicase/u16-ct-toupper.c: Likewise.
15051         * lib/unicase/u32-tolower.c: Likewise.
15052         * lib/unicase/u32-toupper.c: Likewise.
15053         * lib/unicase/u32-ct-tolower.c: Likewise.
15054         * lib/unicase/u32-ct-toupper.c: Likewise.
15055         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
15056         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
15057         * lib/unicase/u16-ct-casefold.c: Likewise.
15058         * lib/unicase/u32-ct-casefold.c: Likewise.
15060 2019-01-27  Bruno Haible  <bruno@clisp.org>
15062         gperf: Fix error when this module is required by some test module.
15063         * modules/gperf (Applicability): Set to 'all'.
15065 2019-01-27  Bruno Haible  <bruno@clisp.org>
15067         tmpfile: Add support for Android.
15068         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
15069         works.
15070         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
15071         Android.
15072         * modules/tmpfile (Depends-on): Add 'stdbool'.
15073         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
15074         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
15076 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
15078         bitsetv: allow free on NULL.
15079         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
15081 2019-01-27  Bruno Haible  <bruno@clisp.org>
15083         test-framework-sh: Improve maintainability.
15084         * tests/init.sh: Clarify what belongs together. Reorder definitions.
15086 2019-01-27  Bruno Haible  <bruno@clisp.org>
15088         tests: Don't assume that /tmp exists.
15089         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
15090         * tests/test-copy-acl-1.sh: Likewise.
15091         * tests/test-file-has-acl-1.sh: Likewise.
15092         * tests/test-copy-file-1.sh: Likewise.
15094 2019-01-27  Bruno Haible  <bruno@clisp.org>
15096         tests: Accommodate a shell that is not in /bin/sh.
15097         * tests/init.sh (setup_): Set srcdir and builddir.
15098         (BOURNE_SHELL): New variable.
15099         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
15100         * modules/file-has-acl-tests (Depends-on): Likewise.
15101         * modules/copy-file-tests (Depends-on): Likewise.
15102         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
15103         scripts through $BOURNE_SHELL.
15104         * tests/test-set-mode-acl-2.sh: Likewise.
15105         * tests/test-copy-acl-1.sh: Likewise.
15106         * tests/test-copy-acl-2.sh: Likewise.
15107         * tests/test-file-has-acl-1.sh: Likewise.
15108         * tests/test-file-has-acl-2.sh: Likewise.
15109         * tests/test-copy-file-1.sh: Likewise.
15110         * tests/test-copy-file-2.sh: Likewise.
15111         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
15112         invoker.
15113         * tests/test-copy-acl.sh (builddir): Likewise.
15114         * tests/test-file-has-acl.sh (builddir): Likewise.
15115         * tests/test-copy-file.sh (builddir): Likewise.
15116         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
15117         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
15118         * tests/test-vc-list-files-git.sh: Likewise.
15120 2019-01-27  Bruno Haible  <bruno@clisp.org>
15122         tests: Fix some "unused variable" warnings.
15123         * tests/test-fts.c (fts_dealloc): Remove unused variable.
15124         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
15125         * tests/test-striconveh.c (main): Move some variable into the
15126         '#if HAVE_ICONV'.
15127         * tests/test-striconveha.c (main): Likewise.
15128         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
15129         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
15130         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
15131         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
15132         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15133         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15134         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
15135         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
15136         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
15137         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
15138         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
15139         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
15140         * tests/test-tsearch.c (main): Move some variable into the
15141         '#if HAVE_INITSTATE'.
15143 2019-01-27  Bruno Haible  <bruno@clisp.org>
15145         unigbrk/uc-grapheme-breaks: Fix build failure.
15146         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
15147         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
15149 2019-01-27  Bruno Haible  <bruno@clisp.org>
15151         mountlist: Merge two .m4 files.
15152         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
15153         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
15154         * m4/ls-mntd-fs.m4: Remove file.
15155         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
15157 2019-01-27  Bruno Haible  <bruno@clisp.org>
15159         tests: Enable Linux specific tests on Android.
15160         * tests/test-flock.c (main): Treat Android like Linux.
15161         * tests/test-openat-safer.c (main): Likewise.
15163 2019-01-27  Bruno Haible  <bruno@clisp.org>
15165         relocatable-prog: Use Linux code on Android.
15166         * lib/progreloc.c: Treat Android like Linux.
15168 2019-01-26  Bruno Haible  <bruno@clisp.org>
15170         getloadavg: Add support for Android.
15171         * lib/getloadavg.c: Treat Android like Linux.
15173 2019-01-26  Bruno Haible  <bruno@clisp.org>
15175         vma-iter: Add support for Android.
15176         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
15177         * lib/vma-iter.c: Treat Android like Linux.
15178         * lib/get-rusage-data.c (get_rusage_data): Likewise.
15180 2019-01-26  Bruno Haible  <bruno@clisp.org>
15182         fts: Optimize on Android.
15183         * lib/fts.c: Treat Android like Linux.
15185 2019-01-26  Bruno Haible  <bruno@clisp.org>
15187         fts: Add support for Android.
15188         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
15189         defined by this module and the ones in libc.
15190         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
15192 2019-01-26  Bruno Haible  <bruno@clisp.org>
15194         mountlist: Use Linux code on Android.
15195         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
15196         (unescape_tab, read_file_system_list): Enable Linux code on Android
15197         as well.
15198         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
15199         and endmntent.
15200         * modules/mountlist (Depends-on): Add 'getline'.
15202 2019-01-26  Bruno Haible  <bruno@clisp.org>
15204         localename tests: Fix test failure on Android.
15205         * modules/localename-tests (Depends-on): Add 'setlocale'.
15207 2019-01-26  Bruno Haible  <bruno@clisp.org>
15209         mountlist: Port better to Android.
15210         * lib/mountlist.c (MOUNTED): Redefine on Android.
15211         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
15212         Android.
15214 2019-01-26  Bruno Haible  <bruno@clisp.org>
15216         striconveh: Fix use of uninitialized iconv_t.
15217         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
15218         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
15219         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
15221 2019-01-26  Bruno Haible  <bruno@clisp.org>
15223         nonblocking-socket-tests: Fix test failure on Android 4.3.
15224         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
15225         also on Android.
15227 2019-01-26  Bruno Haible  <bruno@clisp.org>
15229         sh-filename: Add support for Android 4.3.
15230         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
15232 2019-01-26  Bruno Haible  <bruno@clisp.org>
15234         ptsname_r: Work around bug on Android 4.3.
15235         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
15236         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
15237         correct.
15238         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
15239         is defined, just fix the return value.
15240         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
15241         The behaviour of musl libc is nothing to be "fixed", since it is
15242         compliant with the next POSIX standard.
15244 2019-01-26  Bruno Haible  <bruno@clisp.org>
15246         ttyname_r: Work around bug on Android 4.3.
15247         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
15248         * lib/ttyname_r.c (ttyname_r): Implement for Android.
15249         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
15250         * doc/posix-functions/ttyname.texi: Likewise.
15252 2019-01-25  Bruno Haible  <bruno@clisp.org>
15254         getprogname: Port to Android 4.3.
15255         * lib/getprogname.c (getprogname): On Android, take only the last
15256         component of __progname.
15258 2019-01-25  Bruno Haible  <bruno@clisp.org>
15260         wcrtomb: Work around bug on Android 4.3.
15261         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
15262         the C locale.
15263         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
15264         which does not have the 'wctomb' function.
15265         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
15266         * tests/test-wcrtomb.c (main): Accept argument '5'.
15267         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
15269 2019-01-25  Bruno Haible  <bruno@clisp.org>
15271         setlocale: Work around bug on Android 4.3.
15272         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
15273         the "C" locale.
15274         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
15275         * doc/posix-functions/setlocale.texi: Mention the Android bug.
15277 2019-01-24  Bruno Haible  <bruno@clisp.org>
15279         memchr: Work around bug on Android <= 5.0.
15280         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
15281         * doc/posix-functions/memchr.texi: Mention the Android bug.
15283 2019-01-24  Bruno Haible  <bruno@clisp.org>
15285         random: Fix compilation error on Android 4.3.
15286         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
15287         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
15288         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
15289         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
15290         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15291         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
15292         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15293         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
15294         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15295         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
15296         REPLACE_INITSTATE, REPLACE_SETSTATE.
15297         * doc/posix-functions/random.texi: Correct the description of the
15298         situation on Android.
15299         * doc/posix-functions/srandom.texi: Likewise.
15300         * doc/posix-functions/rand.texi: Likewise.
15301         * doc/posix-functions/srand.texi: Likewise.
15303 2019-01-24  Bruno Haible  <bruno@clisp.org>
15305         mbtowc: Fix compilation error on Android 4.3.
15306         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
15307         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
15308         HAVE_MBTOWC.
15309         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
15310         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
15311         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
15312         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
15313         * doc/posix-functions/mbtowc.texi: Mention the change.
15315 2019-01-24  Bruno Haible  <bruno@clisp.org>
15317         fdatasync: Fix compilation error on Android 4.3.
15318         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
15319         test whether fdatasync() exists.
15321 2019-01-24  Bruno Haible  <bruno@clisp.org>
15323         unlinkat: Fix compilation error on Android 4.3.
15324         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
15325         also on Android.
15326         * doc/posix-functions/unlinkat.texi: Mention the issue.
15328 2019-01-24  Bruno Haible  <bruno@clisp.org>
15330         renameat: Fix compilation error on Android 4.3.
15331         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
15332         * doc/posix-functions/renameat.texi: Mention the issue.
15334 2019-01-24  Bruno Haible  <bruno@clisp.org>
15336         fchownat: Fix compilation error on Android 4.3.
15337         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
15338         use.
15339         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
15340         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
15341         * doc/posix-functions/fchownat.texi: Mention the issue.
15343 2019-01-23  Bruno Haible  <bruno@clisp.org>
15345         gnulib-tool: Support running testdirs on Android.
15346         * build-aux/test-driver.diff: New file.
15347         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
15348         build-aux/test-driver after running automake.
15350 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
15352         relocatable-prog: avoid warnings from Automake
15353         * modules/relocatable-prog: Don't declare PHONY dependencies in
15354         Automake conditionals.
15356 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
15358         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
15359         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
15361 2019-01-23  Bruno Haible  <bruno@clisp.org>
15363         threadlib: Revert commit from 2018-06-25. We now have a better fix.
15364         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
15365         preceding -Wl,--as-needed option. Don't check whether the linker
15366         supports --as-needed/--no-as-needed and --push-state/--pop-state.
15368 2019-01-23  Bruno Haible  <bruno@clisp.org>
15370         thread: Force linking with -lpthread, even when --as-needed is in use.
15371         Reported by Richard W.M. Jones <rjones@redhat.com> in
15372         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
15373         * lib/glthread/thread.h (pthread_create): Don't declare weak.
15375 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
15376             Bruno Haible  <bruno@clisp.org>
15378         relocatable: avoid compiler warnings (-Wshadow)
15379         * lib/relocatable.c (compute_curr_prefix): Rename local variables
15380         to avoid name collisions with global variables.
15382 2019-01-22  Bruno Haible  <bruno@clisp.org>
15384         vasnprintf: Don't use %n on Android.
15385         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
15386         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
15387         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
15389 2019-01-22  Bruno Haible  <bruno@clisp.org>
15391         *printf: Support cross-compilation to Android.
15392         * m4/printf.m4: Add cross-compilation guesses for Android.
15394 2019-01-21  Bruno Haible  <bruno@clisp.org>
15396         diacrit: Mark deprecated.
15397         * modules/diacrit (Status, Notice): Mark as deprecated.
15398         * NEWS: Mention it.
15400 2019-01-20  Bruno Haible  <bruno@clisp.org>
15402         rintl: Override broken implementation on NetBSD.
15403         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
15404         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
15405         REPLACE_RINTL.
15406         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
15407         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
15408         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
15409         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
15411 2019-01-20  Bruno Haible  <bruno@clisp.org>
15413         log10l: Work around inaccurate implementation on NetBSD.
15414         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
15415         * lib/log10l.c: Comment out too simplistic override.
15416         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
15418 2019-01-20  Bruno Haible  <bruno@clisp.org>
15420         logl: Work around inaccurate implementation on NetBSD.
15421         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
15422         * lib/logl.c: Comment out unused code.
15423         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
15425 2019-01-20  Bruno Haible  <bruno@clisp.org>
15427         expm1l: Work around inaccurate implementation on NetBSD.
15428         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
15429         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
15430         REPLACE_EXPM1L.
15431         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
15432         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
15433         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
15434         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
15436 2019-01-20  Bruno Haible  <bruno@clisp.org>
15438         expl: Work around inaccurate implementation on NetBSD.
15439         * lib/math.in.h (expl): Test also REPLACE_EXPL.
15440         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
15441         REPLACE_EXPL.
15442         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
15443         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
15444         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
15445         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
15447 2019-01-20  Bruno Haible  <bruno@clisp.org>
15449         exp2l: Work around inaccurate implementation on NetBSD.
15450         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
15451         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
15453 2019-01-20  Bruno Haible  <bruno@clisp.org>
15455         floor, floorl: Avoid autoconf warnings.
15456         * modules/floor (configure.ac): Use AC_REQUIRE.
15457         * modules/floorl (configure.ac): Likewise.
15459 2019-01-20  Bruno Haible  <bruno@clisp.org>
15461         Defeat current GCC optimizations in math autoconf tests.
15462         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
15463         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15464         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15465         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15466         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15467         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15468         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15469         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15470         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15471         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15472         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15473         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15474         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15475         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15476         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
15477         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
15478         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
15479         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15480         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15481         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15482         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15483         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15484         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15485         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15486         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15487         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15488         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15489         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15490         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15491         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15492         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15493         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15494         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15495         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15496         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15497         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15498         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15499         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15501 2019-01-19  Pádraig Brady  <P@draigBrady.com>
15503         gettext: support disabling use of VLAs
15504         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
15506 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
15508         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
15509         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
15511 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
15513         fcntl: Fix syntax error (regression from 2018-10-05).
15514         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
15516 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
15518         relocatable: improve documentation.
15519         * doc/relocatable-maint.texi (Supporting Relocation): For
15520         substitutions performed by config.status, we need more variables
15521         (for instance datarootdir defaults to '${prefix}/share' so we need
15522         prefix).
15524 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
15526         backup: update dependencies
15527         * modules/backup-rename (Depends-on): It now depends on opendirat
15528         instead of opendir.  It also uses stdint, and xalloc-oversized.
15529         But no longer dirfd.
15530         * modules/backupfile (Depends-on): Add xalloc-oversized.
15532 2019-01-13  Bruno Haible  <bruno@clisp.org>
15534         getcwd: Fix test failure when building on a Linux 9p file system.
15535         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
15536         EINVAL from mkdir like ENAMETOOLONG.
15537         * tests/test-getcwd.c (test_long_name): Likewise.
15539 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
15541         Fix typos found by codespell.
15542         * lib/*.[hc]: Fix typos in comments.
15543         * pygnulib/*.py: Fix typos in error messages and comments.
15545 2019-01-12  Bruno Haible  <bruno@clisp.org>
15547         doc: Fix documentation about container data types.
15548         Reported by Werner Lemberg <wl@gnu.org>.
15549         * doc/containers.texi (Container data types): Fix typo.
15551 2019-01-10  Bruno Haible  <bruno@clisp.org>
15553         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
15554         Reported by Reuben Thomas <rrt@sc3d.org>.
15555         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
15557 2019-01-06  Bruno Haible  <bruno@clisp.org>
15559         maintainer-makefile: Make the configure.ac section optional.
15560         * top/maint.mk (GREP, SED): Define if not defined.
15562 2019-01-06  Bruno Haible  <bruno@clisp.org>
15564         localename: Assume setlocale function.
15565         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
15566         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
15568 2019-01-06  Bruno Haible  <bruno@clisp.org>
15570         doc: Add documentation about container data types.
15571         * doc/containers.texi: New file.
15572         * doc/gnulib.texi (Particular Modules): Include it.
15574 2019-01-06  Bruno Haible  <bruno@clisp.org>
15576         doc: Update documentation about 'progname' module.
15577         * doc/progname.texi: Rename from doc/error.texi. Change node name and
15578         title. Rewrite.
15579         * doc/gnulib.texi (Particular Modules): Update.
15581 2019-01-06  Bruno Haible  <bruno@clisp.org>
15583         doc: Document the xstdopen and *-safer modules.
15584         * doc/xstdopen.texi: New file.
15585         * doc/gnulib.texi (Particular Modules): Include it.
15587 2019-01-06  Bruno Haible  <bruno@clisp.org>
15589         xstdopen: Add tests.
15590         * tests/test-xstdopen.c: New file.
15591         * tests/test-xstdopen.sh: New file.
15592         * modules/xstdopen-tests: New file.
15594         xstdopen: New module.
15595         * lib/xstdopen.h: New file.
15596         * lib/xstdopen.c: New file.
15597         * modules/xstdopen: New file.
15599 2019-01-06  Bruno Haible  <bruno@clisp.org>
15601         stdopen: Fix compilation error with IRIX cc.
15602         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
15604 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
15606         xfreopen need not include stdio--.h
15607         * lib/xfreopen.c: Do not include stdio--.h.
15609         xfreopen need not depend on freopen-safer
15610         * modules/xfreopen (Depends-on):
15611         Depend on freopen, not freopen-safer.
15613         stdopen: modernize and simplify
15614         * lib/stdopen.c: Update copyright date
15615         Do not include sys/types.h; no longer needed these days.
15616         (stdopen): Use C99-style decl in loop.  Return int errno
15617         value, rather than just a bool.  Do not worry about fd mismatches,
15618         since the caller cares only if 0, 1, 2 are occupied.
15619         * lib/stdopen.h: No need to include <stdbool.h>.
15620         * m4/stdopen.m4: Remove.
15621         * modules/stdopen: New file.
15623         stdopen: copy from last use in coreutils
15624         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
15625         New files, taken from their last commit in coreutils
15626         2007-07-23T12:35:58Z!jim@meyering.net
15627         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
15629 2019-01-05  Bruno Haible  <bruno@clisp.org>
15631         argp: Don't pass an invalid argument to dgettext().
15632         Reported by He X <xw897002528@gmail.com>.
15633         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
15634         dgettext().
15636 2019-01-05  Bruno Haible  <bruno@clisp.org>
15638         argp: Don't pass an invalid argument to dgettext().
15639         Reported by He X <xw897002528@gmail.com>.
15640         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
15641         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
15642         dgettext().
15644 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
15646         stdioext: port to newer 32-bit Android
15647         Problem reported by Tom Yan in:
15648         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
15649         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
15650         (fp_) [__ANDROID__]: Use it.
15652 2019-01-04  Bruno Haible  <bruno@clisp.org>
15654         lock: Fix link error with --enable-threads=pth.
15655         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
15656         Mark as weak.
15658 2019-01-04  Bruno Haible  <bruno@clisp.org>
15660         Fix link errors in unit tests.
15661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15662         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
15663         * modules/array-map-tests (Makefile.am): Link test-array_map against
15664         libintl.
15665         * modules/array-set-tests (Makefile.am): Link test-array_set against
15666         libintl.
15667         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
15668         libintl.
15669         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
15670         libintl.
15671         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
15672         against libintl.
15673         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
15674         against libintl.
15676 2019-01-04  Bruno Haible  <bruno@clisp.org>
15678         Fix incorrect 'Link' sections.
15679         * modules/regex (Link): Mention the link requirement of module 'lock'.
15680         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
15682 2019-01-04  Bruno Haible  <bruno@clisp.org>
15684         Fix some 'Link' sections.
15685         * modules/c-stack (Link): Add link directive from the 'gettext-h'
15686         dependency.
15687         * modules/getaddrinfo (Link): Likewise.
15689 2019-01-04  Bruno Haible  <bruno@clisp.org>
15691         Remove redundant 'Link' sections.
15692         * modules/canon-host (Link): Remove section.
15693         * modules/timevar (Link): Likewise.
15695 2019-01-04  Bruno Haible  <bruno@clisp.org>
15697         Remove incorrect 'Link' sections.
15698         * modules/acl (Link): Remove section. Use combined 'Link' sections from
15699         the dependencies instead.
15700         * modules/crypto/md5 (Link): Likewise.
15701         * modules/crypto/sha1 (Link): Likewise.
15702         * modules/crypto/sha256 (Link): Likewise.
15703         * modules/crypto/sha512 (Link): Likewise.
15704         * modules/faccessat (Link): Likewise.
15705         * modules/fdutimensat (Link): Likewise.
15706         * modules/iconv_open-utf (Link): Likewise.
15707         * modules/propername (Link): Likewise.
15708         * modules/qacl (Link): Likewise.
15709         * modules/unicodeio (Link): Likewise.
15710         * modules/utimecmp (Link): Likewise.
15711         * modules/utimensat (Link): Likewise.
15712         * modules/xstriconv (Link): Likewise.
15713         * modules/xstriconveh (Link): Likewise.
15715 2019-01-04  Bruno Haible  <bruno@clisp.org>
15717         gnulib-tool: New option --extract-recursive-link-directive.
15718         * gnulib-tool (func_usage): Document the new options
15719         --extract-recursive-dependencies, --extract-recursive-link-directive.
15720         (func_verify_module): Document output variables.
15721         (func_get_dependencies_recursively): New function.
15722         (func_get_link_directive_recursively): New function.
15723         Use them to implement the new options
15724         --extract-recursive-dependencies, --extract-recursive-link-directive.
15725         * doc/gnulib-tool.texi (Link-time requirements): New section.
15727 2019-01-04  Bruno Haible  <bruno@clisp.org>
15729         Clarify meaning of 'Link' section in module description.
15730         * doc/gnulib.texi (Module description): Clarify the meaning of the
15731         'Link' section versus the one of the dependencies.
15732         * NEWS: Mention the change.
15734 2019-01-04  Bruno Haible  <bruno@clisp.org>
15736         pselect: Fix module description.
15737         * modules/pselect (Link): Put one link option per line.
15739 2019-01-04  Bruno Haible  <bruno@clisp.org>
15741         cosl: Fix module description.
15742         * modules/cosl (Link): Fix typo.
15743         * modules/mathl (configure.ac): Likewise.
15745 2019-01-04  Bruno Haible  <bruno@clisp.org>
15747         c-xvasprintf: Fix module dependencies.
15748         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
15750 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
15752         bootstrap: die when some submodules are not initialized
15753         * build-aux/bootstrap: Make sure all submodules are initialized.
15755 2019-01-04  Bruno Haible  <bruno@clisp.org>
15757         bitsetv: Fix module dependencies.
15758         * lib/bitsetv.c: Include xalloc.h.
15759         * modules/bitsetv (Depends-on): Add 'xalloc'.
15761 2019-01-04  Bruno Haible  <bruno@clisp.org>
15763         xmemdup0: Remove redundant code.
15764         * lib/xmemdup0.h (xalloc_die): Remove declaration.
15766 2019-01-04  Bruno Haible  <bruno@clisp.org>
15768         backupfile: Fix module dependencies.
15769         * modules/backupfile (Depends-on): Add 'xalloc'.
15771 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
15773         bitset, crypto/gc: fix conflicts with Solaris 11
15774         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
15775         avoid clash with Solaris 11 <sys/bitset.h>.
15776         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
15777         with Solaris 11 <xorg/gc.h>.
15779 2019-01-04  Bruno Haible  <bruno@clisp.org>
15781         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
15782         Reported by Andy Fiddaman <andy@omniosce.org>.
15783         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
15785 2019-01-03  Eric Blake  <eblake@redhat.com>
15787         maintainer-makefile: fix typo in previous patch
15788         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
15789         of Roman's work.
15791 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
15793         maintainer-makefile: prefer $(GREP) over grep
15794         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
15795         defined.
15796         * top/maint.mk: Use it everywhere.
15798         maintainer-makefile: split long argument lines
15799         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
15800         it would be too long for exec limits on BSD.
15802 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
15804         mkfifo: bring back HAVE_MKFIFO macro
15805         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
15806         Problem reported by Andrew Janke in:
15807         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
15809 2018-12-21  Bruno Haible  <bruno@clisp.org>
15811         Assume Autoconf >= 2.63.
15812         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
15813         versions < 2.60.
15815 2018-12-21  Bruno Haible  <bruno@clisp.org>
15817         memcmp: Mention the clang bug.
15818         * tests/test-memcmp.c: Add comment about a known test failure.
15819         * doc/posix-functions/memcmp.texi: Mention the clang bug.
15821 2018-12-20  Jim Meyering  <meyering@fb.com>
15823         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
15824         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
15825           echo '123-x'|LC_ALL=C grep -E '.\bx'
15826         The goal is to revert the first, but reverting it requires to restore
15827         the function deleted in the second. I ran this to restore the deleted
15828         function:
15829           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
15830             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
15831             | patch -R -p1
15832         * lib/dfa.c (charclass_context): Restore deleted function.
15833         Reverting the primary commit removes this change:
15834         dfa: Simplify a building state
15835         * lib/dfa.c (build_state): Simplify a building state.
15837 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
15839         version-etc: allow zero authors
15840         * lib/version-etc.c (version_etc_arn): If no authors are given,
15841         omit authorship info instead of dumping core.
15843 2018-12-19  Bruno Haible  <bruno@clisp.org>
15845         lchown tests: Be more permissive regarding errno values.
15846         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
15847         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
15848         alternative to ENOSYS.
15849         * modules/lchown-tests (Depends-on): Add 'errno'.
15850         * modules/fchownat-tests (Depends-on): Likewise.
15852 2018-12-18  Bruno Haible  <bruno@clisp.org>
15854         duplocale: Avoid test failure on AIX 7.
15855         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
15856         (configure.ac): Invoke gt_FUNC_USELOCALE.
15857         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
15858         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
15859         works.
15861 2018-12-18  Bruno Haible  <bruno@clisp.org>
15863         localename: Fix test failure on AIX 7.
15864         Reported by Assaf Gordon in
15865         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
15866         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
15867         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
15868         instead of ac_cv_func_uselocale.
15869         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
15870         HAVE_USELOCALE.
15871         * lib/localename-table.h: Likewise.
15872         * lib/localename-table.c: Likewise.
15873         * tests/test-localename.c: Likewise.
15874         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
15876 2018-12-18  Bruno Haible  <bruno@clisp.org>
15878         localename: Update comments regarding Cygwin.
15879         * lib/localename.c: Update comment.
15880         * doc/posix-functions/uselocale.texi: Update platforms list.
15881         * doc/posix-functions/newlocale.texi: Likewise.
15882         * doc/posix-functions/duplocale.texi: Likewise.
15883         * doc/posix-functions/freelocale.texi: Likewise.
15885 2018-12-16  Bruno Haible  <bruno@clisp.org>
15887         c-stack: Fix for Linux/sparc.
15888         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
15889         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
15891 2018-12-16  Bruno Haible  <bruno@clisp.org>
15893         localename: Avoid test failure on some glibc systems.
15894         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
15895         Unset environment variables that might disturb the first setlocale call,
15896         and verify that this setlocale call succeeds.
15898 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
15900         random: Fix build error on native Windows (regression from 2018-06-21).
15901         * lib/random.c (__srandom, __initstate, __setstate, __random,
15902         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
15903         to the symbols without '__' prefix.
15905 2018-12-16  Bruno Haible  <bruno@clisp.org>
15907         obstack, libc-config: Support HP-UX cc in C99 mode.
15908         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
15909         compiler, even when in C99 mode.
15910         * lib/cdefs.h (__flexarr): Likewise.
15911         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
15913 2018-12-16  Bruno Haible  <bruno@clisp.org>
15915         localename: Fix test failure on OpenBSD >= 6.2.
15916         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
15917         locale system. Define HAVE_FAKE_LOCALES in this case.
15918         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
15919         HAVE_USELOCALE.
15920         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
15921         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
15922         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
15923         platforms list.
15924         * doc/posix-functions/newlocale.texi: Likewise.
15925         * doc/posix-functions/duplocale.texi: Update platforms list.
15926         * doc/posix-functions/freelocale.texi: Likewise.
15928 2018-12-16  Bruno Haible  <bruno@clisp.org>
15930         duplocale tests: Re-enable the test on platforms without <monetary.h>.
15931         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
15932         of the test, on platforms without <monetary.h>.
15934 2018-12-16  Bruno Haible  <bruno@clisp.org>
15936         localename: Update comments.
15937         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
15939 2018-12-15  Jim Meyering  <meyering@fb.com>
15941         regex: fix indentation
15942         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
15944 2018-12-15  Bruno Haible  <bruno@clisp.org>
15946         openat-safer tests: Avoid test failure on NetBSD 8.
15947         * tests/test-openat-safer.c (main): Execute a Linux specific test only
15948         on Linux.
15950 2018-12-15  Jim Meyering  <meyering@fb.com>
15952         regex: work around a bug in glibc-2.27 and prior
15953         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
15954         assertion for /0|()0|\1|0/.
15955         * tests/test-regex.c (main): Add the same test here.
15957 2018-12-15  Bruno Haible  <bruno@clisp.org>
15959         localename: Fix use of uninitialized shell variable.
15960         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
15961         gt_cv_locale_solaris114 always before use. Remove assignment without
15962         effect.
15964 2018-12-15  Bruno Haible  <bruno@clisp.org>
15966         dfa tests: Avoid test failure on Alpine Linux.
15967         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
15968         command found on Alpine Linux.
15970 2018-12-15  Jim Meyering  <meyering@fb.com>
15972         dfa: avoid new warnings from gcc
15973         These would prevent building with -Werror and a Dec snapshot of gcc.
15974         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
15975         Rename each inner instance to "p".
15976         (charclass_context): Remove unused static function.
15978 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
15980         mkdir-p: improve diagnostic for FUSE mounts
15981         Problem reported by Niklas Hambüchen in:
15982         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
15983         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
15984         errno to mkdir errno if the stat errno is likely more interesting.
15986 2018-12-14  Bruno Haible  <bruno@clisp.org>
15988         hash-map: Add tests.
15989         * tests/test-hash_map.c: New file.
15990         * modules/hash-map-tests: New file.
15992         linkedhash-map: Add tests.
15993         * tests/test-linkedhash_map.c: New file.
15994         * modules/linkedhash-map-tests: New file.
15996         array-map: Add tests.
15997         * tests/test-array_map.c: New file.
15998         * modules/array-map-tests: New file.
16000         xmap: New module.
16001         * lib/gl_xmap.h: New file.
16002         * lib/gl_xmap.c: New file.
16003         * modules/xmap: New file.
16005         hash-map: New module.
16006         * lib/gl_hash_map.h: New file.
16007         * lib/gl_hash_map.c: New file.
16008         * modules/hash-map: New file.
16010         linkedhash-map: New module.
16011         * lib/gl_linkedhash_map.h: New file.
16012         * lib/gl_linkedhash_map.c: New file.
16013         * lib/gl_anyhash1.h: Update comments.
16014         * lib/gl_anyhash2.h: Likewise.
16015         * modules/linkedhash-map: New file.
16017         array-map: New module.
16018         * lib/gl_array_map.h: New file.
16019         * lib/gl_array_map.c: New file.
16020         * modules/array-map: New file.
16022         map: New module.
16023         * lib/gl_map.h: New file.
16024         * lib/gl_map.c: New file.
16025         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
16026         conflict with gl_map.h.
16027         * modules/map: New file.
16029 2018-12-13  Bruno Haible  <bruno@clisp.org>
16031         select tests: Avoid test failure on Cygwin.
16032         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
16034 2018-12-13  Bruno Haible  <bruno@clisp.org>
16036         localtime-buffer: Avoid endless recursion in localtime and gmtime.
16037         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
16039 2018-12-13  Bruno Haible  <bruno@clisp.org>
16041         localeconv tests: Avoid test failure on Cygwin.
16042         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
16043         'mon_grouping' tests.
16045 2018-12-11  Bruno Haible  <bruno@clisp.org>
16047         omap: Don't dispose the old value when the function returns it.
16048         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
16049         here.
16050         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16051         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16052         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
16053         here.
16055         array-omap, avltree-omap, rbtree-omap: Tweak style.
16056         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
16057         false.
16058         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
16060         rbtree-omap: Add tests.
16061         * tests/test-rbtree_omap.c: New file.
16062         * modules/rbtree-omap-tests: New file.
16064         avltree-omap: Add tests.
16065         * tests/test-avltree_omap.c: New file.
16066         * modules/avltree-omap-tests: New file.
16068         array-omap: Add tests.
16069         * tests/test-array_omap.c: New file.
16070         * modules/array-omap-tests: New file.
16072         xomap: New module.
16073         * lib/gl_xomap.h: New file.
16074         * lib/gl_xomap.c: New file.
16075         * modules/xomap: New file.
16077         rbtree-omap: New module.
16078         * lib/gl_rbtree_omap.h: New file.
16079         * lib/gl_rbtree_omap.c: New file.
16080         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
16081         Parameterize.
16082         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
16083         * modules/rbtree-omap: New file.
16084         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
16085         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
16087         avltree-omap: New module.
16088         * lib/gl_avltree_omap.h: New file.
16089         * lib/gl_avltree_omap.c: New file.
16090         * lib/gl_avltree_ordered.h: Code moved to here from
16091         lib/gl_avltree_oset.c. Parameterize.
16092         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
16093         * lib/gl_anytree_omap.h: New file.
16094         * modules/avltree-omap: New file.
16095         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
16096         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
16098         array-omap: New module.
16099         * lib/gl_array_omap.h: New file.
16100         * lib/gl_array_omap.c: New file.
16101         * modules/array-omap: New file.
16103         omap: New module.
16104         * lib/gl_omap.h: New file.
16105         * lib/gl_omap.c: New file.
16106         * modules/omap: New file.
16108 2018-12-11  Bruno Haible  <bruno@clisp.org>
16110         hash-set, linkedhash-set: Reduce code duplication.
16111         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
16112         lib/gl_anyhash_set1.h.
16113         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
16114         lib/gl_anyhash_set2.h. Parameterize.
16115         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
16116         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
16117         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
16118         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
16119         * lib/gl_rbtreehash_list.c: Likewise.
16120         * lib/gl_linkedhash_list.c: Likewise.
16121         (hash_resize_after_add): Remove function.
16122         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
16123         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
16124         * gl_hash_set.c: Likewise.
16125         * modules/avltreehash-list (Files, Makefile.am): Update file list.
16126         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
16127         * modules/linkedhash-list (Files, Makefile.am): Likewise.
16128         * modules/linkedhash-set (Files, Makefile.am): Likewise.
16129         * modules/hash-set (Files, Makefile.am): Likewise.
16131 2018-12-11  Bruno Haible  <bruno@clisp.org>
16133         array-set: Optimize.
16134         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
16135         outside the loop, not inside the loop.
16137 2018-12-11  Bruno Haible  <bruno@clisp.org>
16139         times: Fix tests.
16140         * tests/test-times.c (doublecmp): Implement a total order.
16142 2018-12-11  Bruno Haible  <bruno@clisp.org>
16144         array-set, linkedhash-set, hash-set: Fix tests.
16145         * tests/test-array_set.c (cmp_objects_in_array): New function.
16146         (check_equals): Use it.
16147         * tests/test-hash_set.c: Likewise.
16148         * tests/test-linkedhash_set.c: Likewise.
16150 2018-12-08  Bruno Haible  <bruno@clisp.org>
16152         Fix comments.
16153         * lib/gl_list.h (gl_list_free): Clarify what it does.
16154         * lib/gl_oset.h (gl_oset_free): Likewise.
16155         * lib/gl_set.h (gl_set_free): Likewise.
16156         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
16157         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
16158         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
16159         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
16161 2018-12-03  Bruno Haible  <bruno@clisp.org>
16163         hash-set: Add tests.
16164         * tests/test-hash_set.c: New file.
16165         * modules/hash-set-tests: New file.
16167         linkedhash-set: Add tests.
16168         * tests/test-linkedhash_set.c: New file.
16169         * modules/linkedhash-set-tests: New file.
16171         array-set: Add tests.
16172         * tests/test-array_set.c: New file.
16173         * modules/array-set-tests: New file.
16175         xset: New module.
16176         * lib/gl_xset.h: New file.
16177         * lib/gl_xset.c: New file.
16178         * modules/xset: New file.
16180         hash-set: New module.
16181         * lib/gl_hash_set.h: New file.
16182         * lib/gl_hash_set.c: New file.
16183         * modules/hash-set: New file.
16185         linkedhash-set: New module.
16186         * lib/gl_linkedhash_set.h: New file.
16187         * lib/gl_linkedhash_set.c: New file.
16188         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
16189         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
16190         * lib/gl_anyhash_primes.h: New file, extracted from
16191         lib/gl_anyhash_list2.h.
16192         * lib/gl_anyhash_list2.h: Include it.
16193         (primes, next_prime): Remove definitions.
16194         * modules/linkedhash-set: New file.
16195         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
16196         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16197         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
16198         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16199         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
16200         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16202         array-set: New module.
16203         * lib/gl_array_set.h: New file.
16204         * lib/gl_array_set.c: New file.
16205         * modules/array-set: New file.
16207         set: New module.
16208         * lib/gl_set.h: New file.
16209         * lib/gl_set.c: New file.
16210         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
16211         gl_set.h.
16212         * modules/set: New file.
16214 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
16216         bison: don't force the Yacc mode
16217         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
16218         errors when Bison features are used in the grammar file.  Some of
16219         these features (such as %expect) were flagged non-yacc recently.  Most
16220         of the time, -y is actually used to please Automake's ylwrap which
16221         expects the output to be y.tab.c.
16222         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
16224 2018-12-01  Bruno Haible  <bruno@clisp.org>
16226         gnupload: Document short options.
16227         * build-aux/gnupload (usage): Document the short options.
16229 2018-11-28  Ben Elliston  <bje@gnu.org>
16231         gnupload: Support option -h as alias of --help.
16232         * build-aux/gnupload: Support -h.
16234 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16236         memrchr: port better to clang
16237         * lib/memrchr.c (__memrchr): Cast to void * instead of to
16238         longword *, to pacify clang -Wcast-align (Bug#33544).
16240 2018-11-29  Eric Blake  <eblake@redhat.com>
16242         docs: mention printf %m considerations
16243         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
16244         is not portable, and is easy enough to work around.
16245         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
16246         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
16247         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
16248         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
16249         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16250         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16251         * doc/posix-functions/printf.texi (printf): Likewise.
16252         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
16253         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
16254         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
16255         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16256         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16257         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16258         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16259         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16260         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
16261         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
16262         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16263         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16265 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
16267         bitset: rename ebitset/expandable.* as tbitset/table.*
16268         See
16269         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
16270         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
16271         * lib/bitset/table.h, lib/bitset/table.c: these.
16272         Rename all the ebitset* symbols as tbitset*.
16273         Adjust dependencies.
16275 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16277         bitset: check the operations
16278         * tests/test-bitset.c (bitset_random): New.
16279         Use it.
16280         * lib/bitset/expandable.c (ebitset_not): Fix typo.
16282 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16284         bitset: properly use false/true instead of 0/1 for Booleans
16285         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
16286         0/1, as Booleans.
16288 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16290         bitset: rename BITSET_VARRAY as BITSET_VECTOR
16291         For consistency with the name of the file.
16292         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
16293         * lib/bitset/stats.c, lib/bitset/vector.c
16294         (BITSET_VARRAY): Rename as...
16295         (BITSET_VECTOR): this.
16297 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
16299         strerror_r-posix: memmove, not memcpy
16300         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
16301         since the source and destination might overlap in the call
16302         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
16303         Simplify.
16305 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16307         bitsetv: new module
16308         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
16310 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16312         bitset: add tests and doc
16313         First stabs at providing a documentation and test for the bitset
16314         module.
16315         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
16317 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16319         bitset: new module
16320         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
16321         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
16322         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
16323         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
16324         * lib/bitset/vector.h, modules/bitset:
16325         New.
16327 2018-11-23  Bruno Haible  <bruno@clisp.org>
16329         localename: Fix gettext test failures on mingw.
16330         * lib/localename.c (gl_locale_name_posix): Convert the result of
16331         gl_locale_name_environ to XPG syntax.
16333 2018-11-23  Karl Berry  <karl@freefriends.org>
16335         * config/srclistvars.txt,
16336         * config/srclist.txt: remove all gettext references;
16337         the gettext maintainers will sync as needed.
16339 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
16341         mktime: add libc-config dependency
16342         I missed this when we synced from glibc.
16343         * modules/mktime (Depends-on): Add libc-config.
16345 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
16347         longlong: fix comment typo
16348         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
16350 2018-11-11  Bruno Haible  <bruno@clisp.org>
16352         havelib: Remove the need to include asm-underscore.m4.
16353         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
16354         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
16355         gl_HOST_CPU_C_ABI.
16356         * modules/havelib (Files): Add host-cpu-c-abi.m4.
16357         (Depends-on): Remove host-cpu-c-abi.
16359 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16361         parse-datetime: simplify test for mktime failure
16362         * lib/parse-datetime.y (mktime_ok): Simplify.
16363         Remove args TZ and T; no longer needed.  Callers changed.
16365         posixtm: simplify test for mktime failure
16366         * lib/posixtm.c (posixtime): Simplify.
16368         nstrftime: simplify test for mktime failure
16369         * lib/nstrftime.c (__strftime_internal): Simplify.
16371 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16373         gnulib-common.m4: port _Noreturn to C++
16374         Problem reported by Akim Demaille in:
16375         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
16376         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
16377         Merge adjustments from _Noreturn.h and from glibc into the non-C++
16378         version.
16379         * lib/_Noreturn.h: Match gnulib-common.
16381 2018-10-30  Bruno Haible  <bruno@clisp.org>
16383         gnu-make: Fix for NetBSD 8 'make'.
16384         Reported by Reuben Thomas in
16385         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
16386         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
16387         output, ignoring exit codes.
16389 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
16391         maintainer-makefile: fix syntax-check rule for "same.h"
16392         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
16393         for 'same_nameat', too.
16395 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
16397         havelib: fix nested ‘configure’ chatter
16398         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
16399         AC_CACHE_CHECK calls, which resulted in confusing output like
16400         “checking for the common suffixes of directories in the library
16401         search path... checking for 64-bit host... no lib,lib”.
16403         backupfile: tweak for better code
16404         * lib/backupfile.c: Sort include directives, and remove
16405         unnecessary <limits.h> include.
16406         (FALLTHROUGH): New macro, copied from other modules.
16407         (backupfile_internal): Use it to avoid code duplication.
16408         This lets GCC 8.2.1 generate better code by inlining the
16409         call to check_extension.
16411 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
16413         backupfile: new dir_fd args
16414         New module opendirat with code taken from fts.
16415         Use this module to let backupfile use a directory file descriptor.
16416         * NEWS: Document the incompatible change.
16417         * lib/backup-find.c (find_backup_file_name):
16418         * lib/backup-rename.c (backup_file_rename):
16419         New arg DIR_FD.
16420         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
16421         (SIZE_MAX): Remove.
16422         Include opendirat.h rather than dirent--.h.
16423         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
16424         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
16425         (backupfile_internal): New arg DIR_FD.  All callers changed.
16426         * lib/fts.c: Include opendirat.h.
16427         (opendirat): Move to opendirat.c.
16428         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
16429         * modules/backupfile (Depends-on): Remove dirfd, opendir.
16430         Add opendirat.
16431         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
16432         Add opendirat.
16434 2018-10-23  Bruno Haible  <bruno@clisp.org>
16436         localename: Simplify support for per-thread locales on Solaris 11.4.
16437         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
16438         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
16439         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
16440         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
16441         specific code.
16442         * lib/localename-table.h: Update comments.
16443         * lib/localename-table.c: Update comments.
16444         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
16445         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
16446         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
16447         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
16448         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
16449         HAVE_NAMELESS_LOCALES here.
16450         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
16451         m4/intlsolaris.m4.
16452         * modules/gettext (Files): Likewise.
16454 2018-10-22  Bruno Haible  <bruno@clisp.org>
16456         std-gnu11: Support Autoconf versions < 2.64.
16457         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
16458         when _AC_DO_LIMIT does not exist.
16460 2018-10-22  Bruno Haible  <bruno@clisp.org>
16462         Assume Autoconf >= 2.63.
16463         * DEPENDENCIES: Mention the requirement.
16465         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
16466         (func_get_filelist): Don't list m4/onceonly.m4 any more.
16467         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
16468         * m4/onceonly.m4: Remove file.
16470         * m4/openmp.m4: Remove file.
16471         * modules/openmp (Files): Remove m4/openmp.m4.
16473         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
16474         htmldir, dvidir, pdfdir, psdir, localedir.
16475         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
16477         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
16478         Autoconf < 2.60.
16479         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
16480         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
16482         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
16483         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
16484         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
16486         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
16487         exists.
16488         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
16490         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
16491         Autoconf < 2.61.
16493         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
16494         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
16495         Autoconf >= 2.52.
16497         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
16498         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
16499         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
16501 2018-10-22  Bruno Haible  <bruno@clisp.org>
16503         Assume Automake >= 1.11.
16504         * m4/configmake.m4: Update comments.
16505         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
16506         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
16507         of 'eval'.
16508         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
16509         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
16510         requires Automake >= 1.11.
16512 2018-10-22  Bruno Haible  <bruno@clisp.org>
16514         localename: Fix typo in comment.
16515         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
16517 2018-10-22  Bruno Haible  <bruno@clisp.org>
16519         Fix failure of 'gnulib-tool --create-testdir' with all modules.
16520         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
16522 2018-10-21  Bruno Haible  <bruno@clisp.org>
16524         locale: Ease integration with GNU libintl.
16525         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
16526         GNULIB_defined_freelocale): New macros.
16528 2018-10-21  Bruno Haible  <bruno@clisp.org>
16530         localename: Fine-tune support for per-thread locales on Solaris 11.4.
16531         * lib/localename-table.h: New file, extracted from lib/localename.c.
16532         * lib/localename-table.c: Likewise.
16533         * lib/localename.c: Include localename-table.h.
16534         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
16535         locale_hash_function instead of pointer_hash.
16536         * modules/localename (Files): Add lib/localename-table.h,
16537         lib/localename-table.c.
16538         (lib_SOURCES): Add localename-table.c.
16539         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
16540         for Solaris 11.4 locale system only on Solaris. Test for it
16541         independently whether getlocalename_l exists.
16542         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
16543         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
16544         HAVE_NAMELESS_LOCALES.
16545         * modules/gettext (Files): Add m4/intlsolaris.m4.
16547 2018-10-21  Bruno Haible  <bruno@clisp.org>
16549         Small update from gettext.
16550         * m4/intl.m4: Update from gettext:
16551         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
16552         mode on AIX.
16553         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
16554         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
16556 2018-10-16  Bruno Haible  <bruno@clisp.org>
16558         mountlist: Remove support for Cray with UNICOS 9.
16559         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16560         MOUNTED_LISTMNTENT.
16561         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
16563 2018-10-16  Bruno Haible  <bruno@clisp.org>
16565         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
16566         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
16567         STAT_STATFS2_FS_DATA.
16568         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
16569         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16570         MOUNTED_GETMNT.
16571         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
16572         * lib/getloadavg.c (decstation): Remove definition and case.
16573         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
16574         * lib/getgroups.c: Likewise.
16575         * doc/posix-functions/getgroups.texi: Likewise.
16576         * lib/time.in.h: Update comments.
16578 2018-10-16  Bruno Haible  <bruno@clisp.org>
16580         getloadavg: Remove support for ConvexOS.
16581         * lib/getloadavg.c: Remove convex case.
16583 2018-10-16  Bruno Haible  <bruno@clisp.org>
16585         getloadavg: Remove support for Sony NEWS.
16586         * lib/getloadavg.c: Remove sony_news case.
16588 2018-10-16  Bruno Haible  <bruno@clisp.org>
16590         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
16591         * lib/fsusage.c: Remove _SEQUENT_ case.
16592         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
16593         * lib/mountlist.c: Don't test for MNTTABNAME.
16594         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
16595         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
16596         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
16597         * lib/stat-size.h: Don't mention the Sequent bug.
16598         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
16600 2018-10-16  Bruno Haible  <bruno@clisp.org>
16602         fsusage: Remove support for AIX 3.
16603         * lib/fsusage.c: Remove code for AIX 3.
16604         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
16606 2018-10-16  Bruno Haible  <bruno@clisp.org>
16608         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
16609         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
16610         * lib/fsusage.c: Remove code for AIX PS/2.
16611         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
16612         * lib/getloadavg.c: Likewise.
16614 2018-10-16  Bruno Haible  <bruno@clisp.org>
16616         getloadavg: Remove support for HP-UX on m68k.
16617         * lib/getloadavg.c: Remove hp9000s300 case.
16619 2018-10-16  Bruno Haible  <bruno@clisp.org>
16621         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
16622         * lib/fsusage.c: Remove DOLPHIN case.
16623         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
16624         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
16626 2018-10-16  Bruno Haible  <bruno@clisp.org>
16628         getloadavg: Remove support for Alliant FX/2800.
16629         * lib/getloadavg.c: Remove alliant case.
16631 2018-10-16  Bruno Haible  <bruno@clisp.org>
16633         getloadavg: Remove support for tek4300.
16634         * lib/getloadavg.c: Remove tek4300 case.
16636 2018-10-16  Bruno Haible  <bruno@clisp.org>
16638         getloadavg: Remove support for Ardent.
16639         * lib/getloadavg.c: Remove ardent case.
16641 2018-10-16  Bruno Haible  <bruno@clisp.org>
16643         mountlist: Remove support for SVR2.
16644         Reported by Andrew Borodin <aborodin@vmail.ru> in
16645         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
16646         * lib/mountlist.c: Remove MOUNTED_FREAD case.
16647         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16648         MOUNTED_FREAD.
16650 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16652         libc-config: merge from glibc
16653         * lib/cdefs.h (__glibc_has_attribute): New macro.
16655         regex: depend on libc-config
16656         * modules/regex (Depends-on): Add libc-config.
16657         This is needed after the recent autoupdate from glibc.
16659 2018-10-14  Bruno Haible  <bruno@clisp.org>
16661         localename: Add support for per-thread locales on Solaris 11.4.
16662         * lib/locale.in.h (newlocale, freelocale): New declarations.
16663         (duplocale): Declare also when the 'localename' module requests it.
16664         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
16665         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
16666         (struniq): Update.
16667         (struct locale_categories_names, struct locale_hash_node): New types.
16668         (LOCALE_HASH_TABLE_SIZE): New constant.
16669         (locale_hash_table, locale_lock): New variables.
16670         (pointer_hash, get_locale_t_name): New functions.
16671         (newlocale, duplocale, freelocale): New overridden functions.
16672         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
16673         * m4/intlsolaris.m4: New file.
16674         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
16675         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
16676         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
16677         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
16678         declared.
16679         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
16680         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
16681         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
16682         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
16683         * modules/localename (Files): Add intlsolaris.m4.
16684         (Depends-on): Add 'locale'.
16685         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
16686         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
16687         the signatures.
16689 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
16691         timevar: use gethrxtime to get wall clock time
16692         clock_gettime is not portable.  gethrxtime takes the best available
16693         option to get the wall clock time, including clock_gettime (monotonic
16694         clock), and gettime (non monotonic).
16695         Also, using xtime_t instead of float preserves the precision.
16696         Suggested by Bruno Haible.
16697         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
16698         * modules/timevar (Depends-on): We need gethrxtime.
16699         We no longer use times().
16700         (Link): Update.
16701         * lib/timevar.h (timevar_time_def): Use xtime_t.
16702         * lib/timevar.c (set_to_current_time): Use gethrxtime.
16703         (timevar_print): Instead of checking whether the timings themselves
16704         are large enough for the timevar to be printed, check the percentages.
16706 2018-10-14  Bruno Haible  <bruno@clisp.org>
16708         wcsnrtombs: Work around Solaris 11.4 bug.
16709         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
16710         macro.
16711         (gl_FUNC_WCSNRTOMBS): Invoke it.
16712         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
16714 2018-10-14  Bruno Haible  <bruno@clisp.org>
16716         mbsnrtowcs: Work around Solaris 11.4 bug.
16717         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
16718         macro.
16719         (gl_FUNC_MBSNRTOWCS): Invoke it.
16720         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
16722 2018-10-14  Bruno Haible  <bruno@clisp.org>
16724         doc: Update for Solaris 11.4.
16725         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
16726         mention Solaris 11.4.
16727         * m4/printf.m4: Update comments about Solaris.
16728         * m4/log.m4: Likewise.
16729         * m4/log10.m4: Likewise.
16730         * m4/logb.m4: Likewise.
16731         * m4/logbf.m4: Likewise.
16732         * m4/logbl.m4: Likewise.
16733         * m4/rename.m4: Likewise.
16734         * m4/wcrtomb.m4: Likewise.
16735         * m4/hostent.m4: Likewise.
16736         * m4/servent.m4: Likewise.
16738 2018-10-14  Bruno Haible  <bruno@clisp.org>
16740         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
16741         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
16742         pointer.
16743         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
16744         pointer.
16745         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
16746         pointer.
16747         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
16748         pointer.
16749         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
16750         pointer.
16752 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
16754         bootstrap: fix wget command for po files.
16755         * build-aux/bootstrap (po_download_command_format): Fix comment,
16756         and adjust callers.
16758 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
16760         timevar: improve the output format
16761         Suggested by Bruno Haible.
16762         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
16763         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
16764         wall, since its resolution is much higher.
16766 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
16768         timevar: expect that getrusage is available.
16769         Don't keep both times and getrusage as backend: both are guaranteed by
16770         gnulib, a single one suffices.  Using getrusage is open to possibly
16771         tracking other types of resources in the future.
16772         * modules/timevar (Depends-on): Add getrusage.
16773         (configure.ac): Remove gl_TIMEVAR.
16774         (Files): Remove m4/timevar.m4.
16775         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
16776         * lib/timevar.h (timevar_enabled): Clarify documentation.
16777         * lib/timevar.c: Remove all the code about times.
16778         Remove all the CPP guards about getrusage: expect it to be present
16779         (courtesy of gnulib).
16781 2018-10-12  Bruno Haible  <bruno@clisp.org>
16783         mountlist: Improve support for Solaris in 64-bit mode.
16784         Reported by David Wood <David.Wood@deshaw.com> in
16785         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
16786         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
16787         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
16788         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
16790 2018-10-12  Bruno Haible  <bruno@clisp.org>
16792         mountlist: Add support for Minix.
16793         Reported by Assaf Gordon in
16794         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
16795         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
16796         AC_CHECK_FUNCS to check for 'getmntinfo'.
16797         * lib/mountlist.c: Update comments.
16799 2018-10-12  Bruno Haible  <bruno@clisp.org>
16801         Make better use of Autoconf.
16802         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
16803         * m4/manywarnings.m4: Likewise.
16804         * m4/manywarnings-c++.m4: Likewise.
16805         * m4/socklen.m4: Likewise.
16806         * m4/sockpfaf.m4: Likewise.
16807         * m4/stdarg.m4: Likewise.
16808         * m4/visibility.m4: Likewise.
16809         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
16810         indentation.
16811         * m4/ls-mntd-fs.m4: Likewise.
16813 2018-10-11  Bruno Haible  <bruno@clisp.org>
16815         mountlist: Modernize platform lists.
16816         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
16817         platforms, deemphasizing the obsolete ones.
16818         * lib/mountlist.c: Likewise.
16820 2018-10-11  Bruno Haible  <bruno@clisp.org>
16822         getprogname: Add support for 32-bit programs on HP-UX.
16823         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
16824         try the similar functions 32-bit programs on 64-bit HP-UX.
16826 2018-10-11  Bruno Haible  <bruno@clisp.org>
16828         getprogname: Work around program name truncation when possible.
16829         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
16830         possibly use pst_cmd instead.
16832 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
16834         fts: cleanup after FTS_NOATIME removal
16835         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
16836         (FTS_STOP): Shrink to minimal values.  We don’t need to
16837         worry about binary compatibility in Gnulib, and the old way
16838         of doing things had a hole in the user options that caused
16839         FTS_OPTIONMASK to not work as desired.
16841 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
16843         fts: remove FTS_NOATIME
16844         This reverts commit da4d6974013c822af1498941e32db774b2031765.
16845         We cannot guarantee that O_NOATIME works: e.g. openat fails
16846         with EPERM if the effective user ID of the caller does not match
16847         the owner of the file and the caller is not privileged.
16848         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
16849         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
16850         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
16851         (FTS_OPTIONMASK): Adjust.
16852         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
16853         (fd_ring_check): Likewise.
16855 2018-10-08  Bruno Haible  <bruno@clisp.org>
16857         csharpcomp*, csharpexec*: Remove support for pnet.
16858         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
16859         HAVE_CSCC.
16860         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
16861         Don't test HAVE_CSCC.
16862         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
16863         (compile_csharp_class): Don't invoke it.
16864         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
16865         HAVE_ILRUN.
16866         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
16867         Don't test HAVE_ILRUN.
16868         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
16869         (execute_csharp_program): Don't invoke it.
16870         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
16871         any more.
16873 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
16875         renameatu: prefer renameat2 to syscall
16876         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
16877         Use renameat2 instead of syscall (Bug#32796).
16878         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
16880 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
16882         bootstrap, gnulib-tool: use https instead of insecure rsync
16883         * build-aux/bootstrap (download_po_files, po_download_command_format):
16884         Don't try using rsync; always use wget over https to fetch PO files.
16885         * gnulib-tool (func_import): Likewise.
16886         * pygnulib/GLImport.py (GLImport.execute): Likewise.
16888 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
16890         bootstrap, gnulib-tool: correct the translations wget command
16891         * build-aux/bootstrap (po_download_command_format2): Restrict
16892         recursion to a single level.
16893         * gnulib-tool (func_import): Likewise.
16894         * pygnulib/GLImport.py (GLImport.execute): Likewise.
16896 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
16898         doc: the gnulib snapshots are not maintained
16899         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
16901 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
16903         timevar: add to lib_SOURCES
16904         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
16906 2018-10-07  Bruno Haible  <bruno@clisp.org>
16908         dirent: Update documentation.
16909         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
16911 2018-10-05  Bruno Haible  <bruno@clisp.org>
16913         strpbrk: Make it possible to namespace the defined symbol.
16914         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
16916 2018-10-05  Bruno Haible  <bruno@clisp.org>
16918         strcspn: Make it possible to namespace the defined symbol.
16919         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
16921 2018-10-05  Bruno Haible  <bruno@clisp.org>
16923         raise: Make it possible to namespace the defined symbol.
16924         * lib/raise.c (raise): Undefine only after the replacement function has
16925         been defined.
16926         (raise): Renamed from rpl_raise.
16927         (raise_nothrow): Move to the end of the compilation unit.
16929 2018-10-05  Bruno Haible  <bruno@clisp.org>
16931         memcmp: Make it possible to namespace the defined symbol.
16932         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
16934 2018-10-05  Bruno Haible  <bruno@clisp.org>
16936         explicit_bzero: Make it possible to namespace the defined symbol.
16937         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
16938         glibc.
16940 2018-10-05  Bruno Haible  <bruno@clisp.org>
16942         mkdir-p: Depend on 'mkdir'.
16943         * modules/mkdir-p (Depends-on): Add 'mkdir'.
16945 2018-10-05  Bruno Haible  <bruno@clisp.org>
16947         tempname: Depend on 'mkdir'.
16948         Reported by Maarten Bosmans <mkbosmans@gmail.com>
16949         at <https://savannah.gnu.org/bugs/?33379>.
16950         * modules/tempname (Depends-on): Add 'mkdir'.
16952 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
16954         timevar: rely on gnulib modules for time portability.
16955         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
16956         * m4/timevar.m4: Don't check for clock_t and struct tms,
16957         guaranteed by gnulib.
16958         * lib/timevar.h: Use extern "C" protection.
16959         Include <stdio.h> for FILE.
16960         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
16961         they are guaranteed by gnulib.
16962         Remove uses of clock as (now useless) fallback.
16964 2018-10-04  Bruno Haible  <bruno@clisp.org>
16966         sh-filename: New module.
16967         * m4/sh-filename.m4: New file.
16968         * modules/sh-filename: New file.
16969         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
16970         "/bin/sh".
16971         * tests/test-posix_spawn1.c (main): Likewise.
16972         * tests/test-posix_spawn2.c (main): Likewise.
16973         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
16974         is_envjavac_gcj43): Likewise.
16975         * lib/javaexec.c (execute_java_class): Likewise.
16976         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
16977         * modules/posix_spawnp-tests (Depends-on): Likewise.
16978         * modules/javacomp (Depends-on): Likewise.
16979         * modules/javaexec (Depends-on): Likewise.
16981 2018-10-04  Bruno Haible  <bruno@clisp.org>
16983         spawn-pipe tests: Avoid test failure on native Windows.
16984         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
16985         that fd 2 is closed.
16987 2018-10-04  Bruno Haible  <bruno@clisp.org>
16989         fcntl: Make it possible to namespace the defined symbol.
16990         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
16991         been defined.
16992         (fcntl): Renamed from rpl_fcntl.
16993         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
16994         from fcntl.
16995         (klibc_fcntl): Move to the end of the compilation unit.
16997 2018-10-02  Bruno Haible  <bruno@clisp.org>
16999         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
17000         * tests/test-vasnprintf.c (test_function): Change the test added on
17001         2018-09-23 to check only the 18 most significant digits.
17003         vasnprintf tests: Avoid test failure on Cygwin.
17004         * tests/test-vasnprintf.c (test_function): Change the test added on
17005         2018-09-23 to check only the 42 most significant digits.
17007 2018-10-01  Bruno Haible  <bruno@clisp.org>
17009         mkostemp, mkostemps: Update documentation.
17010         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
17011         * doc/glibc-functions/mkostemps.texi: Likewise.
17013 2018-10-01  Tom Tromey  <tom@tromey.com>
17015         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
17016         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
17017         on OS X.
17019 2018-09-30  Pádraig Brady  <P@draigBrady.com>
17021         hmac-*: refactor to remove repetitive code
17022         * lib/hmac.c: A new parameterized single implementation.
17023         * lib/hmac-md5.c: Define parameters and include implementation.
17024         * lib/hmac-sha1.c: Likewise.
17025         * lib/hmac-sha256.c: Likewise.
17026         * lib/hmac-sha512.c: Likewise.
17027         * modules/crypto/hmac-md5: Reference the new implementation file.
17028         * modules/crypto/hmac-sha1: Likewise.
17029         * modules/crypto/hmac-sha256: Likewise.
17030         * modules/crypto/hmac-sha512: Likewise.
17031         * tests/test-hmac-md5.c: Refactor common code to a single function.
17032         * tests/test-hmac-sha1.c: Likewise.
17033         * tests/test-hmac-sha256.c: Likewise.
17034         * tests/test-hmac-sha512.c: Likewise.
17036 2018-09-30  Zhang Qing  <zhangqingl@126.com>
17038         hmac-sha512: fix hash for keys > blocksize (128 bytes)
17039         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
17040         key length to that output by sha512, not the blocksize.
17041         Otherwise uninitialized data from the stack
17042         is used when computing the hash.
17043         * tests/test-hmac-sha512.c: Add a shortened key test case.
17044         Reported at https://github.com/coreutils/gnulib/pull/5
17046 2018-09-30  Bruno Haible  <bruno@clisp.org>
17048         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
17049         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
17050         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
17051         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
17052         'unsigned int' before comparison with an unsigned value.
17054 2018-09-30  Bruno Haible  <bruno@clisp.org>
17056         grantpt: Remove unnecessary dependency.
17057         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
17059 2018-09-30  Bruno Haible  <bruno@clisp.org>
17061         timevar: Small tweaks.
17062         * lib/timevar.h: Fix comments. Add parameter names to function
17063         declarations.
17064         * lib/timevar.c: Include timevar.h immediately after config.h.
17065         * lib/timevar.def: Fix comments.
17066         * modules/timevar (Maintainer): List Akim Demaille.
17068 2018-09-30  Bruno Haible  <bruno@clisp.org>
17070         timevar: Include documentation in gnulib manual.
17071         * doc/timevar.texi: Change node and section name to 'Profiling of
17072         program phases'.
17073         In the code snippets, tweak the #includes and use GNU coding style.
17074         * doc/gnulib.texi: Include timevar.texi.
17076 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
17078         timevar: import from Bison.
17079         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
17080         New files.
17081         * lib/timevar.def: New file.
17082         * doc/timevar.texi: New file.
17084 2018-09-26  Bruno Haible  <bruno@clisp.org>
17086         javacomp-script, javacomp: Add preliminary support for Java 12..17.
17087         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
17088         * lib/javacomp.c (default_target_version): Likewise.
17090 2018-09-26  Bruno Haible  <bruno@clisp.org>
17092         javacomp-script, javacomp: Add support for Java 11.
17093         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
17094         target-version 11.
17095         * lib/javaversion.h: Update comments.
17096         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
17097         source_version_index, get_goodcode_snippet, get_failcode_snippet,
17098         TARGET_VERSION_BOUND, target_version_index,
17099         corresponding_classfile_version): Accept source_version 11 and
17100         target_version 11.
17101         * lib/javacomp.h: Update comments accordingly.
17103 2018-09-23  Bruno Haible  <bruno@clisp.org>
17105         vasnprintf: Fix heap memory overrun bug.
17106         Reported by Ben Pfaff <blp@cs.stanford.edu> in
17107         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
17108         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
17109         memory.
17110         * tests/test-vasnprintf.c (test_function): Add another test.
17112 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17114         maint: mktime.c now shared with glibc
17115         * config/srclist.txt: intprops.h, timegm.c and mktime.c
17116         are now the same in Gnulib and glibc.
17118         mktime: fix _LIBC typo
17119         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
17121 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17123         dfa: optimization for state merge
17124         * lib/dfa.c (merge2): New function.
17125         (merge_nfa_state): Use it.
17127 2018-09-18  Jim Meyering  <meyering@fb.com>
17129         dfa: trivial comment fix: s/is/if/
17130         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
17132 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17134         dfa: use more-informative function name
17135         * lib/dfa.c (maybe_disable_superset_dfa):
17136         Rename from dfautf8noss.  Use change.
17138         dfa: tweak allocation performance
17139         * lib/dfa.c (merge_nfa_state, dfaoptimize):
17140         Prefer ptrdiff_t for indexes some more.
17141         Use char for flags, as it’s wide enough.
17142         Allocate queue and flags together, with one malloc call.
17143         No need to use xnmalloc since the multiplication and
17144         addition cannot overflow (it’s already been checked by
17145         earlier allocation).  Prefer memset to open-coding.
17147         dfa: prune states as we go
17148         * lib/dfa.c (prune): Remove.
17149         dfa: reorder enum for efficiency
17150         (merge_nfa_state): Prune as we go instead of at the end.
17151         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
17153         * lib/dfa.c (END): Now -1 again.  Reorder other elements
17154         of the enumeration to make it easier for GCC to generate
17155         efficient code by using fewer comparisons to check for
17156         ranges of values.
17157         (atom): Take advantage of the reordering.
17159 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17161         dfa: optimize alternation in NFA
17162         Even when similar states exist in alternation, the DFA treats them
17163         as separate items, which may complicate the transition in NFA and
17164         cause slowdown.  This change assembles the states into one.  For
17165         example, ab|ac is changed into a(b|c).  This change speeds-up
17166         matching for many branched patterns.  For example, grep speeds up
17167         more than 30× in:
17169           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
17170           time -p env LC_ALL=C grep -vf in in
17172         * lib/dfa.c (prune): New function.
17173         (merge_nfa_state): New function.  It merges similar NFA states.
17174         (dfaoptimize): New function.  It seeks merged and removed nodes.
17175         (dfaanalyze): Call new function.
17176         (dfautf8noss): Change name from dfaoptimize because of addition of new
17177         function.
17178         (dfacomp): Update caller.
17180         dfa: simplify initial state
17181         Simplifying the initial state enables easier optimization of the NFA.
17182         * lib/dfa.c (enum token): Add new element BEG.
17183         (prtok): Adjust due to adding element BEG.
17184         (dfaparse): Put BEG at a head of tokens.
17185         (state_index): Adjust due to adding element BEG.
17186         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
17187         build initial state.
17188         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
17190 2018-09-18  Bruno Haible  <bruno@clisp.org>
17192         file-has-acl: Fix test failure on Cygwin 2.9.
17193         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
17194         * lib/acl-internal.h: Likewise.
17195         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
17196         * lib/acl-internal.c: Update comments regarding Cygwin.
17197         * lib/acl_entries.c: Likewise.
17198         * lib/file-has-acl.c: Likewise.
17199         (file_has_acl): For Cygwin, use a different way to determine whether
17200         the "default" ACL of a directory is nontrivial.
17201         * lib/get-permissions.c: Update comments regarding Cygwin.
17202         * lib/set-permissions.c: Likewise.
17204 2018-09-18  Bruno Haible  <bruno@clisp.org>
17206         stat-time tests: Fix test failure on Cygwin.
17207         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
17209 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17211         doc: OS X 10.11 lacked ns time functions
17212         According to <https://github.com/zeromq/libzmq/issues/2175>,
17213         nanosecond-resolution timestamp functions were introduced
17214         in macOS 10.12, so document the last version (OS X 10.11)
17215         where they were absent.
17217         gettime: nanotime never existed
17218         Problem reported by Bruno Haible in:
17219         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
17220         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
17221         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
17223 2018-09-18  Bruno Haible  <bruno@clisp.org>
17225         doc: Update statement about target platforms.
17226         Reported by Simon Sobisch.
17227         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
17228         restrictions on MSVC versions.
17230 2018-09-18  Bruno Haible  <bruno@clisp.org>
17232         posix_spawn tests: Fix link error on 64-bit Cygwin.
17233         * tests/test-posix_spawn1.c (environ): Remove declaration.
17234         * tests/test-posix_spawn2.c (environ): Likewise.
17235         * tests/test-posix_spawn3.c (environ): Likewise.
17236         * tests/test-posix_spawn4.c (environ): Likewise.
17237         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
17238         * modules/posix_spawnp-tests (Depends-on): Likewise.
17240 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17242         timespec: new function current_timespec
17243         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
17244         and don’t worry about it failing on a CLOCK_REALTIME arg.
17245         POSIX requires it to succeed and I don’t know of any
17246         counterexamples where the fallbacks would work.
17247         (current_timespec): New function, taken from Emacs.  It is more
17248         convenient than gettime, and can help register allocation.
17249         * lib/timespec.h: Include arg-nonnull.h.
17250         (current_timespec): New declaration.
17251         (gettime, settime): Declare args to be nonnull.
17252         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
17254 2018-09-16  Bruno Haible  <bruno@clisp.org>
17256         setlocale: Improve locale handling on macOS 10.12 or newer.
17257         * lib/setlocale.c: Include header files for CoreFoundation. Declare
17258         gl_locale_name_canonicalize.
17259         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
17260         and LC_MESSAGES.
17261         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
17263 2018-09-16  Bruno Haible  <bruno@clisp.org>
17265         Update list of locale names with scripts on macOS.
17266         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
17267         match Mac OS X 10.13 and recent glibc.
17269 2018-09-16  Bruno Haible  <bruno@clisp.org>
17271         gettext: Use newer macOS APIs when possible.
17272         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
17273         CFLocaleCopyPreferredLanguages.
17275 2018-09-16  Bruno Haible  <bruno@clisp.org>
17277         localename: Revisit macOS specific code.
17278         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
17279         Fix comments about Mac OS X versions.
17281 2018-09-15  Bruno Haible  <bruno@clisp.org>
17283         setlocale: Improve support for locales not supported by libc.
17284         Reported by Dapeng Gao <peter@dpgao.cc> at
17285         <https://savannah.gnu.org/bugs/?54479>.
17286         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
17287         (libintl_setlocale): Use a more error-tolerant strategy when the locale
17288         to be set is not supported by libc: Emit warnings instead of failing.
17290 2018-09-15  Bruno Haible  <bruno@clisp.org>
17292         strstr, strcasestr: Add workaround against glibc-2.28 bug.
17293         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
17294         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
17295         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
17296         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
17297         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
17298         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
17299         * doc/glibc-functions/strcasestr.texi: Likewise.
17301 2018-09-14  Bruno Haible  <bruno@clisp.org>
17303         doc: Fix bottom of top-level page.
17304         Reported by Akim Demaille <akim.demaille@gmail.com> in
17305         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
17306         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
17307         mode.
17308         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
17309         accordingly.
17311 2018-09-12  Bruno Haible  <bruno@clisp.org>
17313         Add test case from a recent glibc bug.
17314         * tests/test-strstr.c (main): Add test of long needle.
17315         * tests/test-strcasestr.c (main): Likewise.
17316         * tests/test-c-strstr.c (main): Likewise.
17317         * tests/test-c-strcasestr.c (main): Likewise.
17318         * tests/test-memmem.c (main): Likewise.
17320 2018-09-12  Bruno Haible  <bruno@clisp.org>
17322         Apply Eric Blake's improvements from 2011-02-25 to more tests.
17323         * tests/test-c-strstr.c (main): Add the same tests here as well.
17325 2018-09-12  Bruno Haible  <bruno@clisp.org>
17327         Apply Jim Meyering's fix from 2015-01-11 to more tests.
17328         * tests/test-memmem.c (main): Free haystack.
17329         * tests/test-strcasestr.c (main): Likewise.
17330         * tests/test-c-strcasestr.c (main): Likewise.
17332 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17334         xstrtol: fix missing-TYPE_SIGNED typo
17335         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
17337 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17339         timespec: fix resolution confusion
17340         In normal usage, clock resolution is given in seconds, but the
17341         code was mistakenly using inverse seconds and calling it
17342         “resolution”.  Fix this, partly by renaming two identifiers.
17343         The old names will be kept for a bit, to ease transition.
17344         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
17345         New constants, replacing TIMESPEC_RESOLUTION and
17346         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
17347         All uses changed.
17349 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17351         mktime: simplify in prep for glibc merge
17352         * lib/mktime.c, lib/timegm.c [_LIBC]:
17353         Include mktime-internal.h (a small file just for glibc)
17354         instead of using a typedef.
17356 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
17358         intprops: minor clarification of code
17359         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
17360         Use _GL_INT_CONVERT rather than reinventing it.
17362 2018-09-07  Bruno Haible  <bruno@clisp.org>
17364         Fix a comment.
17365         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
17367 2018-09-07  Bruno Haible  <bruno@clisp.org>
17369         posix_spawn_file_actions_addchdir: Add tests.
17370         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
17371         * tests/test-posix_spawn4.c: New file.
17372         * modules/posix_spawn_file_actions_addchdir-tests: New file.
17374 2018-09-07  Bruno Haible  <bruno@clisp.org>
17376         posix_spawn_file_actions_addchdir: New module.
17377         Suggested by Eric Blake in
17378         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
17379         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
17380         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
17381         union member 'chdir_action'.
17382         * lib/spawn_faction_addchdir.c: New file.
17383         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
17384         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
17385         HAVE_WORKING_POSIX_SPAWN.
17386         * lib/spawn_faction_adddup2.c: Likewise.
17387         * lib/spawn_faction_addopen.c: Likewise.
17388         * m4/posix_spawn_faction_addchdir.m4: New file.
17389         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
17390         'posix_spawn_file_actions_addchdir' is present and whether
17391         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
17392         instead of HAVE_WORKING_POSIX_SPAWN.
17393         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
17394         posix_spawn_file_actions_addchdir is declared.
17395         (gl_SPAWN_H_DEFAULTS): Initialize
17396         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17397         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17398         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
17399         * modules/spawn (Makefile.am): Substitute
17400         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17401         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17402         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
17403         * modules/posix_spawn_file_actions_addchdir: New file.
17404         * modules/posix_spawn_file_actions_addclose (Depends-on,
17405         configure.ac): Test also REPLACE_POSIX_SPAWN.
17406         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
17407         configure.ac): Likewise.
17408         * modules/posix_spawn_file_actions_addopen (Depends-on,
17409         configure.ac): Likewise.
17410         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
17411         signature.
17412         * doc/posix-functions/posix_spawn.texi: Mention the new module.
17413         * doc/posix-functions/posix_spawnp.texi: Likewise.
17415 2018-09-06  Bruno Haible  <bruno@clisp.org>
17417         stddef: Override max_align_t on NetBSD 8.0/x86.
17418         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
17419         the value of __alignof__ (max_align_t).
17420         * doc/posix-headers/stddef.texi: Mention the issue.
17422 2018-09-06  Bruno Haible  <bruno@clisp.org>
17424         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
17425         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
17426         system fcntl.
17427         * doc/posix-functions/fcntl.texi: Document the issue.
17429 2018-09-06  Bruno Haible  <bruno@clisp.org>
17431         count-trailing-zeros tests: Rely on limits-h module.
17432         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
17433         definition.
17434         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
17436 2018-09-06  Bruno Haible  <bruno@clisp.org>
17438         count-leading-zeros tests: Rely on limits-h module.
17439         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
17440         definition.
17441         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
17443 2018-09-06  Bruno Haible  <bruno@clisp.org>
17445         count-one-bits tests: Rely on limits-h module.
17446         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
17447         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
17449 2018-09-06  Bruno Haible  <bruno@clisp.org>
17451         xstrtoll: Rely on limits-h module.
17452         * lib/xstrtol.c: Don't include intprops.h.
17453         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
17454         * modules/xstrtol (Depends-on): Remove 'intprops'.
17455         * modules/xstrtoll (Depends-on): Add 'limits-h'.
17457 2018-09-06  Bruno Haible  <bruno@clisp.org>
17459         strtoll, strtoull: Rely on limits-h module.
17460         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
17461         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
17462         * modules/strtoll (Depends-on): Add limits-h.
17463         * modules/strtoull (Depends-on): Likewise.
17465 2018-09-06  Bruno Haible  <bruno@clisp.org>
17467         intprops tests: Fix compilation error with pre-C99 compiler.
17468         * tests/test-intprops.c (verify_stmt): New macro.
17469         (VERIFY, main): Use it.
17471 2018-09-06  Bruno Haible  <bruno@clisp.org>
17473         limits-h: Provide numerical limits macros.
17474         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
17475         IRIX and for GCC.
17476         (WORD_BIT, LONG_BIT): Define.
17477         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
17478         <limits.h> does not define LLONG_MAX or WORD_BIT.
17479         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
17480         TYPE_MAXIMUM): New macros, from intprops.h.
17481         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
17482         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
17483         provides.
17485 2018-09-05  Bruno Haible  <bruno@clisp.org>
17487         fcntl: Don't access nonexistent optional argument.
17488         Reported by Frank Busse <f.busse@imperial.ac.uk> in
17489         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
17490         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
17491         don't consume an argument. For actions that take an 'int' argument,
17492         consume an 'int' argument.
17494 2018-09-05  Eric Blake  <eblake@redhat.com>
17496         doc: mention environ pitfall
17497         * doc/posix-functions/environ.texi (environ): Assigning NULL to
17498         environ is a glibc extension.
17500 2018-09-03  Bruno Haible  <bruno@clisp.org>
17502         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
17503         Reported by Antoine Luong <antoine.luong@c-s.fr> in
17504         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
17505         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
17506         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
17507         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
17509 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17511         mktime: fix unlikely race+overflow bug
17512         Problem reported by Alexandre Oliva in:
17513         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
17514         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
17515         to avoid an unlikely race if the compiler delays a load and
17516         if this cascades into a signed integer overflow.
17518 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17520         mktime, timegm: simplify glibc time64_t
17521         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
17522         Now long int, not time_t, since long int is the longstanding type
17523         for this in glibc and there is no need to change it even if time_t
17524         becomes 64 bits - even int would do, though this would be a change
17525         to the glibc generated code.  When this change is merged into
17526         glibc, it should simplify the time_t vs time64_t situation.
17528         mktime, timegm: simplify merge to glibc
17529         Move code around to make a merge to glibc easier to audit.
17530         This should not change behavior.
17531         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
17532         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
17533         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
17534         simplify later conditionals; default the others to zero.  In uses
17535         of these conditionals, explicitly spell out how _LIBC affects
17536         things, so it’s easier to review from a glibc viewpoint.
17537         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
17538         compartmentalize tzset issues.  Move system-dependent tzsettish
17539         code here from mktime.
17540         (mktime): Move tzsettish code to my_tzset, and move
17541         localtime_offset to within mktime so that it doesn’t
17542         need a separate ifdef.
17544 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
17546         intprops: avoid evaluation of some expressions
17547         This makes EXPR_SIGNED (e) easier to use, as it no longer
17548         evaluates the expression E.  Formerly, E was required to be free
17549         of side effects.
17550         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
17551         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
17552         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
17554 2018-08-23  Bruno Haible  <bruno@clisp.org>
17556         getcwd: Add cross-compilation guesses.
17557         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
17558         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
17559         Based on a patch by Paul Eggert.
17560         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
17561         guesses for all GNU systems.
17563 2018-08-19  Bruno Haible  <bruno@clisp.org>
17565         glob-h: Formalize side effects from other modules.
17566         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
17567         * m4/glob.m4 (gl_GLOB): Invoke it.
17569         fnmatch-h: Formalize side effects from other modules.
17570         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
17571         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
17573         limits-h: Formalize side effects from other modules.
17574         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
17575         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
17577 2018-08-19  Bruno Haible  <bruno@clisp.org>
17579         getpass: Move declaration to <unistd.h>.
17580         * lib/unistd.in.h (getpass): New declaration.
17581         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
17582         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
17583         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
17584         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
17585         On glibc systems, don't set REPLACE_GETPASS to 1.
17586         * modules/getpass (Depends-on): Add 'unistd'.
17587         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
17588         (Include): Specify <unistd.h> instead of "getpass.h".
17589         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
17590         (configure.ac): Sync with the configure.ac section of modules/getpass.
17591         (Include): Specify <unistd.h> instead of "getpass.h".
17592         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
17593         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
17594         REPLACE_GETPASS.
17595         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
17596         REPLACE_GETPASS.
17597         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
17598         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
17599         and musl.
17600         * NEWS: Mention the change.
17602 2018-08-19  Bruno Haible  <bruno@clisp.org>
17604         glob: Fix over-optimization due to attribute __nonnull__.
17605         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
17607 2018-08-19  Bruno Haible  <bruno@clisp.org>
17609         glob: Fix another compilation error when glob.h is not replaced.
17610         Reported by Reuben Thomas <rrt@sc3d.org> in
17611         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
17612         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
17613         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
17615 2018-08-18  Bruno Haible  <bruno@clisp.org>
17617         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
17618         Reported by Reuben Thomas <rrt@sc3d.org> in
17619         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
17620         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
17621         in config.h.
17623 2018-08-18  Bruno Haible  <bruno@clisp.org>
17625         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
17626         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
17627         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
17628         Solution proposed by Eli Zaretskii.
17629         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
17630         * lib/gettimeofday.c (GetProcAddress): Likewise.
17631         * lib/link.c (GetProcAddress): Likewise.
17632         * lib/physmem.c (GetProcAddress): Likewise.
17633         * lib/poll.c (GetProcAddress): Likewise.
17634         * lib/select.c (GetProcAddress): Likewise.
17635         * lib/stat-w32.c (GetProcAddress): Likewise.
17637 2018-08-18  Bruno Haible  <bruno@clisp.org>
17639         glob: Fix another compilation error when glob.h is not replaced.
17640         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
17641         * lib/globfree.c: Include <libc-config.h>.
17643 2018-08-18  Bruno Haible  <bruno@clisp.org>
17645         glob: Fix compilation error when glob.h is not replaced.
17646         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
17647         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
17648         * lib/glob_pattern_p.c: Include <libc-config.h>.
17649         * modules/glob (Depends-on): Add libc-config.
17651 2018-08-18  Bruno Haible  <bruno@clisp.org>
17653         scratch_buffer: Add tests.
17654         * tests/test-scratch-buffer.c: New file.
17655         * modules/scratch_buffer-tests: New file.
17657 2018-08-18  Bruno Haible  <bruno@clisp.org>
17659         scratch_buffer: Fix include file.
17660         Reported by Reuben Thomas <rrt@sc3d.org> in
17661         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
17662         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
17663         double-inclusion guard.
17665 2018-08-18  Bruno Haible  <bruno@clisp.org>
17667         glob-h: Revert Paul Eggert's revert.
17668         * m4/glob_h.m4: Revert to previous state.
17669         * modules/glob-h: Likewise.
17671 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
17673         glob-h: always build glob.h
17674         This works around a problem reported by Reuben Thomas in:
17675         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
17676         This workaround always builds glob.h, even on platforms that
17677         do not need it; perhaps this could be improved someday.
17678         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
17679         is always created now.
17680         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
17682 2018-08-13  Bruno Haible  <bruno@clisp.org>
17684         monetary: Simplify m4 code.
17685         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
17686         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
17688 2018-08-13  Bruno Haible  <bruno@clisp.org>
17690         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
17691         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
17692         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
17693         and by Paul J. Lucas <paul@lucasmail.org> in
17694         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
17695         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
17697 2018-08-11  Bruno Haible  <bruno@clisp.org>
17699         setlocale: Trivial simplification.
17700         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
17702 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17704         verify: port 'assume' to traditional tools
17705         * lib/verify.h (assume): Port better to Oracle Studio 12.6
17706         and other tools that use /*NOTREACHED*/ comments.
17708 2018-08-10  Bruno Haible  <bruno@clisp.org>
17710         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
17711         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
17712         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
17713         'fnmatch-gnu' is in use.
17715 2018-08-07  Bruno Haible  <bruno@clisp.org>
17717         glob-h: Add tests.
17718         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
17719         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
17720         tests/test-glob-h.c.
17721         * modules/glob-h-tests: New file.
17722         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
17723         conditions.
17724         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
17725         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
17727 2018-08-07  Bruno Haible  <bruno@clisp.org>
17729         glob-h: New module.
17730         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
17731         replacements.
17732         * lib/glob.c: Include <config.h>.
17733         * m4/glob_h.m4: New file.
17734         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
17735         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
17736         REPLACE_GLOB_PATTERN_P as appropriate.
17737         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
17738         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
17739         * modules/glob-h: New file.
17740         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
17741         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
17742         lstat, sys_stat. Change conditions.
17743         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
17744         REPLACE_GLOB_PATTERN_P. Set module indicator.
17745         (Makefile.am): Remove code that is moved to glob-h.
17746         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
17747         * modules/posixcheck (Depends-on): Add glob-h.
17749 2018-08-06  Bruno Haible  <bruno@clisp.org>
17751         Force generation of substitute .h file when C++ support is enabled.
17752         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
17753         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
17754         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
17755         FNMATCH_H to non-empty.
17756         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
17757         ICONV_H to non-empty.
17758         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
17759         MONETARY_H to non-empty.
17760         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
17761         non-empty.
17763 2018-08-06  Bruno Haible  <bruno@clisp.org>
17765         fnmatch-h: Fix test compilation error on mingw (regression from today).
17766         * lib/fnmatch.in.h: Fix conditions.
17768 2018-08-06  Bruno Haible  <bruno@clisp.org>
17770         sys_resource: Relicense under LGPLv2+.
17771         John Malmberg's approval is in
17772         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
17773         * modules/sys_resource (License): Change to LGPLv2+.
17775 2018-08-06  Bruno Haible  <bruno@clisp.org>
17777         fnmatch-h: Add tests.
17778         * tests/test-fnmatch-h.c: New file.
17779         * modules/fnmatch-h-tests: New file.
17780         * tests/test-fnmatch-h-c++.cc: New file.
17781         * modules/fnmatch-h-c++-tests: New file.
17783 2018-08-06  Bruno Haible  <bruno@clisp.org>
17785         fnmatch-h: New module.
17786         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
17787         replacements.
17788         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
17789         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
17790         'posixcheck' warning.
17791         * m4/fnmatch_h.m4: New file.
17792         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
17793         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
17794         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
17795         as appropriate.
17796         * modules/fnmatch-h: New file.
17797         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
17798         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
17799         conditions.
17800         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
17801         indicator.
17802         (Makefile.am): Remove code that is moved to fnmatch-h.
17803         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
17804         REPLACE_FNMATCH.
17805         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
17806         * modules/posixcheck (Depends-on): Add fnmatch-h.
17808 2018-08-06  Bruno Haible  <bruno@clisp.org>
17810         Enable more C++ tests.
17811         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
17812         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
17813         * modules/strings-tests (Depends-on): Add strings-c++-tests.
17814         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
17815         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
17817 2018-08-06  Bruno Haible  <bruno@clisp.org>
17819         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
17820         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
17821         getopt.h.
17822         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
17824 2018-08-05  Bruno Haible  <bruno@clisp.org>
17826         utime-h: Generate header file when module 'posixcheck' is in use.
17827         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
17828         UTIME_H to non-empty.
17830 2018-08-05  Bruno Haible  <bruno@clisp.org>
17832         monetary: Generate header file when module 'posixcheck' is in use.
17833         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
17834         use, set MONETARY_H to non-empty.
17836 2018-08-05  Bruno Haible  <bruno@clisp.org>
17838         iconv-h: Generate header file when module 'posixcheck' is in use.
17839         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
17840         set ICONV_H to non-empty.
17842 2018-08-05  Bruno Haible  <bruno@clisp.org>
17844         Optimize the "checking whether ... is declared without a macro" checks.
17845         Suggested by Paul Eggert in
17846         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
17847         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
17848         Gnulib module 'posixcheck' is not in use.
17850 2018-08-05  Bruno Haible  <bruno@clisp.org>
17852         iconv-h: Enable 'posixcheck' warnings.
17853         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
17854         iconv_open.
17855         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
17857 2018-08-05  Bruno Haible  <bruno@clisp.org>
17859         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
17860         * m4/extern-inline.m4: Add more comments.
17861         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
17862         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
17863         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
17865 2018-08-04  Bruno Haible  <bruno@clisp.org>
17867         New module 'posixcheck'.
17868         * modules/posixcheck: New file.
17869         * m4/posixcheck.m4: New file.
17870         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
17871         (Which modules?): Reference it.
17873 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
17875         dfa: fix memory leak
17876         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
17878 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
17880         ieee754-h: new module
17881         It looks like Emacs can use this for some NaN processing.
17882         Emacs uses it only on double NaNs so it should be safe.
17883         * MODULES.html.sh (func_all_modules): Add ieee754-h.
17884         * config/srclist.txt: Mention ieee754.h in a comment.
17885         * doc/glibc-headers/ieee754.texi (ieee754.h):
17886         Gnulib now has a substitute that should work
17887         except for long double and for non-IEEE platforms.
17888         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
17889         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
17891 2018-07-27  Bruno Haible  <bruno@clisp.org>
17893         iswcntrl: Mention minor problem on macOS.
17894         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
17896 2018-07-26  Colin Watson  <cjwatson@debian.org>
17898         bootstrap, gnulib-tool: fix translations rsync
17899         Previously, we created files such as $pobase/Makefile.in.in and then the
17900         subsequent rsync would immediately delete them.
17901         * build-aux/bootstrap (po_download_command_format): Avoid deleting
17902         non-.po files in target directory when rsyncing translations.
17903         * gnulib-tool (func_import): Likewise.
17904         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17906 2018-07-25  Jim Meyering  <meyering@fb.com>
17908         bootstrap: reinstate definition fo gnulib_mk.
17909         That variable is used at least by cppi.
17910         * build-aux/bootstrap (gnulib_mk): Restore definition.
17911         This reverts the deletion from v0.1-1844-gc66dba9ba.
17913 2018-07-23  Bruno Haible  <bruno@clisp.org>
17915         doc: For module names, use texinfo markup @code{} or @samp{}.
17916         * doc/alloca.texi: Mark gnulib module names with @code.
17917         * doc/alloca-opt.texi: Likewise.
17918         * doc/quote.texi: Likewise.
17919         * doc/posix-functions/freopen.texi: Likewise.
17920         * doc/posix-functions/open.texi: Likewise.
17921         * doc/posix-functions/readlink.texi: Likewise.
17922         * doc/posix-functions/readlinkat.texi: Likewise.
17923         * doc/posix-functions/stdout.texi: Likewise.
17924         * doc/posix-functions/stderr.texi: Likewise.
17925         * doc/posix-functions/unlink.texi: Likewise.
17926         * doc/posix-functions/unlinkat.texi: Likewise.
17927         * doc/posix-functions/utime.texi: Likewise.
17928         * doc/posix-functions/utimensat.texi: Likewise.
17929         * doc/posix-functions/utimes.texi: Likewise.
17930         * doc/posix-headers/stdint.texi: Likewise.
17931         * doc/glibc-functions/futimesat.texi: Likewise.
17932         * doc/glibc-functions/lutimes.texi: Likewise.
17933         * doc/glibc-functions/memmem.texi: Likewise.
17935 2018-07-23  Werner LEMBERG  <wl@gnu.org>
17937         doc: Avoid some overfull lines in the TeX output.
17938         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
17939         @example.
17940         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
17941         newline before the long URL.
17942         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
17943         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
17944         Add line breaks in code snippets.
17946 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
17948         hard-locale: simplify by removing hard-locale.m4
17949         * m4/hard-locale.m4: Remove.
17950         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
17951         (configure.ac): Do not call gl_HARD_LOCALE.
17953         gnulib-tool: limit line length for git send-email
17954         * gnulib-tool (func_import): Break actioncmd log line
17955         into multiple lines.
17957 2018-07-16  Bruno Haible  <bruno@clisp.org>
17959         ffs: Ensure declaration on mingw.
17960         Reported by Daniel P. Berrangé <berrange@redhat.com>
17961         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
17962         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
17963         also declared.
17965 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
17967         regex-tests: add dependency
17968         * modules/regex-tests (Depends-on): Add gettext-h.
17969         This is needed given the recent changes to regex,
17970         which no longer depends on gettext-h.
17972 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17974         regex: now in sync with glibc
17975         * config/srclist.txt: Gnulib and glibc regex code
17976         are synchronized again.
17978 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
17980         renameatu: rename from renameat2
17981         It's looking like Glibc will add a renameat2 function
17982         that is incompatible with Gnulib renameat2; see:
17983         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
17984         To help avoid future confusion, rename renameat2 to something else.
17985         Use the name 'renameatu', as the Gnulib function is close to the
17986         Glibc function.  Perhaps someday there will also be a renameat2
17987         Gnulib module, which mimicks the future glibc renameat2, but that
17988         can wait as nobody seems to need such a module now.
17989         * NEWS: Mention this.
17990         * lib/renameatu.c: Rename from lib/renameat2.c.
17991         * lib/renameatu.h: Rename from lib/renameat2.h.
17992         * modules/renameatu: Rename from modules/renameat2.
17993         * modules/renameatu-tests: Rename from modules/renameat2-tests.
17994         All uses of "renameat2" in identifiers or file name
17995         changed to "renameatu", except for two instances in
17996         lib/renameatu.c that deal with the Linux kernel's
17997         renameat2 syscall.
17999 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18001         gnulib-tool: minor tweaks for --gnu-make
18002         * gnulib-tool: Do not allow --gnu-make in test modes,
18003         since they all require automake.
18004         (func_emit_lib_Makefile_am): Don’t emit automake comment
18005         if --gnu-make.
18007         regex: work around conditional-dependencies glitch
18008         * modules/regex (Depends-on): Add langinfo.
18009         Without this change, I had problems building an experimental
18010         version of GNU Emacs.  The symptom of the bug was a message
18011         ‘./configure: line 12726: test: =: unary operator expected’.
18012         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
18013         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
18014         was unset.  Although gl_FUNC_NL_LANGINFO has
18015         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
18016         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
18017         --conditional-dependencies sometimes arranges for the
18018         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
18019         code.  Since the regex code includes <langinfo.h> it should be
18020         depending on the langinfo module anyway, and this happens to work
18021         around the bug, so install that as a workaround for now.  To
18022         reproduce the original problem, run the following shell script on
18023         the version of Gnulib just before this patch was installed.
18024                 rm -fr foo
18025                 mkdir foo
18026                 cat >foo/configure.ac <<'EOF'
18027                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
18028                 gl_EARLY
18029                 gl_INIT
18030                 AC_OUTPUT
18031                 EOF
18032                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
18033                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
18034                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
18035                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
18036                 cd foo
18037                 aclocal -I m4
18038                 autoconf
18039                 ./configure --with-included-regex
18041 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18043         wchar: fix bug when checking for ‘inline’
18044         I discovered this when looking into using the regex module
18045         with Emacs.
18046         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
18047         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
18048         conftest1.c and conftest2.c but these files were not created.
18049         As far as I can see, this check never worked and nobody reported
18050         it until now, which is a bit worrisome.
18052 2018-06-30  Jim Meyering  <meyering@fb.com>
18054         bootstrap: s/--option val/--option=val/
18055         * build-aux/bootstrap (gnulib_tool_options): Change the
18056         spelling of "--option val" pairs to "--option=val", for
18057         aesthetics, and also so that this file no longer triggers
18058         a common help2man syntax-check warning when copied into
18059         projects like grep, gzip, etc.
18061 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18063         manywarnings: omit -Wswitch-default
18064         This should make things more consistent, as we already ignore
18065         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
18066         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
18067         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
18068         Add -Wswitch-default.
18069         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
18070         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18071         Remove -Wswitch-default.
18073         regex: revert most trimming
18074         Problems reported by Bruno Haible in:
18075         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
18076         * modules/regex (Depends-on): Add lock, memcmp, memmove,
18077         and wctype back in.  lock because regex users shouldn’t
18078         need to know that regex needs locking, and the rest because
18079         gnulib-tool should ordinarily ignore them anyway.
18081 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18083         regex: trim module dependencies
18084         * modules/regex (Depends-on): Remove gettext-h and lock,
18085         since the regex code should work OK without these modules,
18086         and Emacs uses it that way.  Also remove memcmp, memmove,
18087         and wctype, as these modules are obsolete and should not be
18088         needed any more.
18090 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
18092         regex: glibc does not use intprops.h
18093         Maybe we can talk glibc into using intprops.h someday, but
18094         now doesn’t seem to be a good time.
18095         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
18096         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
18097         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
18099 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
18101         regex: port to recently proposed glibc regex merge
18102         This patch is inspired by Adhemerval Zanella's recent proposal
18103         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
18104         to merge glibc and Gnulib regex.  It aims to simplify the merge on
18105         the glibc side, without keeping Gnulib portable.
18106         * lib/regex.h: Fix a problem with glibc installed-header checking,
18107         as follows:
18108         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
18109         (_Restrict_arr_): Prefer __restrict_arr if defined,
18110         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
18111         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
18112         (build_wcs_upper_buffer, build_upper_buffer)
18113         (re_string_translate_buffer, re_string_context_at):
18114         Move decls here from lib/regex_internal.h, for glibc internal tests.
18115         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
18116         glibc BZ #18496.
18117         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
18118         -Wunused-value.
18119         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
18120         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
18121         (bitset_mask): Now static inline, and without any __attribute__
18122         ((unused)) decoration, for glibc internal tests.
18124 2018-06-25  Bruno Haible  <bruno@clisp.org>
18126         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
18127         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
18128         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
18129         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
18130         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
18131         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
18132         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
18133         / -lthread / -lpth does not get optimized away by a preceding
18134         --as-needed option.
18136 2018-06-25  Bruno Haible  <bruno@clisp.org>
18138         Continue to use spaces for indentation, not tabs.
18139         * MODULES.html.sh: Untabify.
18140         * doc/regex.texi: Likewise.
18141         * lib/acl-internal.c: Likewise.
18142         * lib/dfa.c: Likewise.
18143         * lib/exclude.c: Likewise.
18144         * lib/exclude.h: Likewise.
18145         * lib/get-permissions.c: Likewise.
18146         * lib/gettimeofday.c: Likewise.
18147         * lib/parse-datetime.y: Likewise.
18148         * lib/pselect.c: Likewise.
18149         * lib/set-permissions.c: Likewise.
18150         * lib/time.in.h: Likewise.
18151         * m4/canonicalize.m4: Likewise.
18152         * m4/gc.m4: Likewise.
18153         * m4/gnulib-common.m4: Likewise.
18154         * m4/pthread_sigmask.m4: Likewise.
18155         * m4/vararrays.m4: Likewise.
18156         * tests/test-digest.h: Likewise.
18157         * tests/test-fcntl-h.c: Likewise.
18158         * tests/test-timespec.c: Likewise.
18159         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
18161 2018-06-25  Bruno Haible  <bruno@clisp.org>
18163         manywarnings: Don't enable -Wjump-misses-init warnings by default.
18164         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
18165         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
18166         -Wjump-misses-init.
18168 2018-06-25  Jim Meyering  <meyering@fb.com>
18170         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
18171         * lib/acl-internal.h (free_permission_context): Remove that
18172         attribute directive.  Otherwise, it would provoke this from GCC 9:
18173         lib/acl-internal.h:300:3: error: 'const' attribute on function \
18174           returning 'void' [-Werror=attributes]
18176 2018-06-24  Jim Meyering  <meyering@fb.com>
18178         parse-datetime: accommodate gcc-4.8.5
18179         Bruno Haible reported the build failure in
18180         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
18181         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
18182         on declaration of new local.
18184 2018-06-24  Bruno Haible  <bruno@clisp.org>
18186         af_alg: Fail in continuable manner on Linux/powerpc64le.
18187         Reported by Assaf Gordon <assafgordon@gmail.com>
18188         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
18189         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
18190         byte send() as the first round.
18192 2018-06-24  Bruno Haible  <bruno@clisp.org>
18194         af_alg: Fix state of stream after sendfile() succeeds.
18195         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
18196         the stream is correctly positioned afterwards.
18197         * modules/crypto/af_alg (Depends-on): Add fflush.
18198         * tests/test-digest.h (test_digest_on_files): Verify that after the
18199         operation the stream is positioned at end of file.
18201 2018-06-24  Jim Meyering  <meyering@fb.com>
18203         canon-host: take GCC9's advice rather than ignoring warning
18204         Pádraig Brady suggested not to ignore this GCC9 advice.
18205         * lib/canon-host.c: Undo preceding change.
18206         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
18208         parse-datetime.y: avoid spurious GCC 9 warning
18209         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
18210         a function local prior to the first "goto fail".  The prior use would
18211         evoke this:
18212         parse-datetime.y: In function 'parse_datetime2':
18213         parse-datetime.y:1791:19: error: jump skips variable initialization \
18214           [-Werror=jump-misses-init]
18215         parse-datetime.y:2385:2: note: label 'fail' defined here
18216         parse-datetime.y:188:43: note: '({anonymous})' declared here
18217         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
18219         canon-host.c: avoid spurious GCC 9 warning
18220         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
18222         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
18223         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
18224         * m4/manywarnings.m4: Remove them.
18225         Otherwise, building coreutils, I would see this:
18226         cc1: error: deprecated command line option '-Wchkp' [-Werror]
18227         cc1: error: -Wabi won't warn about anything [-Werror=abi]
18228         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
18229           which is also used by default
18230         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
18232 2018-06-24  Bruno Haible  <bruno@clisp.org>
18234         af_alg tests: Add another test.
18235         * tests/test-digest.h (test_digest_on_files): Also check a large file
18236         with a skipped header.
18237         * tests/test-md5.c: Include macros.h.
18238         * tests/test-sha1.c: Likewise.
18239         * tests/test-sha256.c: Likewise.
18240         * tests/test-sha512.c: Likewise.
18241         * modules/crypto/md5-tests (Files): Add tests/macros.h.
18242         * modules/crypto/sha1-tests (Files): Likewise.
18243         * modules/crypto/sha256-tests (Files): Likewise.
18244         * modules/crypto/sha512-tests (Files): Likewise.
18246 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18248         maint: clarify comments about sticky EOF
18249         * lib/af_alg.c: Be more direct that we can't
18250         assume stickiness of EOF for portability reasons.
18251         * lib/md5.c: Clarify that this isn't just a glibc issue.
18252         * lib/sha1.c: Likewise.
18253         * lib/sha256.c: Likewise.
18254         * lib/sha512.c: Likewise.
18256 2018-06-24  Bruno Haible  <bruno@clisp.org>
18258         af_alg: Comment and style improvements.
18259         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
18260         (afalg_buffer, afalg_stream): Improve comments.
18262 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18264         af_alg: disable kernel hash functions by default
18265         All the kernel routines were seen to be significantly slower
18266         with these relatively recent components on an i3-2310M system:
18267           kernel-4.10.6-200.fc25.x86_64
18268           openssl-1.0.2m-1.fc25.x86_64
18269         sha1 was nearly twice as slow in the kernel for example.
18270         Further considerations why this should not be the default, at:
18271         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
18273         * m4/af_alg.m4: Require --with-linux-crypto to enable.
18274         * m4/gl-openssl.m4: Tweak accordingly.
18276 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18278         af_alg: avoid hangs when reading from streams
18279         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
18280         and thus avoid doing a fread() when feof() is set.
18281         * lib/md5.c: Ensure feof() is called before fread().
18282         * lib/sha1.c: Likewise.
18283         * lib/sha256.c: Likewise.
18284         * lib/sha512.c: Likewise.
18286 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18288         af_alg: fix error handling when hash not returned
18289         * lib/af_alg.c (afalg_stream): Handle the case where we've
18290         successfully written data to the kernel in the read/write loop,
18291         but the kernel doesn't respond with the hash.
18293 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18295         libc-config: merge from glibc
18296         * lib/cdefs.h (__inline, __restrict):
18297         Copy from current glibc.  This fixes glibc bug 17721,
18298         which Gnulib had already fixed in a different way.
18299         (__nonnull): Lessen the distance from glibc by using the
18300         glibc definition inside an ‘#ifndef __nonnull’.
18301         (__attribute_nonstring__): New macro, copied from
18302         current glibc.
18303         * lib/libc-config.h (__attribute_nonstring__): New undef.
18304         (__restrict): Remove; workaround no longer needed.
18305         Keep the __inline workaround, though, as it uses HAVE___INLINE to
18306         support more compilers than the glibc __inline can.
18308 2018-06-24  Bruno Haible  <bruno@clisp.org>
18310         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
18311         * lib/mbrtowc.c (enc_t): New enum type.
18312         (locale_enc, locale_enc_cached): New functions.
18313         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
18314         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
18315         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
18316         instead.
18317         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
18318         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
18319         * modules/wcwidth (configure.ac): Invoke it.
18321 2018-06-24  Bruno Haible  <bruno@clisp.org>
18323         wchar-single: Fix test failure in wcwidth tests.
18324         * tests/test-wcwidth.c (main): If the wchar-single module is present,
18325         skip the tests in the C locale.
18327 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18329         crypto: mention --without-linux-crypto in --with-openssl --help
18330         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
18331         routines take precedence in --with-openssl help output.
18333 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18335         wchar-single: a new module to enable optimizations in wchar replacements
18336         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
18337         GNULIB_WCHAR_SINGLE is enabled.
18338         * lib/wcwidth.c (wcwidth): Likewise.
18340 2018-06-23  Bruno Haible  <bruno@clisp.org>
18342         libc-config: Fix conflict with FreeBSD include files.
18343         * lib/cdefs.h (__nonnull): Remove definition.
18344         * lib/libc-config.h (__nonnull): Remove undefinition.
18346 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18348         random_r: do not crash if state is unaligned
18349         Problem reported by Bruce Korb in:
18350         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
18351         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
18352         with 'cc -O2 -xmemalign=8s'.
18353         * lib/random_r.c: Include string.h, for memcpy.
18354         (get_int32, set_int32): New functions.
18355         (__srandom_r, __initstate_r, __setstate_r, __random_r):
18356         Use them to avoid assumption that state pointer is aligned.
18357         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
18358         * tests/test-random_r.c (test_failed): New function.
18359         (main): Use it, to test for alignment bugs.
18361         random_r: omit unnecessary include
18362         * lib/random_r.c: Do not include limits.h.
18364         random, random_r: merge from glibc
18365         * lib/random.c, lib/random_r.c:
18366         Include libc-config.h if !_LIBC, not config.h unilaterally.
18367         * lib/random.c:
18368         Do not include stdint.h or time.h; not needed.
18369         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
18370         (unsafe_state): Rename from generator.  All uses changed.
18371         Use C99-style initializers.
18372         (__random, __srandom, __initstate, __setstate): Rename from
18373         non-underscored version, but define it to non-underscored version
18374         on Gnulib.  Add a lock.
18375         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
18376         Likewise.
18377         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
18378         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
18379         (__srandom_r): Use int32_t instead of long int where int32_t will do.
18380         (__random_r): Use uint32 to fix glibc bug 17343.
18381         * modules/random, modules/random_r (Depends-on): Add libc-config.
18382         Depend on stdint only if $HAVE_RANDOM = 0.
18384 2018-06-19  Jim Meyering  <meyering@fb.com>
18386         README-release: also run any check-very-expensive tests
18387         * top/README-release: Adjust instructions so they run the
18388         check-very-expensive tests when there is such a target.
18390 2018-06-18  Bruno Haible  <bruno@clisp.org>
18392         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
18393         * m4/pthread_rwlock_rdlock.m4: Add comment.
18394         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
18395         are reader-preferring in glibc.
18396         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
18397         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
18399 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
18401         crypto: use byteswap
18402         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
18403         * lib/sm3.c: Include <byteswap.h>.
18404         (SWAP): Use its macros rather than reinventing the wheel.
18405         * modules/crypto/md4, modules/crypto/md5-buffer:
18406         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
18407         * modules/crypto/sha512-buffer, modules/crypto/sm3:
18408         (Depends-on): Add byteswap.
18410 2018-06-17  Pádraig Brady  <P@draigBrady.com>
18412         gendocs.sh: fix support for legacy --texi2html
18413         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
18414         to the default makeinfo invocation.
18415         Reported by Bruce Korb
18417 2018-06-17  Bruno Haible  <bruno@clisp.org>
18419         gettext po infrastructure: Update from current gettext git.
18420         Reported by Akim Demaille <akim@lrde.epita.fr>.
18421         * build-aux/po/Makefile.in.in: Update from current gettext git.
18422         * build-aux/po/remove-potcdate.sin: Likewise.
18423         * config/srclist.txt: Temporarily disable sync for these files.
18425 2018-06-17  Bruno Haible  <bruno@clisp.org>
18427         getloadavg: Return 0 on Windows without Cygwin.
18428         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
18430 2018-06-17  Paul Smith  <psmith@gnu.org>
18432         getloadavg: Allow building on Windows without Cygwin
18433         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
18434         * m4/getloadavg.m4: Check for unistd.h.
18436 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
18438         Port crypto/af_alg to GCC 4.8.4
18439         Problem reported by Peter Simons in:
18440         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
18441         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
18443 2018-05-27  Colin Watson  <cjwatson@debian.org>
18445         bootstrap: document source fetching in --help
18446         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
18448 2018-04-09  Colin Watson  <cjwatson@debian.org>
18450         bootstrap: allow non-submodule control of gnulib
18451         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
18452         bootstrap.conf when fetching gnulib using "git clone" or via
18453         GNULIB_SRCDIR.
18455 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18457         crypto: omit stream ops Emacs doesn’t need
18458         * lib/md5.c (md5_stream):
18459         * lib/sha1.c (sha1_stream):
18460         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
18461         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
18462         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
18463         defined.  Emacs needs this, as it does not use the stream
18464         operations and doesn’t need all the af_alg stuff we’ve recently
18465         added.  Perhaps a similar change is needed to the other crypto
18466         modules, but this patch changes only those needed for Emacs.
18467         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
18468         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
18469         New modules, used by Emacs.
18470         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
18471         * modules/crypto/sha512: Rewrite to depend on the new modules.
18473 2018-05-20  Pádraig Brady  <P@draigBrady.com>
18475         fts: avoid a memory leak edge case
18476         * lib/fts.c (fts_open): Set an appropriate fts_level
18477         so that an immediate fts_close() will free the allocation.
18478         * tests/test-fts.c (fts_dealloc): Add a test case which
18479         will trigger under valgrind or address sanitizer.
18480         Fixes https://bugs.gnu.org/31439
18482 2018-05-20  Bruno Haible  <bruno@clisp.org>
18484         wcwidth tests: Fix link error.
18485         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
18486         $(LIBUNISTRING).
18488 2018-05-20  Bruno Haible  <bruno@clisp.org>
18490         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
18491         * modules/regex (Files): Add m4/glibc21.m4.
18493 2018-05-20  Bruno Haible  <bruno@clisp.org>
18495         localcharset: Optimize.
18496         * lib/localcharset.c (alias_table): Comment out no-op mappings for
18497         platforms where these don't matter. This reduces the table size,
18498         which in turn reduces the lookup time.
18500 2018-05-19  Bruno Haible  <bruno@clisp.org>
18502         localcharset: Map the locale encodings found in newer OSes.
18503         * lib/localcharset.c (alias_table): Add mapping for locale encodings
18504         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
18505         IRIX 6.5, Minix 3.3.
18506         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
18508 2018-05-19  Bruno Haible  <bruno@clisp.org>
18510         localcharset: Move mapping tables into the code. Use a binary search.
18511         * lib/localcharset.h: Document the GNU canonical names for character
18512         encodings here.
18513         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
18514         relocatable.h, configmake.h.
18515         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
18516         macros.
18517         (charset_aliases): Remove variable.
18518         (get_charset_aliases): Remove function.
18519         (struct table_entry): New type.
18520         (alias_table, locale_table): New constants.
18521         (locale_charset): Use the alias_table or locale_table to get the
18522         canonicalized encoding name.
18523         * lib/config.charset: Remove file.
18524         * lib/ref-add.sin: Remove file.
18525         * lib/ref-del.sin: Remove file.
18526         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
18527         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
18528         * modules/localcharset (Notice): Remove.
18529         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
18530         glibc21.m4.
18531         (Depends-on): Remove configmake.
18532         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
18533         (Makefile.am): Simplify.
18534         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
18536 2018-05-19  Bruno Haible  <bruno@clisp.org>
18538         localcharset: Add a manual test.
18539         * tests/test-localcharset.c: New file.
18540         * modules/localcharset-tests: New file.
18542 2018-05-19  Bruno Haible  <bruno@clisp.org>
18544         localcharset: Remove support for obsolete platforms.
18545         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
18546         Mac OS X 10.2. Comment out dubious entry for Solaris.
18548 2018-05-19  Jim Meyering  <meyering@fb.com>
18550         gnupload: adjust comment
18551         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
18552         more likely we'll remove the just-added code in a year or two.
18554 2018-05-19  Bruno Haible  <bruno@clisp.org>
18556         gnupload: Fix "gpg-agent is not available in this session" error.
18557         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
18559 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18561         crypto/af_alg: fix --help
18562         * m4/af_alg.m4: Avoid spurious newline in --help output.
18564 2018-05-13  Bruno Haible  <bruno@clisp.org>
18566         nl_langinfo: Fix compilation error on Android.
18567         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
18568         INT_CURR_SYMBOL, etc. only if these items are defined.
18570 2018-05-13  Bruno Haible  <bruno@clisp.org>
18572         truncate: Fix compilation error on Android.
18573         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
18574         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
18575         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
18576         HAVE_TRUNCATE.
18577         * modules/truncate: Likewise.
18578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
18579         not HAVE_TRUNCATE.
18580         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
18581         HAVE_TRUNCATE.
18582         * doc/posix-functions/truncate.texi: Mention the issue.
18584 2018-05-13  Bruno Haible  <bruno@clisp.org>
18586         pthread: Fix compilation error on Android.
18587         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
18588         recursive inclusion of this file.
18590 2018-05-13  Bruno Haible  <bruno@clisp.org>
18592         posix_spawn: Fix compilation error on Android.
18593         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
18594         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
18595         (posix_spawn_file_actions_t): Consider also the case
18596         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
18598 2018-05-13  Bruno Haible  <bruno@clisp.org>
18600         tsearch: Move from K&R C to ANSI C.
18601         * lib/tsearch.c (tfind): Convert definition to ANSI C.
18603 2018-05-13  Bruno Haible  <bruno@clisp.org>
18605         tsearch: Fix compilation error on Android.
18606         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
18607         is 0.
18608         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
18609         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
18610         GNULIB_defined_tsearch is true.
18611         (twalk): Define only if GNULIB_defined_twalk is true.
18612         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
18613         is 0.
18614         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
18615         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
18616         * modules/search (Makefile.am): Substitute HAVE_TWALK.
18618 2018-05-13  Bruno Haible  <bruno@clisp.org>
18620         imaxdiv: Fix compilation error on Android.
18621         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
18622         is not defined.
18623         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
18624         HAVE_DECL_IMAXDIV, is 0.
18625         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
18626         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
18628 2018-05-13  Bruno Haible  <bruno@clisp.org>
18630         Support selective inclusion mechanism of recent mingw.org header files.
18631         Reported by Eli Zaretskii <eliz@gnu.org>.
18632         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
18633         __need_ssize_t, or __need_time_t is defined, just include the system's
18634         <sys/types.h>.
18635         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
18636         include the system's <locale.h>.
18638 2018-05-13  Bruno Haible  <bruno@clisp.org>
18640         Avoid compilation error due to 'mmap' on Android.
18641         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
18642         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
18643         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
18644         Undefine on Android.
18646 2018-05-13  Bruno Haible  <bruno@clisp.org>
18648         Add cross-compilation guesses for Linux systems without glibc.
18649         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
18650         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
18651         * m4/link.m4 (gl_FUNC_LINK): Likewise.
18652         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
18653         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
18654         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
18655         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
18656         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
18657         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
18658         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
18659         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
18660         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18661         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
18662         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18663         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
18664         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
18665         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18666         * m4/utimens.m4 (gl_UTIMENS): Likewise.
18668 2018-05-13  Bruno Haible  <bruno@clisp.org>
18670         getpagesize: Fix compilation error on Android.
18671         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
18672         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
18673         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
18674         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
18675         HAVE_GETPAGESIZE accordingly.
18676         * modules/getcwd (Files): Add m4/getpagesize.m4.
18678 2018-05-13  Bruno Haible  <bruno@clisp.org>
18680         tcgetsid: Fix compilation error on Android.
18681         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
18682         AC_CHECK_FUNC.
18684 2018-05-13  Bruno Haible  <bruno@clisp.org>
18686         getpass: Fix configure test for Android.
18687         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
18688         AC_CHECK_FUNC.
18690 2018-05-13  Bruno Haible  <bruno@clisp.org>
18692         ffs: Fix compilation error on Android.
18693         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
18695 2018-05-13  Bruno Haible  <bruno@clisp.org>
18697         mkfifo: Fix compilation error on Android.
18698         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
18699         AC_CHECK_FUNC.
18701 2018-05-13  Bruno Haible  <bruno@clisp.org>
18703         c-strtod: Fix configure test for Android.
18704         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
18705         AC_CHECK_FUNC.
18707 2018-05-13  Bruno Haible  <bruno@clisp.org>
18709         random: Fix compilation error on Android.
18710         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
18711         AC_CHECK_FUNC.
18713 2018-05-13  Bruno Haible  <bruno@clisp.org>
18715         grantpt: Fix compilation error on Android.
18716         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
18717         AC_CHECK_FUNC.
18719 2018-05-13  Bruno Haible  <bruno@clisp.org>
18721         stdioext: Fix compilation errors with newer Android headers.
18722         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
18723         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
18724         fallbacks for Android.
18725         * lib/fpending.c: Update comments.
18726         * lib/fpurge.c: Likewise.
18727         * lib/freadable.h: Likewise.
18728         * lib/freadable.c: Likewise.
18729         * lib/freadahead.c: Likewise.
18730         * lib/freading.h: Likewise.
18731         * lib/freadptr.c: Likewise.
18732         * lib/fseterr.c: Likewise.
18733         * lib/fwritable.h: Likewise.
18734         * lib/fwritable.c: Likewise.
18735         * lib/fwriting.h: Likewise.
18736         * lib/fwriting.c: Likewise.
18738 2018-05-13  Bruno Haible  <bruno@clisp.org>
18740         doc: Add info about Android versions 2.0 to 8.1.
18741         * doc/**/*.texi: Add info about functions in all released versions of
18742         Bionic.
18744 2018-05-12  Bruno Haible  <bruno@clisp.org>
18746         fseeko: On mingw, don't use the hidden function _fseeki64.
18747         Reported by Eli Zaretskii <eliz@gnu.org>.
18748         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
18749         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
18751 2018-05-12  Bruno Haible  <bruno@clisp.org>
18753         glob: Choose 'dirent_type' in a way that works better on mingw.
18754         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
18755         * lib/glob.c (dirent_type): Define as uint_fast32_t.
18757 2018-05-12  Bruno Haible  <bruno@clisp.org>
18759         execute, spawn-pipe: Avoid warning about redefining 'close'.
18760         Reported by Eli Zaretskii <eliz@gnu.org>.
18761         * lib/execute.c: Undefine 'close' before redefining it.
18762         * lib/spawn-pipe.c: Likewise.
18764 2018-05-12  Bruno Haible  <bruno@clisp.org>
18766         nanosleep: Avoid test failure on mingw when it has nanosleep.
18767         Reported by Eli Zaretskii <eliz@gnu.org>.
18768         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
18769         If it does not exist, use a simpler test program that does not call
18770         alarm().
18772 2018-05-10  Bruno Haible  <bruno@clisp.org>
18774         lock, cond, thread, tls: Use a different symbol as libpthread witness.
18775         Reported by Devin Hussey <husseydevin@gmail.com>.
18776         Based on a patch by Paul Eggert.
18777         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
18778         as witness of libpthread.
18779         * lib/glthread/cond.h (pthread_in_use): Likewise.
18780         * lib/glthread/thread.h (pthread_in_use): Likewise.
18781         * lib/glthread/tls.h (pthread_in_use): Likewise.
18783 2018-05-10  Bruno Haible  <bruno@clisp.org>
18785         cond tests: Fix compilation error on Solaris.
18786         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
18787         macro.
18789 2018-05-10  Bruno Haible  <bruno@clisp.org>
18791         doc: Add partial info about Android 4.3.
18792         * doc/*-functions/*.texi: Add info about functions that were added
18793         to Bionic between Android 4.3 and Android 9.0.
18795 2018-05-10  Bruno Haible  <bruno@clisp.org>
18797         doc: Add info about Android 9.0.
18798         * doc/**/*.texi: Add info about functions and headers in Bionic from
18799         Android 9.0.
18801 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
18803         af_alg: fix my typo in afalg_buffer
18804         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
18805         (afalg_stream): Simplify and avoid the need for a runtime test
18806         at the end.
18808         af_alg: recover better from crypto failures
18809         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
18810         input stream is seekable, by repositioning the stream back to
18811         where it was, possibly by just calling sendfile with an offset
18812         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
18813         cases, which lets our callers try again with user-mode code.
18814         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
18815         instead of on fflush and lseek.
18817         af_alg: distiguish I/O errors better
18818         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
18819         not -EIO, if it’s OK for the caller to try again with user-mode code.
18820         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
18821         some other error number) if fflush fails, as the caller should not
18822         try again that case.
18824         af_alg: avoid gotos
18825         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
18826         gotos, as they were a source of unreliability and made the code a
18827         bit harder to follow.
18829         af_alg: don’t leak file descriptors into children
18830         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
18831         This code should be compiled only on recent GNU/Linux platforms
18832         so we shouldn’t have to also depend on the accept4 module.
18834         af_alg: coalesce socket creation
18835         * lib/af_alg.c (alg_socket): New function.
18836         (afalg_buffer, afalg_stream): Use it.  This avoids some
18837         code duplication and gotos.
18839         af_alg: fix file descriptor leak
18840         * lib/af_alg.c (afalg_stream): Close leak.
18842         af_alg: Pacify --enable-gcc-warnings on GCC 8
18843         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
18844         and checking to pacify gcc -Wjump-misses-init on GCC 8.
18846 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18848         af_alg: Pacify --enable-gcc-warnings
18849         Problem reported by Assaf Gordon in:
18850         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
18851         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
18852         gcc -Wjump-misses-init.
18853         * lib/sha512.c (shaxxx_stream): Now static.
18855 2018-05-06  Bruno Haible  <bruno@clisp.org>
18857         af_alg: Add ability to use Linux kernel crypto API on data in memory.
18858         * lib/af_alg.h (afalg_buffer): New declaration.
18859         * lib/af_alg.c (afalg_buffer): New function.
18861 2018-05-06  Bruno Haible  <bruno@clisp.org>
18863         af_alg: Avoid warnings.
18864         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
18865         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
18867 2018-05-06  Bruno Haible  <bruno@clisp.org>
18869         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
18870         * tests/bench-digest.h: New file.
18871         * tests/bench-md5.c: New file.
18872         * tests/bench-sha1.c: New file.
18873         * tests/bench-sha224.c: New file.
18874         * tests/bench-sha256.c: New file.
18875         * tests/bench-sha384.c: New file.
18876         * tests/bench-sha512.c: New file.
18877         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
18878         tests/bench-digest.h.
18879         (Depends-on): Add getrusage, gettimeofday.
18880         (Makefile.am): Add variables to build bench-md5.
18881         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
18882         tests/bench-digest.h.
18883         (Depends-on): Add getrusage, gettimeofday.
18884         (Makefile.am): Add variables to build bench-sha1.
18885         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
18886         tests/bench-sha256.c, tests/bench-digest.h.
18887         (Depends-on): Add getrusage, gettimeofday.
18888         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
18889         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
18890         tests/bench-sha512.c, tests/bench-digest.h.
18891         (Depends-on): Add getrusage, gettimeofday.
18892         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
18894 2018-05-06  Bruno Haible  <bruno@clisp.org>
18896         af_alg: Fix a resource leak.
18897         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
18898         New local variable 'result'.
18900 2018-05-06  Bruno Haible  <bruno@clisp.org>
18902         af_alg: Fix bug with streams that are not at position 0.
18903         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
18904         assume that the stream is positioned at position 0.
18905         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
18906         of the stream.
18907         * lib/md5.h (md5_stream): Likewise.
18908         * lib/sha1.h (sha1_stream): Likewise.
18909         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
18910         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
18911         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
18913         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
18914         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
18915         stream that is not positioned at the beginning.
18917 2018-05-06  Bruno Haible  <bruno@clisp.org>
18919         af_alg: Add configure option to enable/disable use of Linux crypto API.
18920         Suggested by Assaf Gordon <assafgordon@gmail.com>.
18921         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
18922         USE_LINUX_CRYPTO_API.
18923         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
18924         * lib/af_alg.c: Likewise.
18926 2018-05-06  Bruno Haible  <bruno@clisp.org>
18928         Followup to 'af_alg: New module.'.
18929         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
18930         * modules/crypto/sha1 (Depends-on): Likewise.
18931         * modules/crypto/sha256 (Depends-on): Likewise.
18932         * modules/crypto/sha512 (Depends-on): Likewise.
18934 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18936         crypto/{md5,sha1,sha256,sha512}: simplify
18937         * lib/md5.c (md5_stream):
18938         * lib/sha1.c (sha1_stream):
18939         * lib/sha256.c (shaxxx_stream):
18940         Simplify, partly by assuming C99.
18941         * lib/sha256.c (shaxxx_stream):
18942         New function, which implements both sha256 and sha224.
18943         Simplify, partly by assuming C99.
18944         (sha256_stream, sha224_stream):
18945         Use it to avoid code duplication, removing a FIXME.
18946         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
18947         Likewise.
18949         af_alg: Improve comments.
18950         * lib/af_alg.h: Use imperatives and tighten up wording.
18952 2018-05-05  Bruno Haible  <bruno@clisp.org>
18954         af_alg: Improve comments.
18955         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
18957 2018-05-05  Bruno Haible  <bruno@clisp.org>
18959         af_alg: New module.
18960         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
18961         * lib/af_alg.c: Include "af_alg.h" before the other header files.
18962         * lib/md5.c: Include "af_alg.h" unconditionally.
18963         (md5_stream): Invoke afalg_stream unconditionally.
18964         * lib/sha1.c: Include "af_alg.h" unconditionally.
18965         (sha1_stream): Invoke afalg_stream unconditionally.
18966         * lib/sha256.c: Include "af_alg.h" unconditionally.
18967         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
18968         * lib/sha512.c: Include "af_alg.h" unconditionally.
18969         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
18970         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
18971         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
18972         * modules/crypto/af_alg: New file.
18973         * modules/crypto/md5 (Files): Remove files that are now in the
18974         'crypto/af_alg' module.
18975         (Depends-on): Add crypto/af_alg.
18976         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
18977         (Makefile.am): Don't mention af_alg.c here.
18978         * modules/crypto/sha1 (Files): Remove files that are now in the
18979         'crypto/af_alg' module.
18980         (Depends-on): Add crypto/af_alg.
18981         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
18982         (Makefile.am): Don't mention af_alg.c here.
18983         * modules/crypto/sha256 (Files): Remove files that are now in the
18984         'crypto/af_alg' module.
18985         (Depends-on): Add crypto/af_alg.
18986         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
18987         (Makefile.am): Don't mention af_alg.c here.
18988         * modules/crypto/sha512 (Files): Remove files that are now in the
18989         'crypto/af_alg' module.
18990         (Depends-on): Add crypto/af_alg.
18991         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
18992         (Makefile.am): Don't mention af_alg.c here.
18994 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18996         crypto tests: pacify GCC
18997         * tests/test-digest.h (test_digest_on_files):
18998         Don’t assume digest size fits in int (!).
19000         af_alg: minor style improvements
19001         * lib/af_alg.c (afalg_stream): Prefer C99 style
19002         decl-after-statement, since we’re already assuming C99.  Clarify
19003         by strengthening the bind test and omit unnecessary assignment.
19005 2018-05-05  Bruno Haible  <bruno@clisp.org>
19007         af_alg: Fix bug on empty files.
19008         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
19009         stream is empty.
19011 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19013         sys-limits.h: new file for crypto and safe I/O
19014         * lib/af_alg.c: Include sys-limits.h.
19015         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
19016         (afalg_stream): Also reject negative sizes for sendfile; they
19017         should not happen and the code is a bit cleaner and faster this way.
19018         * lib/safe-read.c: Include sys-limits.h.
19019         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
19020         * lib/sys-limits.h: New file, with values and commentary derived
19021         from the old safe-read.c and from GNU Emacs sysdep.c.
19022         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19023         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
19024         Add lib/sys-limits.h to Files section.
19026 2018-05-05  Bruno Haible  <bruno@clisp.org>
19028         af_alg: Improve function signature.
19029         * lib/af_alg.h (afalg_stream): Swap second and third argument.
19030         * lib/af_alg.c (afalg_stream): Likewise.
19031         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
19033 2018-05-05  Bruno Haible  <bruno@clisp.org>
19035         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
19036         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
19037         * modules/crypto/sha1 (Depends-on): Likewise.
19038         * modules/crypto/sha256 (Depends-on): Likewise.
19039         * modules/crypto/sha512 (Depends-on): Likewise.
19041 2018-05-05  Bruno Haible  <bruno@clisp.org>
19043         crypto/{md5,sha1,sha256,sha512}: Fix module description.
19044         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
19045         * modules/crypto/sha1 (Depends-on): Likewise.
19046         * modules/crypto/sha256 (Depends-on): Likewise.
19047         * modules/crypto/sha512 (Depends-on): Likewise.
19049 2018-05-05  Bruno Haible  <bruno@clisp.org>
19051         af_alg: Add documentation.
19052         * lib/af_alg.h: Add comments.
19054 2018-05-05  Bruno Haible  <bruno@clisp.org>
19056         sha512: Add tests.
19057         * tests/test-sha512.c: New file.
19058         * modules/crypto/sha512-tests: New file.
19060 2018-05-05  Bruno Haible  <bruno@clisp.org>
19062         sha256: Add tests.
19063         * tests/test-sha256.c: New file.
19064         * modules/crypto/sha256-tests: New file.
19066 2018-05-05  Bruno Haible  <bruno@clisp.org>
19068         sha1 tests: Add test for sha1_stream.
19069         * tests/test-sha1.c: Include test-digest.h.
19070         (main): Invoke test_digest_on_files on 'sha1_stream'.
19071         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
19073 2018-05-05  Bruno Haible  <bruno@clisp.org>
19075         md5 tests: Add test for md5_stream.
19076         * tests/test-digest.h: New file.
19077         * tests/test-md5.c: Include test-digest.h.
19078         (main): Invoke test_digest_on_files on 'md5_stream'.
19079         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
19081 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19083         md5sum: Use AF_ALG when available.
19084         * lib/md5.c: Include af_alg.h.
19085         (md5_stream): Use afalg_stream when available.
19086         * modules/crypto/md5 (Files): Add the af_alg files.
19087         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19088         (Makefile.am): Add af_alg.c.
19090 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19092         sha512sum: Use AF_ALG when available.
19093         * lib/sha512.c: Include af_alg.h.
19094         (sha512_stream, sha384_stream): Use afalg_stream when available.
19095         * modules/crypto/sha512 (Files): Add the af_alg files.
19096         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19097         (Makefile.am): Add af_alg.c.
19099 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19101         sha256sum: Use AF_ALG when available.
19102         * lib/sha256.c: Include af_alg.h.
19103         (sha256_stream, sha224_stream): Use afalg_stream when available.
19104         * modules/crypto/sha256 (Files): Add the af_alg files.
19105         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19106         (Makefile.am): Add af_alg.c.
19108 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19110         sha1sum: Use AF_ALG when available.
19111         * lib/af_alg.h: New file.
19112         * lib/af_alg.c: New file.
19113         * lib/sha1.c: Include af_alg.h.
19114         (sha1_stream): Use afalg_stream when available.
19115         * m4/linux-if-alg.m4: New file.
19116         * modules/crypto/sha1 (Files): Add the new files.
19117         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19118         (Makefile.am): Add af_alg.c.
19120 2018-05-05  Bruno Haible  <bruno@clisp.org>
19122         all: Replace more http URLs by https URLs.
19123         * lib/localename.c: Use https: URL.
19124         * lib/timespec.h: Likewise.
19126 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
19128         maint: port more modules to GCC 8
19129         * lib/dirname.h (base_name):
19130         * lib/exclude.h (new_exclude):
19131         * lib/xstrndup.h (xstrndup):
19132         Add malloc attribute.
19133         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
19134         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
19135         This pacifies GCC 8.
19136         * m4/gnulib-common.m4 (gl_COMMON_BODY):
19137         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
19139 2018-05-03  Bruno Haible  <bruno@clisp.org>
19141         Simplify code. Drop support for Borland C++ on Windows.
19142         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
19143         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
19144         'defined _WIN32'.
19145         * lib/canonicalize-lgpl.c: Likewise.
19146         * lib/classpath.c: Likewise.
19147         * lib/clean-temp.c: Likewise.
19148         * lib/csharpexec.c: Likewise.
19149         * lib/ctime.c: Likewise.
19150         * lib/dosname.h: Likewise.
19151         * lib/dup2.c: Likewise.
19152         * lib/errno.in.h: Likewise.
19153         * lib/error.c: Likewise.
19154         * lib/euidaccess.c: Likewise.
19155         * lib/execute.c: Likewise.
19156         * lib/fcntl.in.h: Likewise.
19157         * lib/fcntl.c: Likewise.
19158         * lib/filename.h: Likewise.
19159         * lib/findprog.c: Likewise.
19160         * lib/flock.c: Likewise.
19161         * lib/fopen.c: Likewise.
19162         * lib/freopen.c: Likewise.
19163         * lib/fstat.c: Likewise.
19164         * lib/fsync.c: Likewise.
19165         * lib/gc-gnulib.c: Likewise.
19166         * lib/get-rusage-data.c: Likewise.
19167         * lib/getaddrinfo.c: Likewise.
19168         * lib/getdelim.c: Likewise.
19169         * lib/getdtablesize.c: Likewise.
19170         * lib/gethostname.c: Likewise.
19171         * lib/getlogin.c: Likewise.
19172         * lib/getlogin_r.c: Likewise.
19173         * lib/getopt.c: Likewise.
19174         * lib/getpagesize.c: Likewise.
19175         * lib/getpass.c: Likewise.
19176         * lib/getrusage.c: Likewise.
19177         * lib/gettimeofday.c: Likewise.
19178         * lib/glob.c: Likewise.
19179         * lib/inttypes.in.h: Likewise.
19180         * lib/isapipe.c: Likewise.
19181         * lib/javaexec.c: Likewise.
19182         * lib/link.c: Likewise.
19183         * lib/localcharset.c: Likewise.
19184         * lib/localename.h: Likewise.
19185         * lib/localename.c: Likewise.
19186         * lib/localtime.c: Likewise.
19187         * lib/lseek.c: Likewise.
19188         * lib/mbsinit.c: Likewise.
19189         * lib/mkdir.c: Likewise.
19190         * lib/msvc-nothrow.h: Likewise.
19191         * lib/nanosleep.c: Likewise.
19192         * lib/nl_langinfo.c: Likewise.
19193         * lib/nonblocking.c: Likewise.
19194         * lib/nproc.c: Likewise.
19195         * lib/open.c: Likewise.
19196         * lib/openpty.c: Likewise.
19197         * lib/pathmax.h: Likewise.
19198         * lib/pipe-filter-aux.c: Likewise.
19199         * lib/pipe-filter-gi.c: Likewise.
19200         * lib/pipe-filter-ii.c: Likewise.
19201         * lib/pipe.c: Likewise.
19202         * lib/pipe2.c: Likewise.
19203         * lib/poll.c: Likewise.
19204         * lib/popen.c: Likewise.
19205         * lib/posix_openpt.c: Likewise.
19206         * lib/printf-parse.c: Likewise.
19207         * lib/progreloc.c: Likewise.
19208         * lib/putenv.c: Likewise.
19209         * lib/read.c: Likewise.
19210         * lib/relocatable.c: Likewise.
19211         * lib/rename.c: Likewise.
19212         * lib/same-inode.h: Likewise.
19213         * lib/secure_getenv.c: Likewise.
19214         * lib/select.c: Likewise.
19215         * lib/sethostname.c: Likewise.
19216         * lib/setlocale.c: Likewise.
19217         * lib/sigaction.c: Likewise.
19218         * lib/sigprocmask.c: Likewise.
19219         * lib/sleep.c: Likewise.
19220         * lib/spawn-pipe.h: Likewise.
19221         * lib/spawn-pipe.c: Likewise.
19222         * lib/spawni.c: Likewise.
19223         * lib/stat-time.h: Likewise.
19224         * lib/stat-w32.c: Likewise.
19225         * lib/stat.c: Likewise.
19226         * lib/stdio.in.h: Likewise.
19227         * lib/stdio-impl.h: Likewise.
19228         * lib/stdio-read.c: Likewise.
19229         * lib/stdio-write.c: Likewise.
19230         * lib/stdlib.in.h: Likewise.
19231         * lib/strerror_r.c: Likewise.
19232         * lib/strftime-fixes.c: Likewise.
19233         * lib/sys_stat.in.h: Likewise.
19234         * lib/sys_types.in.h: Likewise.
19235         * lib/sys_wait.in.h : Likewise.
19236         * lib/system-quote.h: Likewise.
19237         * lib/system-quote.c: Likewise.
19238         * lib/tmpdir.c: Likewise.
19239         * lib/tzset.c: Likewise.
19240         * lib/uname.c: Likewise.
19241         * lib/unistd.in.h: Likewise.
19242         * lib/utime.in.h: Likewise.
19243         * lib/utime.c: Likewise.
19244         * lib/utimecmp.c: Likewise.
19245         * lib/utimens.c: Likewise.
19246         * lib/vasnprintf.c: Likewise.
19247         * lib/vma-iter.h: Likewise.
19248         * lib/vma-iter.c: Likewise.
19249         * lib/wait-process.c: Likewise.
19250         * lib/wcsftime.c: Likewise.
19251         * lib/wctype.in.h: Likewise.
19252         * lib/write.c: Likewise.
19253         * tests/nap.h: Likewise.
19254         * tests/test-cloexec.c: Likewise.
19255         * tests/test-dup-safer.c: Likewise.
19256         * tests/test-dup2.c: Likewise.
19257         * tests/test-dup3.c: Likewise.
19258         * tests/test-fcntl.c: Likewise.
19259         * tests/test-get-rusage-data.c: Likewise.
19260         * tests/test-getaddrinfo.c: Likewise.
19261         * tests/test-getlogin.h: Likewise.
19262         * tests/test-isatty.c: Likewise.
19263         * tests/test-localename.c: Likewise.
19264         * tests/test-mbrtowc-w32.c: Likewise.
19265         * tests/test-nonblocking.c: Likewise.
19266         * tests/test-nonblocking-pipe-main.c: Likewise.
19267         * tests/test-nonblocking-socket-main.c: Likewise.
19268         * tests/test-nonblocking-socket.h: Likewise.
19269         * tests/test-pipe.c: Likewise.
19270         * tests/test-pipe2.c: Likewise.
19271         * tests/test-poll.c: Likewise.
19272         * tests/test-pthread_sigmask1.c: Likewise.
19273         * tests/test-select.h: Likewise.
19274         * tests/test-sethostname2.c: Likewise.
19275         * tests/test-sigprocmask.c: Likewise.
19276         * tests/test-spawn-pipe-child.c: Likewise.
19277         * tests/test-stat-time.c: Likewise.
19278         * tests/test-system-quote-main.c: Likewise.
19279         * tests/test-utimens-common.h: Likewise.
19280         * tests/test-wcrtomb-w32.c: Likewise.
19281         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
19282         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
19283         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
19284         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
19285         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
19286         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19287         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19288         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19289         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19290         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
19291         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
19292         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
19293         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
19294         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
19295         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
19296         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19298 2018-05-02  Bruno Haible  <bruno@clisp.org>
19300         localename: Fix test failures on mingw.
19301         * lib/localename.c (gl_locale_name_thread): Remove code specific to
19302         native Windows.
19303         (gl_locale_name_posix): Move code specific to native Windows here.
19304         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
19305         Accept result without charset suffix, as it appears on mingw.
19307 2018-04-28  Paul Smith  <psmith@gnu.org>
19309         bootstrap: Avoid gnulib operations if not needed
19310         * build-aux/bootstrap: Remove unused variable gnulib_mk.
19311         Set $gnulib_extra_files early so it can be overridden in .conf.
19312         Remove redundant --import flag from $gnulib_tool_options.
19313         Set $use_gnulib to false if no gnulib modules or files are needed.
19314         If $use_gnulib is false, don't do anything related to gnulib.
19315         A lot of this is just whitespace (indentation) changes.
19317 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
19319         manywarnings: port to GCC 8.0
19320         * build-aux/gcc-warning.spec: Add -Wcatch-value,
19321         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
19322         fact that the GCC help message now mentions operands for
19323         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
19324         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
19325         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
19326         and -Wunused-const-variable.
19327         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
19328         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
19329         -Wmissing-attributes, -Wmultistatement-macros,
19330         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
19331         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
19333 2018-04-24  Bruno Haible  <bruno@clisp.org>
19335         sys_socket: Make SO_REUSEPORT available across platforms.
19336         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19337         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
19338         * doc/posix-headers/sys_socket.texi: Mention the issue.
19339         * tests/test-poll.c (SO_REUSEPORT): Remove.
19340         * tests/test-select.h: Include <sys/socket.h>.
19341         (SO_REUSEPORT): Remove.
19342         * modules/select-tests (Depends-on): Add 'sys_socket'.
19344 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
19346         localcharset: short-circuit the search for an alias on a Mac
19347         * lib/localcharset.c (get_charset_aliases): Add a tautological
19348         UTF-8 entry to speed up the search for this case.
19349         Most machines default to a UTF-8 locale nowadays, so begin the
19350         list of aliases with a dummy UTF-8 entry so it will be found
19351         immediately and a time-consuming search through the rest of
19352         the list is avoided.
19354 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
19356         fts: add comment
19357         * lib/fts.c (fts_build): Explain why ==, not >.
19358         See remark by Bernhard Voelker in:
19359         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
19361         fts: fix bug in find across filesystems
19362         This fixes a bug I introduced last summer.
19363         Problem reported by Kamil Dudka in:
19364         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
19365         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
19366         (leaf_optimization):
19367         New arg for file descriptor.  All callers changed.
19368         (fts_build): Check for whether inodes should be sorted
19369         before closing the directory.
19371 2018-04-07  Bruno Haible  <bruno@clisp.org>
19373         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
19374         Reported by Genki Sky <sky@genki.is>.
19375         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
19376         version 0.9.10 or newer.
19377         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
19378         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
19379         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
19380         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
19381         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
19383 2018-04-07  Bruno Haible  <bruno@clisp.org>
19385         execute: Update comment.
19386         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
19388 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19390         fts: treat CIFS like NFS
19391         Problem reported by Kamil Dudka in:
19392         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
19393         * lib/fts.c (S_MAGIC_CIFS): New macro.
19394         (dirent_inode_sort_may_be_useful, leaf_optimization):
19395         Treat CIFS like NFS.
19397 2018-03-28  Bruno Haible  <bruno@clisp.org>
19399         c-stack: Fix possible build failure on some platforms.
19400         * lib/c-stack.c (die): Define whenever this function is referenced.
19402 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
19404         time_rz: fix workaround for Mac OS X 10.6 infloop
19405         Problems reported by Charles A. Roelli (Bug#27736#117).
19406         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
19407         Also, discard output, which clutters the 'configure' log.
19409 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
19411         havelib: port to Solaris 10 /bin/sh
19412         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
19413         instead of '! test EXPR'.
19415 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
19417         time_rz: work around Mac OS X 10.6 infloop
19418         * doc/posix-functions/localtime.texi:
19419         * doc/posix-functions/localtime_r.texi: Mention the bug.
19420         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
19421         better to fix localtime and localtime_r instead, but that would be
19422         more work and is not needed to fix the Emacs problem.
19423         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
19425 2018-03-24  Jim Meyering  <meyering@fb.com>
19427         test-version-etc.sh: don't use diff directly: use init.sh's compare
19428         We'd rather not sacrifice readable "diff -u" output even for
19429         "diff -c" output (not supported by busybox) or for even less
19430         readable ed-style "diff" output.  So use init.sh's compare function
19431         * tests/test-version-etc.sh: Source init.sh and add "." to path.
19432         Remove "./" from invocation of test-version-etc, so we use path.
19433         And s/diff/compare/.
19434         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
19435         to get init.sh.
19436         Prompted by Eric Blake's comments in
19437         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
19439 2018-03-24  Bruno Haible  <bruno@clisp.org>
19441         javacomp-script, javacomp: Add support for Java 10.
19442         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
19443         target-version 10.
19444         * lib/javaversion.h: Update comments.
19445         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
19446         source_version_index, get_goodcode_snippet, get_failcode_snippet,
19447         TARGET_VERSION_BOUND, target_version_index,
19448         corresponding_classfile_version): Accept source_version 10 and
19449         target_version 10.
19450         * lib/javacomp.h: Update comments accordingly.
19452 2018-03-24  Bruno Haible  <bruno@clisp.org>
19454         javacomp-script, javacomp: Update comments.
19455         * m4/javacomp.m4: Update comments regarding gcj.
19456         * lib/javacomp.h: Likewise.
19458 2018-03-24  Bruno Haible  <bruno@clisp.org>
19460         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
19461         * lib/javaversion.h: Update comments.
19462         * lib/javacomp.h: Likewise.
19463         * lib/javacomp.c (default_target_version, source_version_index,
19464         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
19465         "1.9".
19466         (TARGET_VERSION_BOUND): Bump to 9.
19467         (target_version_index, corresponding_classfile_version): Recognize "9"
19468         instead of "1.9".
19469         (get_source_version_for_javac): New function.
19470         (is_envjavac_nongcj_usable, is_javac_usable): Add
19471         source_version_for_javac argument.
19472         (compile_java_class): Determine and pass source_version_for_javac.
19473         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
19474         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
19475         appropriate.
19477 2018-03-23  Jim Meyering  <meyering@fb.com>
19479         test-version-etc.sh: port to diff without -c
19480         * tests/test-version-etc.sh: Don't use diff's -c option.
19481         This caused spurious test failure on Alpine Linux, which
19482         uses busybox's diff. Reported by Assaf Gordon in
19483         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
19485 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
19487         c-stack: port to recent GCC build
19488         Problem reported by The Fireplace (Bug#30913).
19489         * lib/c-stack.c (die): Define only if used.
19491 2018-03-20  Bruno Haible  <bruno@clisp.org>
19493         euidaccess: Port to native Windows.
19494         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
19495         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
19497 2018-03-19  Bruno Haible  <bruno@clisp.org>
19499         javacomp: Add support for Java 7, 8, 9.
19500         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
19501         source_version_index, get_goodcode_snippet, get_failcode_snippet,
19502         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
19503         and target_version 1,7, 1.8, 1.9.
19504         * lib/javacomp.h: Update comments accordingly.
19506 2018-03-19  Bruno Haible  <bruno@clisp.org>
19508         javacomp-script: Add support for Java 9.
19509         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
19510         target-version 1.9.
19512 2018-03-16  Bruno Haible  <bruno@clisp.org>
19514         glob: Don't compile replacements on recent glibc systems.
19515         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
19516         REPLACE_GLOB is 0, include the system's <glob.h> and use
19517         _GL_CXXALIAS_SYS.
19518         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
19519         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
19520         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
19521         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
19522         Remove snippet/warn-on-use.
19523         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
19524         (Makefile.am): Create glob.h always. Update list of substitutions in
19525         glob.h. Don't depend on $(WARN_ON_USE_H).
19527 2018-03-16  Bruno Haible  <bruno@clisp.org>
19529         glob: Fix link error on native Windows.
19530         * modules/glob (Depends-on): Add 'lstat'.
19532 2018-03-15  Bruno Haible  <bruno@clisp.org>
19534         glob: Fix compilation error in C++ mode.
19535         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
19537 2018-03-15  Bruno Haible  <bruno@clisp.org>
19539         host-cpu-c-abi: Support for RISC-V CPU.
19540         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
19541         riscv32 and riscv64 ABIs.
19542         References:
19543         https://github.com/riscv/riscv-toolchain-conventions
19544         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
19545         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
19547 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19549         fflush: be more paranoid about libio.h change
19550         Suggested by Eli Zaretskii in:
19551         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
19552         * lib/fbufmode.c (fbufmode):
19553         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19554         (disable_seek_optimization, rpl_fflush):
19555         * lib/fpending.c (__fpending):
19556         * lib/fpurge.c (fpurge):
19557         * lib/freadable.c (freadable):
19558         * lib/freadahead.c (freadahead):
19559         * lib/freading.c (freading):
19560         * lib/freadptr.c (freadptr):
19561         * lib/freadseek.c (freadptrinc):
19562         * lib/fseeko.c (fseeko):
19563         * lib/fseterr.c (fseterr):
19564         * lib/fwritable.c (fwritable):
19565         * lib/fwriting.c (fwriting):
19566         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
19568 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19570         maint: write-file-hooks -> before-save-hook
19571         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
19572         it's time to use the recommended replacement.
19573         Problem reported by Glenn Morris in:
19574         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
19575         * build-aux/announce-gen, build-aux/bootstrap:
19576         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
19577         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
19578         * build-aux/gnu-web-doc-update, build-aux/gnupload:
19579         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
19580         * build-aux/update-copyright, build-aux/useless-if-before-free:
19581         * build-aux/vc-list-files:
19582         Update hook usage for files where Gnulib is the canonical source.
19584 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19586         binary-io: pacify gcc -Wunused-parameter
19587         Problem reported by Reuben Thomas in:
19588         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
19589         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
19590         Use _GL_UNUSED where appropriate.
19592         fflush: adjust to glibc 2.28 libio.h removal
19593         Problem reported by Daniel P. Berrangé in:
19594         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
19595         * lib/fbufmode.c (fbufmode):
19596         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19597         (disable_seek_optimization, rpl_fflush):
19598         * lib/fpending.c (__fpending):
19599         * lib/fpurge.c (fpurge):
19600         * lib/freadable.c (freadable):
19601         * lib/freadahead.c (freadahead):
19602         * lib/freading.c (freading):
19603         * lib/freadptr.c (freadptr):
19604         * lib/freadseek.c (freadptrinc):
19605         * lib/fseeko.c (fseeko):
19606         * lib/fseterr.c (fseterr):
19607         * lib/fwritable.c (fwritable):
19608         * lib/fwriting.c (fwriting):
19609         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
19610         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
19611         Define if not already defined.
19613 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
19615         environ: fix link error on 32-bit Cygwin
19616         Problem reported for GNU Emacs by Ken Brown in:
19617         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
19618         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
19620 2018-02-24  Bruno Haible  <bruno@clisp.org>
19622         mbrtowc tests: Fix regression on glibc.
19623         Reported by Bernhard Voelker.
19624         * tests/test-mbrtowc.c (main): Fix expected value of wc.
19626 2018-02-24  Bruno Haible  <bruno@clisp.org>
19628         striconveha, uniconv/*: Avoid test failures on musl libc.
19629         * tests/iconvsupport.c: New file.
19630         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
19631         does not support the ISO-2022-JP-2 encoding.
19632         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
19633         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
19634         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
19635         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
19636         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
19637         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
19638         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
19639         (Makefile.am): Link test-striconveha with iconvsupport.o.
19640         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
19641         tests/iconvsupport.c.
19642         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
19643         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
19644         tests/iconvsupport.c.
19645         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
19646         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
19647         tests/iconvsupport.c.
19648         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
19649         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
19650         tests/iconvsupport.c.
19651         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
19652         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
19653         tests/iconvsupport.c.
19654         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
19655         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
19656         tests/iconvsupport.c.
19657         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
19659 2018-02-24  Bruno Haible  <bruno@clisp.org>
19661         localename: Add support for musl libc.
19662         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
19663         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
19664         on Linux platforms which define NL_LOCALE_NAME.
19666 2018-02-24  Bruno Haible  <bruno@clisp.org>
19668         mbrtowc tests: Don't make assumptions about the charset the C locale.
19669         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
19670         particular mapping in the C locale.
19672 2018-02-24  Bruno Haible  <bruno@clisp.org>
19674         ptsname_r: Don't expect that this function sets errno.
19675         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
19676         from ptsname_r().
19677         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
19679 2018-02-23  Bruno Haible  <bruno@clisp.org>
19681         xmalloca: pacify gcc -Wbad-function-cast
19682         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
19684 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
19686         nl_langinfo: pacify gcc -Wunused-function
19687         * lib/nl_langinfo.c (ctype_codeset): Do not define if
19688         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
19689         this case.  Without this change, I got a diagnostic when building
19690         coreutils on Fedora 27 with gcc 7.3.1 20180130.
19692         same: pacify gcc -Wunused-variable
19693         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
19694         Omit unused variable.
19696         malloca: pacify gcc -Wbad-function-cast
19697         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
19698         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
19699         To pacify GCC, I had to cast alloca’s result to some type other
19700         than void * before casting that to uintptr_t.
19702 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
19704         utimecmp: new function utimecmpat
19705         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
19706         Do not include utimens.h.
19707         (utimecmpat): New function, generalizing utimecmp.
19708         (utimecmp): Now a thin layer around utimecmpat.
19709         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
19710         utimensat instead of on lstat and utimens.
19712         same: new function same_nameat
19713         * lib/same.c: Include fcntl.h.
19714         * lib/same.c (same_nameat): New function, generalizing same_name.
19715         (same_name): Now a thin layer around same_nameat.
19716         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
19717         * modules/same (Depends-on): Depend on fstatat, openat.
19719 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
19721         warnings: Add support for Objective C.
19722         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
19723         macro.
19725 2018-02-17  Bruno Haible  <bruno@clisp.org>
19727         lock: Fix test-once1 crash on FreeBSD11.
19728         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
19729         'pthread_create', not 'pthread_cancel'.
19731 2018-02-17  Bruno Haible  <bruno@clisp.org>
19733         lock: Add test of gl_once.
19734         * tests/test-once.c: New file.
19735         * modules/lock-tests (Files): Add it.
19736         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
19738 2018-02-17  Bruno Haible  <bruno@clisp.org>
19740         thread: Fix compilation error on IRIX.
19741         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
19742         needed; include it outside the C++ extern "C" {} block.
19743         * doc/posix-headers/pthread.texi: Mention the problem with
19744         pthread_atfork on IRIX.
19746 2018-02-04  Bruno Haible  <bruno@clisp.org>
19748         nl_langinfo: Override the system's nl_langinfo() when needed.
19749         Reported by Jim Meyering.
19750         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
19751         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
19753 2018-02-04  Bruno Haible  <bruno@clisp.org>
19755         signal-h, monetary, strings: Fix build failure in some cases.
19756         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
19757         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
19758         as delimiter in sed command, not '|'.
19759         * modules/monetary (Makefile.am): Likewise.
19760         * modules/strings (Makefile.am): Likewise.
19762 2018-02-03  Jim Meyering  <meyering@fb.com>
19764         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
19765         * top/maint.mk (sc_file_system): Don't complain about
19766         "/proc/filesystems".
19768 2018-02-03  Bruno Haible  <bruno@clisp.org>
19770         stdlib: Fix compilation error on OpenIndiana.
19771         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
19772         <sys/time.h>.
19773         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
19774         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
19776 2018-02-03  Bruno Haible  <bruno@clisp.org>
19778         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
19779         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
19780         and use $EGREP instead of 'grep -E'.
19781         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
19782         'grep -E'.
19784 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
19786         malloca: Add a compile-time verification.
19787         * lib/malloca.c (small_t): Verify that it is wide enough.
19788         * modules/malloca (Depends-on): Add verify.
19790 2018-02-02  Bruno Haible  <bruno@clisp.org>
19792         malloca: Add an argument check.
19793         Suggested by Paul Eggert.
19794         * lib/malloca.c (freea): Check against an invalid argument.
19796 2018-02-02  Bruno Haible  <bruno@clisp.org>
19798         localename: Add support for OpenIndiana.
19799         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
19800         Solaris 11 variants with uselocale() but without getlocalename_l().
19802 2018-02-02  Bruno Haible  <bruno@clisp.org>
19804         malloca, xmalloca: Make multithread-safe.
19805         Reported by Florian Weimer <fweimer@redhat.com>.
19806         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
19807         * lib/malloca.h (malloca): In the stack allocation case, return a
19808         pointer that is a multiple of 2 * sa_alignment_max.
19809         (sa_increment): Remove enum item.
19810         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
19811         a pointer that is a multiple of 2 * sa_alignment_max.
19812         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
19813         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
19814         HASH_TABLE_SIZE, mmalloca_results): Remove.
19815         (small_t): New type.
19816         (mmalloca, free): Rewritten.
19817         * lib/malloca.valgrind: Remove file.
19818         * modules/malloca (Files): Remove it.
19819         (Depends-on): Remove verify.
19821 2018-01-31  Bruno Haible  <bruno@clisp.org>
19823         environ: Fix link error on 64-bit Cygwin.
19824         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
19825         __declspec(dllimport) attribute.
19826         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
19828 2018-01-30  Bruno Haible  <bruno@clisp.org>
19830         get-rusage-data: Add support for Minix 3.
19831         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
19833 2018-01-30  Bruno Haible  <bruno@clisp.org>
19835         vma-iter: Add support for Minix 3.
19836         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
19837         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
19839 2018-01-27  Bruno Haible  <bruno@clisp.org>
19841         Fix malfunction of socket functions on HP-UX in 64-bit mode.
19842         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
19843         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
19844         _HPUX_ALT_XOPEN_SOCKET_API.
19845         * modules/accept (Depends-on): Add 'extensions'.
19846         * modules/getpeername (Depends-on): Likewise.
19847         * modules/getsockname (Depends-on): Likewise.
19848         * modules/getsockopt (Depends-on): Likewise.
19849         * modules/recvfrom (Depends-on): Likewise.
19850         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
19851         * doc/posix-functions/getpeername.texi: Likewise.
19852         * doc/posix-functions/getsockname.texi: Likewise.
19853         * doc/posix-functions/getsockopt.texi: Likewise.
19854         * doc/posix-functions/recvfrom.texi: Likewise.
19856 2018-01-27  Bruno Haible  <bruno@clisp.org>
19858         getsockname tests: More tests.
19859         * tests/test-getsockname.c (open_server_socket): New function, mostly
19860         copied from test-poll.c.
19861         (main): Check that getsockname fills in addr.
19862         * modules/getsockname-tests (Depends-on): Add the necessary
19863         dependencies.
19864         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
19866 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
19868         manywarnings: fix maintainer comment
19869         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
19870         it does not mistakenly think that ‘-1)’ is an option.
19872 2018-01-26  Bruno Haible  <bruno@clisp.org>
19874         langinfo: Fix last commit.
19875         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
19876         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
19878 2018-01-24  Bruno Haible  <bruno@clisp.org>
19880         langinfo, nl_langinfo: Add support for alternative month names.
19881         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
19882         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
19883         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
19884         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
19885         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
19886         * doc/posix-functions/nl_langinfo.texi: Likewise.
19888 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19890         Merge strftime.c changes from glibc
19891         This incorporates:
19892         2017-11-14 [BZ #10871] Implement alternative month names
19893         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
19894         2017-06-20 Use locale_t, not __locale_t, throughout glibc
19895         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
19896         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
19897         Use locale_t, not __locale_t.
19898         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
19899         (__strftime_internal): Add support for alternate months.
19901 2018-01-23  Bruno Haible  <bruno@clisp.org>
19903         doc: Mention another prerequisite for using Gnulib.
19904         Reported at <https://stackoverflow.com/questions/48378214/>.
19905         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
19906         AC_CONFIG_HEADERS.
19908 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
19910         build: GuixSD doesn't have /bin/bash
19911         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
19913 2018-01-21  Bruno Haible  <bruno@clisp.org>
19915         Avoid test failures on Microsoft Windows Subsystem for Linux.
19916         * tests/test-fcntl.c (main): Allow a different errno.
19917         * tests/test-rename.h (test_rename): Likewise.
19918         * tests/test-renameat.c (main): Likewise.
19919         * tests/test-renameat2.c (main): Likewise.
19921 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
19923         filenamecat: make base a suffix of result
19924         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
19925         (mfile_name_concat): Always make BASE a suffix of the result, as
19926         cp expects this.  To implement this, separate with '.' instead of
19927         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
19928         * tests/test-filenamecat.c (main): Adjust tests to match
19929         current behavior.  Check that BASE_IN_RESULT points to
19930         a copy of BASE and is a suffix of the resultk, and that DIR
19931         is a prefix of the result that is no longer than the prefix
19932         indicated by BASE_IN_RESULT.
19934 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
19936         update-copyright: Handle use of ©
19937         * build-aux/update-copyright ($circle_c_re): Update regex to
19938         handle use of © in headers.
19940 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
19942         Fix -Wundef warning in user-included header lib/cdefs.h.
19943         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
19945 2018-01-04  Bruno Haible  <bruno@clisp.org>
19947         pthread_sigmask: Avoid compilation error on mingw.
19948         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
19949         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
19950         macro.
19952 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
19954         test-framework-sh: ‘ps -ef’, not ‘ps ef’
19955         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
19956         Suggested by Bob Proulx (Bug#29968).
19957         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
19959 2018-01-02  Eric Blake  <eblake@redhat.com>
19961         stat-time: silence -Wunused-parameter regression
19962         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
19963         Prefer attribute over cast-to-void.
19964         (stat_time_normalize): Mark st as potentially unused.
19966 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
19968         test-framework-sh: avoid netstat
19969         Problem reported by Kristýna Streitová (Bug#29947).
19970         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
19971         deprecated on SuSE and it's not that important anyway.
19973 2018-01-01  Jim Meyering  <meyering@fb.com>
19975         update-copyright: add code to handle more special cases
19976         After running "make update-copyright" this year, five files
19977         required additional manual changes.  Automate those adjustments
19978         for next year.
19979         * Makefile (_year_and_prev): Define.
19980         (update-copyright): Add perl commands to induce this year's post-
19981         update-copyright adjustments.
19983 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19985         version-etc: new year
19986         * build-aux/gendocs.sh (version):
19987         * doc/gendocs_template:
19988         * doc/gendocs_template_min:
19989         * doc/gnulib.texi:
19990         * lib/version-etc.c (COPYRIGHT_YEAR):
19991         Update copyright dates by hand in templates and the like.
19993         maint: fix 'make update-copyright'
19994         * Makefile (update-copyright): Adjust to 2016-11-23 change
19995         to config/srclist-update, which changed the format of srclist.txt.
19997 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
19999         chdir-safer: remove this module
20000         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
20001         * NEWS: Document removal.
20002         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
20003         * modules/chdir-safer: Remove these files.
20005 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
20007         Add cross-compilation results for GNU/Hurd.
20008         * m4/calloc.m4: Add GNU/Hurd guess.
20009         * m4/cbrtl.m4: Likewise.
20010         * m4/ceil.m4: Likewise.
20011         * m4/ceilf.m4: Likewise.
20012         * m4/ceill.m4: Likewise.
20013         * m4/chown.m4: Likewise.
20014         * m4/duplocale.m4: Likewise.
20015         * m4/exp2l.m4: Likewise.
20016         * m4/expm1.m4: Likewise.
20017         * m4/fchdir.m4: Likewise.
20018         * m4/floor.m4: Likewise.
20019         * m4/floorf.m4: Likewise.
20020         * m4/fmod.m4: Likewise.
20021         * m4/fmodf.m4: Likewise.
20022         * m4/fmodl.m4: Likewise.
20023         * m4/getcwd.m4: Likewise.
20024         * m4/getgroups.m4: Likewise.
20025         * m4/gettimeofday.m4: Likewise.
20026         * m4/hypot.m4: Likewise.
20027         * m4/hypotf.m4: Likewise.
20028         * m4/hypotl.m4: Likewise.
20029         * m4/link-follow.m4: Likewise.
20030         * m4/link.m4: Likewise.
20031         * m4/linkat.m4: Likewise.
20032         * m4/log.m4: Likewise.
20033         * m4/log10.m4: Likewise.
20034         * m4/log10f.m4: Likewise.
20035         * m4/log1p.m4: Likewise.
20036         * m4/log1pf.m4: Likewise.
20037         * m4/log1pl.m4: Likewise.
20038         * m4/log2.m4: Likewise.
20039         * m4/log2f.m4: Likewise.
20040         * m4/logf.m4: Likewise.
20041         * m4/lstat.m4: Likewise.
20042         * m4/malloc.m4: Likewise.
20043         * m4/mbrlen.m4: Likewise.
20044         * m4/mbrtowc.m4: Likewise.
20045         * m4/mkdir.m4: Likewise.
20046         * m4/mkfifo.m4: Likewise.
20047         * m4/mknod.m4: Likewise.
20048         * m4/mkstemp.m4: Likewise.
20049         * m4/modf.m4: Likewise.
20050         * m4/modff.m4: Likewise.
20051         * m4/modfl.m4: Likewise.
20052         * m4/printf.m4: Likewise.
20053         * m4/pselect.m4: Likewise.
20054         * m4/ptsname.m4: Likewise.
20055         * m4/putenv.m4: Likewise.
20056         * m4/readlink.m4: Likewise.
20057         * m4/realloc.m4: Likewise.
20058         * m4/remainder.m4: Likewise.
20059         * m4/remainderf.m4: Likewise.
20060         * m4/remainderl.m4: Likewise.
20061         * m4/rmdir.m4: Likewise.
20062         * m4/round.m4: Likewise.
20063         * m4/roundf.m4: Likewise.
20064         * m4/roundl.m4: Likewise.
20065         * m4/select.m4: Likewise.
20066         * m4/setenv.m4: Likewise.
20067         * m4/signbit.m4: Likewise.
20068         * m4/sleep.m4: Likewise.
20069         * m4/stat.m4: Likewise.
20070         * m4/strerror.m4: Likewise.
20071         * m4/strtok_r.m4: Likewise.
20072         * m4/symlink.m4: Likewise.
20073         * m4/symlinkat.m4: Likewise.
20074         * m4/trunc.m4: Likewise.
20075         * m4/truncf.m4: Likewise.
20076         * m4/truncl.m4: Likewise.
20077         * m4/tzset.m4: Likewise.
20078         * m4/ungetc.m4: Likewise.
20079         * m4/usleep.m4: Likewise.
20080         * m4/wcwidth.m4: Likewise.
20082 2017-12-28  Bruno Haible  <bruno@clisp.org>
20084         gnulib-tool: Make --conditional-dependencies work better.
20085         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
20086         * gnulib-tool (Options): Don't reject the combination of
20087         --conditional-dependencies with --with-tests.
20088         (func_emit_autoconf_snippets): Add argument referenceable_modules.
20089         Don't reference $modules.
20090         (func_import, func_create_testdir): Pass it.
20092 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20094         regex: use re_malloc etc. consistently
20095         Problem and original patch reported by Arnold Robbins in:
20096         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
20097         * lib/regcomp.c (re_comp):
20098         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
20099         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
20101 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
20102             Paul Eggert  <eggert@cs.ucla.edu>
20104         glob: Silence warning about void pointer arithmetic.
20105         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
20106         arithmetic.
20108 2017-12-15  Bruno Haible  <bruno@clisp.org>
20110         spawn-pipe: Silence a clang warning.
20111         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20112         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
20113         in this file.
20115 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
20117         explicit_bzero: port to macOS + Clang 9.0.0
20118         Problem reported by Marcus Johnson (Bug#29658).
20119         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
20120         Don’t use asm.
20122 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
20124         doc: Improve explanation of supporting relocatable libraries.
20125         * doc/relocatable-maint.texi (Supporting Relocation): Explain
20126         properly how to build the relocatable module for
20127         libraries. (Method and example code from Bruno Haible.)
20129 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
20131         doc: Use better texinfo tags in a few cases.
20132         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
20133         instead of @samp in a few places.
20135 2017-12-11  Bruno Haible  <bruno@clisp.org>
20137         unistr/base: Update comment.
20138         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
20140 2017-12-10  Pádraig Brady  <P@draigBrady.com>
20142         test-faccessat.c: unlink temp file to avoid subsequent test failure
20143         * tests/test-faccessat.c: Remove the file to avoid failure
20144         to open the file on subsequent runs due to being created
20145         with no permissions.
20147 2017-12-10  Bruno Haible  <bruno@clisp.org>
20149         doc: New sect. "Modifying the build rules of a Gnulib import directory".
20150         * doc/gnulib-tool.texi (Modified build rules): New node.
20152 2017-12-10  Bruno Haible  <bruno@clisp.org>
20154         doc: Tweak wording.
20155         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
20156         "binaries".
20158 2017-12-05  Sam Steingold  <sds@gnu.org>
20159             Bruno Haible  <bruno@clisp.org>
20161         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
20162         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
20163         AC_EGREP_CPP pattern.
20165 2017-12-03  Bruno Haible  <bruno@clisp.org>
20167         all: Replace more http URLs by https URLs.
20168         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
20169         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
20170         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
20171         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
20173 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20175         Port better to CentOS 5
20176         Problems reported by Tom G. Christensen in:
20177         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
20178         * doc/glibc-functions/strverscmp.texi (strverscmp):
20179         Document strverscmp bug with glibc 2.9 and earlier.
20180         * doc/posix-functions/tzset.texi (tzset):
20181         Document that TZ with angle brackets is POSIX-2001 and later.
20182         * tests/test-nstrftime.c: Include unistd.h.
20183         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
20184         (TZ): Use it to skip tests with angle brackets in TZ,
20185         for older systems.
20187         stat: add missing module dependencies
20188         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
20189         Add stat-time.
20191 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
20193         stat: fix compilation failure on macOS Sierra
20194         Reported by Marius Schamschula <mschamschula@gmail.com> in:
20195         https://savannah.gnu.org/bugs/?52546
20196         * lib/stat.c: Add missing include of stat-time.h.
20198 2017-11-28  Jim Meyering  <meyering@fb.com>
20200         test-faccessat.c: correct BASE definition to avoid parallel test failure
20201         * tests/test-faccessat.c (BASE): Define using this file's name, not
20202         that of test-lstat.c.  Using the latter caused this test to fail
20203         sometimes when run concurrently with test-lstat.
20205 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20207         unicase: fix VPATH build
20208         * modules/unicase/special-casing (Makefile.am): Ensure that the
20209         base directory is created when generating
20210         unicase/special-casing.h.
20212 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20214         libunistring: update to Unicode 9.0.0
20215         * lib/gen-uni-tables.c (fill_properties): Recognize
20216         Sentence_Terminal and Prepended_Concatenation_Mark.
20217         (is_property_default_ignorable_code_point): Exclude U+08E2.
20218         (fill_arabicshaping): Allow missing whitespace when parsing;
20219         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
20220         (output_blocks): Increase the element size of the level1 table to
20221         accommodate more blocks.
20222         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
20223         Update each class according to the standard.
20224         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
20225         E_Base_GAZ characters.
20226         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
20227         Glue_After_Zwj, and E_Base_GAZ characters.
20228         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
20229         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
20230         enum value.
20231         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
20232         value.
20233         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
20234         LBP_ZWJ, LBP_EB, and LBP_EM.
20235         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
20236         enum value.
20237         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
20238         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
20239         declaration.
20240         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
20241         (uniwbrk_table): Implement WB14.
20242         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
20243         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
20244         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
20245         uc-is-grapheme-break.
20246         * modules/unigbrk/uc-grapheme-breaks: New module.
20247         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
20248         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
20249         enum value.
20250         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
20251         * lib/unigbrk/u-grapheme-breaks.h: New file.
20252         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
20253         u-grapheme-breaks.h instead of uc_is_grapheme_break.
20254         * lib/unigbrk/uc-grapheme-breaks.c: New file.
20255         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
20256         29.
20257         * tests/unigbrk/test-uc-gbrk-prop.c
20258         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20259         GBP_GAZ, and GBP_EBG.
20260         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
20261         * tests/unigbrk/test-uc-is-grapheme-break.c
20262         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20263         GBP_GAZ, and GBP_EBG.
20264         (main): Skip unsupported rules involving 3 or more characters,
20265         namely GB10, GB12, and GB13.
20266         * lib/uniwidth/width.c (nonspacing_table_data): Update.
20267         * all generated files under lib/uni* and tests/uni*: Regenerate.
20268         * all the affected modules: Bump version.
20270 2017-11-26  Bruno Haible  <bruno@clisp.org>
20272         strfmon_l: Fix compilation error with glibc 2.5.
20273         Reported by Tom G. Christensen <tgc@jupiterrise.com>
20274         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
20275         * lib/monetary.in.h: Include also <locale.h>.
20277 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20279         posixtm: remove PDS_LEADING_YEAR
20280         This changes the API slightly, in a hopefully-innocuous way.
20281         Without this change the code had undefined behavior when a
20282         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
20283         Problem reported by Pádraig Brady in:
20284         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
20285         * NEWS: Mention this.
20286         * lib/posixtm.c (posix_time_parse): Treat the absence of
20287         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
20288         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
20289         present, but define it as zero, for compatibility with existing
20290         source code).  All other PDS_* values moved up.
20291         * tests/test-posixtm.c (LY): New macro.
20292         (T): Use it.  Do not expect a particular numeric encoding
20293         for PDS_CENTURY etc.
20295 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
20297         stat: work around Solaris bug with tv_nsec < 0
20298         * doc/posix-functions/fstat.texi (fstat):
20299         * doc/posix-functions/fstatat.texi (fstatat):
20300         * doc/posix-functions/lstat.texi (lstat):
20301         * doc/posix-functions/stat.texi (stat):
20302         Mention Solaris 11 bug.
20303         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
20304         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
20305         * lib/lstat.c (rpl_lstat):
20306         * lib/stat.c (rpl_stat):
20307         Normalize resulting timestamps.
20308         * lib/fstatat.c (normal_fstatat): New function.
20309         (rpl_fstatat): Use it.
20310         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
20311         (stat_time_normalize): New function.
20312         * m4/fstat.m4 (gl_FUNC_FSTAT):
20313         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
20314         * m4/lstat.m4 (gl_FUNC_LSTAT):
20315         * m4/stat.m4 (gl_FUNC_STAT):
20316         Replace on Solaris.
20317         * modules/fstat (Depends-on):
20318         * modules/fstatat (Depends-on):
20319         Add stat-time.
20320         * modules/stat-time (Depends-on): Add errno, intprops.
20322 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
20324         regex: merge from glibc
20325         * lib/regcomp.c (init_word_char): Add comments.
20327 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
20329         regex: merge from glibc
20330         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
20331         * lib/regex_internal.h (internal_function): Remove.
20332         All uses removed.
20334 2017-11-20  Bruno Haible  <bruno@clisp.org>
20336         crypto/gc-sm3: Fix buffer overrun.
20337         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
20338         Reported by Coverity.
20340 2017-11-12  Jim Meyering  <meyering@fb.com>
20342         maint: shorten https://lists.gnu.org/archive/html/... links
20343         Each /archive/html/ part can be replace with /r/.
20344         Run this to induce the change:
20345         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
20346         * ChangeLog: Perform that substitution.
20347         * Makefile: Likewise.
20348         * STATUS-libposix: Likewise.
20349         * build-aux/bootstrap: Likewise.
20350         * doc/maintain.texi: Likewise.
20351         * gnulib-tool: Likewise.
20352         * lib/allocator.h: Likewise.
20353         * lib/argp-ba.c: Likewise.
20354         * lib/argp-pv.c: Likewise.
20355         * lib/canon-host.c: Likewise.
20356         * lib/canonicalize-lgpl.c: Likewise.
20357         * lib/float.in.h: Likewise.
20358         * lib/fstat.c: Likewise.
20359         * lib/getdelim.c: Likewise.
20360         * lib/getprogname.c: Likewise.
20361         * lib/glthread/thread.h: Likewise.
20362         * lib/intprops.h: Likewise.
20363         * lib/mbsrtowcs-state.c: Likewise.
20364         * lib/safe-read.c: Likewise.
20365         * lib/signal.in.h: Likewise.
20366         * lib/stat.c: Likewise.
20367         * lib/stdbool.in.h: Likewise.
20368         * lib/stdio-impl.h: Likewise.
20369         * lib/stdio.in.h: Likewise.
20370         * lib/sysexits.in.h: Likewise.
20371         * lib/timespec.h: Likewise.
20372         * lib/wcsrtombs-state.c: Likewise.
20373         * m4/alloca.m4: Likewise.
20374         * m4/extern-inline.m4: Likewise.
20375         * m4/fstatat.m4: Likewise.
20376         * m4/gnulib-common.m4: Likewise.
20377         * m4/lib-ignore.m4: Likewise.
20378         * m4/printf.m4: Likewise.
20379         * m4/regex.m4: Likewise.
20380         * m4/stat-size.m4: Likewise.
20381         * m4/std-gnu11.m4: Likewise.
20382         * m4/stdbool.m4: Likewise.
20383         * m4/sys_types_h.m4: Likewise.
20384         * m4/threadlib.m4: Likewise.
20385         * m4/vararrays.m4: Likewise.
20386         * pygnulib/GLImport.py: Likewise.
20387         * tests/test-exp.h: Likewise.
20388         * tests/test-exp2.h: Likewise.
20389         * tests/test-expm1.h: Likewise.
20390         * tests/test-fflush2.c: Likewise.
20391         * tests/test-getopt_long.h: Likewise.
20392         * tests/test-intprops.c: Likewise.
20393         * tests/test-log.h: Likewise.
20394         * tests/test-log10.h: Likewise.
20395         * tests/test-log1p.h: Likewise.
20396         * tests/test-log2.h: Likewise.
20397         * tests/test-printf-posix.h: Likewise.
20398         * tests/test-regex.c: Likewise.
20399         * tests/test-snprintf-posix.h: Likewise.
20400         * tests/test-sprintf-posix.h: Likewise.
20401         * tests/test-stdalign.c: Likewise.
20402         * tests/test-stdbool.c: Likewise.
20403         * tests/test-vasnprintf-posix.c: Likewise.
20404         * tests/test-vasprintf-posix.c: Likewise.
20405         * top/maint.mk: Likewise.
20407 2017-11-12  Bruno Haible  <bruno@clisp.org>
20409         faccessat: Make the last change more robust.
20410         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
20411         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
20413 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
20415         faccessat: port to macOS (Bug#29231)
20416         macOS faccessat has the same bug that lstat does: if the file
20417         name ends in '/' it ignores the trailing slash.
20418         Problem reported for Emacs by Vincent Zhang.
20419         * doc/posix-functions/faccessat.texi (faccessat): Document this.
20420         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
20421         around the initial includes.  Include errno.h, string.h, sys/stat.h.
20422         (orig_faccessat) [HAVE_FACCESSAT]: New function.
20423         Include "unistd.h" after defining it.
20424         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
20425         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
20426         Handle in the usual way.
20427         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
20428         lstat dereferences symlinks, since faccessat is likely to
20429         have the same problem.
20430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
20431         * modules/faccessat (Depends-on): Add fstatat.
20432         Depend if REPLACE_FACCESSAT is 1, too.
20433         (configure.ac): Link if REPLACE_FACCESSAT is 1.
20434         * modules/faccessat-tests (Depends-on): Add symlink.
20435         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
20436         * tests/test-faccessat.c (main): Test for the bug.
20438 2017-11-11  Bruno Haible  <bruno@clisp.org>
20440         getprogname: Fix compilation error on IRIX.
20441         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
20442         'namesize'.
20444 2017-11-11  Bruno Haible  <bruno@clisp.org>
20446         year2038: Tweak last patch.
20447         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
20449 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
20451         year2038: be more insistent about 64-bit time_t
20452         Applications requiring access to arbitrary files should not be
20453         built with 32-bit time_t on hosts that have 64-bit timestamps,
20454         as this can lead to real trouble at runtime.
20455         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
20456         Check on all systems, not just MinGW.  Use a heuristic involving
20457         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
20458         output a failure or just a warning, to make it more likely that
20459         builders will select 64-bit time_t.
20461 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20463         havelib: fix typo in previous change
20464         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
20466         Don’t use AC_EGREP_CPP if affected by CFLAGS
20467         * m4/float_h.m4 (gl_FLOAT_H):
20468         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
20469         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
20470         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
20471         * m4/year2038.m4 (gl_YEAR2038):
20472         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
20473         likely to be affected by the choice of CFLAGS, since CFLAGS are
20474         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
20475         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
20477         fstatat: pacify GCC on unusual platform
20478         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
20479         Omit, as it’s unused in this case.
20481 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
20483         timespec: prefer ‘assume’ to ‘assure’
20484         This avoids some runtime tests.  The rest of the module makes
20485         similar assumptions and there is little point to testing here.
20486         * lib/timespec.h: Include verify.h instead of assure.h.
20487         (timespec_cmp): Use ‘assume’, not ‘assure’.
20488         Also, remove an unnecessary cast to ‘int’, as lots of other
20489         code in this module now causes -Wconversion to complain, and
20490         this is a problem with -Wconversion not with the code.
20492         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
20494         Port recent gnulib-tool change to Dash
20495         * gnulib-tool (func_create_testdir): Don't assume that the shell
20496         retokenizes after expanding "$@" inside the call to
20497         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
20499 2017-10-27  Jim Meyering  <meyering@fb.com>
20501         timespec.h: use "assure" to avoid a spurious warning
20502         * lib/timespec.h: Include "assure.h" and use it to help
20503         gcc7's -Wstrict-overflow avoid a false positive warning
20504         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
20505         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
20506         * modules/timespec (Depends-on): Add assure.
20508 2017-10-29  Bruno Haible  <bruno@clisp.org>
20510         Avoid several test failures with traditional locales on Haiku.
20511         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
20512         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
20513         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
20514         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
20515         LOCALE_ZH_CN=none.
20517 2017-10-29  Bruno Haible  <bruno@clisp.org>
20519         strerror_r-posix: Fix behaviour and test failure on Haiku.
20520         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
20521         are positive. Work around return value 0 instead of ERANGE on Haiku.
20522         For unknown error numbers, use a format string consistent with perror().
20523         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
20524         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
20525         are positive.
20527 2017-10-29  Bruno Haible  <bruno@clisp.org>
20529         get-rusage-data: Avoid crash on Haiku.
20530         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
20532 2017-10-29  Bruno Haible  <bruno@clisp.org>
20534         get-rusage-as: Avoid crash on Haiku.
20535         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
20537 2017-10-29  Bruno Haible  <bruno@clisp.org>
20539         ilogbl: Ensure replacement on Haiku.
20540         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
20541         REPLACE_ILOGBL if ilogbl does not work.
20542         (gl_FUNC_ILOGBL_WORKS): New macro.
20543         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
20544         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
20545         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
20546         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
20547         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
20549 2017-10-29  Bruno Haible  <bruno@clisp.org>
20551         expl: Ensure replacement on Haiku.
20552         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
20553         zero.
20554         * doc/posix-functions/expl.texi: Mention the Haiku problem.
20556 2017-10-29  Bruno Haible  <bruno@clisp.org>
20558         math: Fix test failure on Haiku.
20559         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
20560         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
20561         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
20562         * doc/posix-headers/math.texi: Mention the Haiku problem.
20564 2017-10-29  Bruno Haible  <bruno@clisp.org>
20566         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
20567         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
20568         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
20570 2017-10-29  Bruno Haible  <bruno@clisp.org>
20572         crypto/*: Verify that the header file is self-contained.
20573         * tests/test-gc-*.c: Include the module's header file immediately after
20574         <config.h>.
20575         * tests/test-hmac-*.c: Likewise.
20576         * tests/test-arcfour.c: Likewise.
20577         * tests/test-arctwo.c: Likewise.
20578         * tests/test-des.c: Likewise.
20579         * tests/test-md2.c: Likewise.
20580         * tests/test-md4.c: Likewise.
20581         * tests/test-md5.c: Likewise.
20582         * tests/test-rijndael.c: Likewise.
20583         * tests/test-sha1.c: Likewise.
20584         * tests/test-sm3.c: Likewise.
20586 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20587             Bruno Haible  <bruno@clisp.org>
20589         crypto/gc: fix build failure with -Werror=suggest-attribute=const
20590         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
20592 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20594         New module: crypto/gc-sm3
20595         * lib/gc.h: Declare SM3-related stuffs.
20596         * lib/gc-gnulib.c: Support sm3 in internal functions.
20597         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
20598         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
20599         * modules/crypto/gc-sm3: Define gc-sm3 module.
20600         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
20601         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
20602         * MODULES.html.sh: List gc-sm3 module.
20604 2017-10-29  Bruno Haible  <bruno@clisp.org>
20606         random, random_r: Mention different prototypes on Haiku.
20607         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
20608         * doc/glibc-functions/random_r.texi: Likewise.
20609         * doc/glibc-functions/initstate_r.texi: Likewise.
20610         * doc/glibc-functions/setstate_r.texi: Likewise.
20612 2017-10-28  Bruno Haible  <bruno@clisp.org>
20614         posix_spawn: Avoid spurious message in configure output.
20615         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
20616         'cmp' command.
20618 2017-10-28  Bruno Haible  <bruno@clisp.org>
20620         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
20621         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
20622         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
20624 2017-10-28  Bruno Haible  <bruno@clisp.org>
20626         ioctl: Override non-POSIX declaration on Haiku.
20627         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
20628         * lib/sys_ioctl.in.h: Add comment about Haiku.
20629         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
20630         * doc/glibc-headers/sys_ioctl.texi: Likewise.
20632 2017-10-28  Bruno Haible  <bruno@clisp.org>
20634         crypto/sm3: Add overview documentation to the .h file.
20635         * lib/sm3.h: Add comments.
20637 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20639         New module: crypto/sm3
20640         This new module can be used to compute SM3 message digest of files or
20641         memory blocks according to the specification GM/T 004-2012
20642         Cryptographic Hash Algorithm SM3, published by State Cryptography
20643         Administration, China.
20644         The official SM3 cryptographic hash algorithm specification is
20645         available at
20646         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
20647         * lib/sm3.h: Declare the APIs of sm3 module.
20648         * lib/sm3.c: Implement SM3 hash algorithm.
20649         * m4/sm3.m4: m4 file for sm3 module.
20650         * modules/crypto/sm3: Define sm3 module.
20651         * tests/test-sm3.c: Implement SM3 test case.
20652         * modules/crypto/sm3-tests: Define sm3 test module.
20653         * MODULES.html.sh: List sm3 module.
20655 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20657         gc-libgcrypt: fix undefined enum type in switch statement
20658         Resolve the following build failure:
20659         lib/gc-libgcrypt.c: In function 'gc_hash_open':
20660         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
20661         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
20662              case 0:
20663              ^~~~
20664         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
20665         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
20667 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20669         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
20670         Resolve the following build failure:
20671         lib/gc-libgcrypt.c: In function 'gc_hash_read':
20672         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
20673         in signedness [-Werror=pointer-sign]
20674             digest = gcry_md_read (ctx->gch, 0);
20675                    ^
20676         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
20678 2017-10-26  Bruno Haible  <bruno@clisp.org>
20680         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
20681         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
20682         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
20684 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
20686         glob: fix another heap buffer overflow
20687         Problem reported by Tim Rühsen in:
20688         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
20689         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
20691 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
20693         quotearg: pacify compiler re unsigned
20694         * lib/quotearg.c (quotearg_n_options):
20695         Rewrite to avoid diagnostic from overly-picky compiler.
20696         Problem reported by Sami Kerola in:
20697         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
20699         glob: fix heap buffer overflow
20700         * lib/glob.c (glob): Fix off-by-one error introduced into
20701         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
20702         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
20703         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
20704         Fix suggested by Bruno Haible.
20706 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
20708         glob: pacify fuzzer for mempcpy
20709         Problem reported by Tim Rühsen in:
20710         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
20711         * lib/glob.c (glob): Do not pass NULL to mempcpy.
20713 2017-10-12  Bruno Haible  <bruno@clisp.org>
20715         doc: Fix syntax error (regression from 2017-10-03).
20716         * doc/posix-functions/strncpy.texi: Fix syntax error.
20718 2017-10-12  Bruno Haible  <bruno@clisp.org>
20720         doc: Update for Solaris 11.3.
20721         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
20722         mention Solaris 11.3.
20723         * m4/log2.m4: Fix comments.
20724         * m4/log2f.m4: Likewise.
20725         * m4/printf.m4: Update comments.
20726         * m4/rename.m4: Likewise.
20727         * m4/strncat.m4: Likewise.
20729         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
20731 2017-10-10  Bruno Haible  <bruno@clisp.org>
20733         doc: Improve doc about ioctl.
20734         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
20735         prototype.
20737 2017-10-09  Bruno Haible  <bruno@clisp.org>
20739         wcwidth: Don't use obsolete syntax of 'test'.
20740         Reported by Eric Blake.
20741         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
20742         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
20744 2017-10-09  Bruno Haible  <bruno@clisp.org>
20746         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
20747         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
20748         and Daniel P. Berrange <berrange@redhat.com>.
20749         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
20750         on glibc systems. The getopt-pfx-core.h file declares exactly what
20751         unistd.h needs, nothing more.
20753 2017-10-08  Bruno Haible  <bruno@clisp.org>
20755         vma-iter: Improve support for FreeBSD.
20756         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
20757         vma_iterate.
20758         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
20760 2017-10-08  Bruno Haible  <bruno@clisp.org>
20762         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
20763         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
20765 2017-10-07  KO Myung-Hun  <komh@chollian.net>
20767         test-framework-sh: Fix 'invalid path dir' error.
20768         On OS/2, a path separator is ';' not ':'. And ':' is used as a
20769         separator between a drive letter and directory parts.
20770         As a result, an absolute path such as x:/path/to/dir on OS/2 is
20771         treated as an invalid path dir.
20772         * tests/init.sh (PATH_SEPARATOR): Set at startup.
20773         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
20774         instead of hard coded ':'.
20776 2017-10-07  Bruno Haible  <bruno@clisp.org>
20778         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
20779         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
20780         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
20781         (rof_open): On Linux, do multiple read() calls and make sure
20782         MIN_LEFTOVER bytes are left when read() returns.
20784 2017-10-07  Bruno Haible  <bruno@clisp.org>
20786         vma-iter: Improve support for GNU/Hurd.
20787         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
20788         API, not the /proc file system.
20790 2017-10-07  Bruno Haible  <bruno@clisp.org>
20792         test-framework-sh: Don't require bash on Windows and OS/2.
20793         Reported by KO Myung-Hun.
20794         * tests/test-init.sh: Use 'shopt' only when running in bash.
20796 2017-10-06  KO Myung-Hun  <komh@chollian.net>
20798         wcwidth: check a macro version of wcwidth () as well
20799         * lib/wchar.in.h: Revert commit from 2016-01-14.
20800         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
20802 2017-10-06  Bruno Haible  <bruno@clisp.org>
20804         getopt-posix: Clarify copyright header.
20805         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
20806         * lib/getopt-pfx-core.h: Likewise.
20807         * lib/getopt-pfx-ext.h: Likewise.
20808         * lib/getopt-cdefs.in.h: Likewise.
20810 2017-10-03  Bruno Haible  <bruno@clisp.org>
20812         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
20813         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
20814         gl_HOST_CPU_C_ABI.
20816 2017-10-03  Bruno Haible  <bruno@clisp.org>
20818         doc: warn about misuse of strncpy and wcsncpy.
20819         * doc/posix-functions/strcpy.texi: Describe requirements on prior
20820         memory allocation.
20821         * doc/posix-functions/wcscpy.texi: Likewise.
20822         * doc/posix-functions/strncpy.texi: Describe what this function is not
20823         useful for.
20824         * doc/posix-functions/wcsncpy.texi: Likewise.
20826 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
20828         fsuage: fix typo in previous change
20829         * lib/fsusage.c: Remove stray include of full-read.h.
20830         Problem reported by Sam Steingold for macOS (Bug#28669).
20832 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
20834         fsusage: remove SVR2 support
20835         SVR2 was obsolete by 1986 and is no longer supported by anybody,
20836         and its code was getting in the way of use of this module by
20837         Emacs, which has its own ‘read’ function anyway.
20838         * lib/fsusage.c: Do not include sys/filsys.h.
20839         (get_fs_usage): Remove SVR2-specific code.
20840         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
20841         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
20842         * modules/fsusage (Depends-on): Do not depend on full-read.
20844         Simplify autoupdate of licenses
20845         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
20846         place.
20848 2017-10-01  Bruno Haible  <bruno@clisp.org>
20850         vma-iter: Add support for GNU/Hurd.
20851         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
20852         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
20854 2017-09-30  Bruno Haible  <bruno@clisp.org>
20856         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
20857         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
20858         fail when module 'largefile' is in use.
20859         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
20860         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
20861         Don't test HAVE_SYS_PROCFS_H.
20863 2017-09-30  Bruno Haible  <bruno@clisp.org>
20865         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
20866         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
20867         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
20868         * modules/havelib (Depends-on): Add host-cpu-c-abi.
20870 2017-09-30  Bruno Haible  <bruno@clisp.org>
20872         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
20873         * lib/uniname/uniname.c (unicode_name_character): Add braces around
20874         scope of local variables.
20876 2017-09-28  Bruno Haible  <bruno@clisp.org>
20878         string: code style
20879         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
20880         substitutable variables.
20881         * modules/string (Makefile.am): Likewise.
20883 2017-09-26  Bruno Haible  <bruno@clisp.org>
20885         uniname/uniname-tests: Tighten code.
20886         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
20887         local variables into one.
20889 2017-09-26  Bruno Haible  <bruno@clisp.org>
20891         vma-iter: Improvements for Linux and BSD platforms.
20892         - Add support for DragonFly BSD.
20893         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
20894         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
20895         Read the entire file into memory in a single system call.
20896         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
20897         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
20899 2017-09-26  Bruno Haible  <bruno@clisp.org>
20901         vma-iter: Provide the protection flags on FreeBSD.
20902         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
20903         skip three fields between the addresses and the protection flags.
20905 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20907         glob: remove bogus extern decl
20908         * lib/glob.c (__glob_pattern_type): Remove now-spurious
20909         extern declaration.  Problem reported by Adhemerval Zanella in:
20910         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
20912 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
20914         uniname/uniname-tests: integer overflow fix
20915         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
20916         Check for integer overflow.
20918         duplocale-tests: fix unlikely crash
20919         * tests/test-duplocale.c (get_locale_dependent_values):
20920         Don’t crash with absurdly long month names.
20922         maint: fix overflow checking in nap.h
20923         * modules/chown-tests:
20924         * modules/fchownat-tests, modules/fdutimensat-tests:
20925         * modules/futimens-tests, modules/lchown-tests:
20926         * modules/stat-time-tests, modules/utime-tests:
20927         * modules/utimens-tests, modules/utimensat-tests:
20928         Depend on intprops.
20929         * tests/nap.h: Include intprops.h.
20930         (diff_timespec): Handle overflow properly.
20932         sys_types: update URL
20933         * m4/sys_types_h.m4: Use https: URL.
20935         parse-datetime: fix dependency
20936         * modules/parse-datetime (Depends-on): Depend
20937         on nstrftime, not strftime.
20939         parse-datetime, posixtm: avoid uninit access
20940         * lib/parse-datetime.y (parse_datetime2):
20941         * lib/posixtm.c (posixtime):
20942         Do not access uninitialized storage, even though the resulting
20943         value is never used.
20945 2017-09-25  Bruno Haible  <bruno@clisp.org>
20947         vma-iter: Improvements for BSD platforms.
20948         - Add support for GNU/kFreeBSD.
20949         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
20950         - Speed up on OpenBSD.
20951         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
20952         (vma_iterate_bsd): New function.
20953         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
20954         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
20955         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
20956         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
20958 2017-09-23  Bruno Haible  <bruno@clisp.org>
20960         strfmon_l: New module.
20961         * modules/strfmon_l: New file.
20962         * lib/strfmon_l.c: New file.
20963         * m4/strfmon_l.m4: New file.
20964         * doc/posix-functions/strfmon_l.texi: Mention the new module.
20965         * modules/strfmon_l-tests: New file.
20966         * tests/test-strfmon_l.c: New file.
20968         monetary: New module.
20969         * modules/monetary: New file.
20970         * lib/monetary.in.h: New file.
20971         * m4/monetary_h.m4: New file.
20972         * doc/posix-headers/monetary.texi: Mention the new module.
20973         * modules/monetary-tests: New file.
20974         * tests/test-monetary.c: New file.
20975         * modules/monetary-c++-tests: New file.
20976         * tests/test-monetary-c++.cc: New file.
20977         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
20979 2017-09-23  Bruno Haible  <bruno@clisp.org>
20981         duplocale tests: Fix test crash on Linux/x86.
20982         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
20983         locale from the current thread before freeing it.
20985 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
20987         mktime: port to OpenVMS
20988         Problem reported by John E. Malmberg in:
20989         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
20990         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
20992 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20994         manywarnings: port to GCC on 64-bit MS-Windows
20995         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
20996         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
20997         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
20999 2017-09-13  Bruno Haible  <bruno@clisp.org>
21001         all: Replace many more http URLs by https URLs. Update stale URLs.
21002         * users.txt: Remove mention of 'newts'.
21003         * lib/localename.c: Update comment about LANG_SOTHO.
21005 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21007         all: Replace many http URLs by https URLs.
21009 2017-09-12  Bruno Haible  <bruno@clisp.org>
21011         doc: Prefer https URLs where possible.
21012         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
21013         * doc/ld-output-def.texi: Remove unavailable URL.
21015 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
21017         maintainer-makefile: FTP -> HTTPS
21018         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
21019         of FTP, which is planned to be decommissioned on 2017-11-01.
21021 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
21023         libc-config: Fix __GNUC_PREREQ macro.
21024         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
21025         __GNUC_MINOR.
21027 2017-09-09  Bruno Haible  <bruno@clisp.org>
21029         gnulib-tool: Simplify commit from 2015-08-20.
21030         * gnulib-tool (func_add_or_update): Remove local variable
21031         is_binary_file.
21033 2017-09-08  Bruno Haible  <bruno@clisp.org>
21035         stddef: Avoid conflict with system-defined max_align_t.
21036         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
21037         Reported by Werner Lemberg <wl@gnu.org> in
21038         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
21039         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
21040         (max_align_t): Define as a macro.
21041         (GNULIB_defined_max_align_t): New macro. Guards against multiple
21042         definitions of rpl_max_align_t in different copies of gnulib-generated
21043         <stddef.h>.
21045 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
21047         libc-config: port to MSVC
21048         Problems reported by Gisle Vanem in:
21049         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
21050         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
21051         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
21052         * m4/__inline.m4: New file.
21053         * modules/libc-config (Files): Add it.
21054         (Depends-on): Use it.
21056         glob: Use enum for __glob_pattern_type result
21057         From a patch proposed by Adhemerval Zanella in:
21058         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
21059         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
21060         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
21061         * lib/glob_internal.h (__glob_pattern_type):
21062         * lib/glob.c (glob):
21063         * lib/glob_pattern_p.c (__glob_pattern_p):
21064         Use them.
21066         glob: fix for use in glibc
21067         Problem reported by Adhemerval Zanella in:
21068         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
21069         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
21070         Do not redefine if _LIBC.
21072 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21074         glob: fix bugs with long login names
21075         Problem reported by Adhemerval Zanella in:
21076         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
21077         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
21078         (glob): Use the same scratch buffer for both getlogin_r and
21079         getpwnam_r.  Don’t require preallocation of the login name.  This
21080         simplifies storage allocation, and corrects the handling of
21081         long login names.
21083 2017-09-02  Bruno Haible  <bruno@clisp.org>
21085         dirent: Update doc.
21086         * doc/posix-headers/dirent.texi: More concrete list of platforms.
21088 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21090         glob: fix getpwnam_r errno typo
21091         * lib/glob.c (glob): Fix longstanding misuse of errno after
21092         getpwnam_r, which returns an error number rather than setting
21093         errno.
21095         glob: fix typo in recent change
21096         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
21097         Fix recently-introduced typo.
21099 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21101         glob: don't save and restore errno unnecessarily
21102         * lib/glob.c (glob): Don't save and restore errno
21103         merely because we have getpwnam_r.
21105         glob: don't assume getpwnam_r
21106         * lib/glob.c (glob): Port recent patches to platforms
21107         lacking getpwnam_r.
21109         scratch_buffer: don’t use private glibc API
21110         Suggested by Florian Weimer in:
21111         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
21112         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
21113         * lib/scratch_buffer_grow.c: Rename to
21114         lib/malloc/scratch_buffer_grow.c.
21115         * lib/scratch_buffer_grow_preserve.c: Rename to
21116         lib/malloc/scratch_buffer_grow_preserve.c.
21117         * lib/scratch_buffer_set_array_size.c: Rename to
21118         lib/malloc/scratch_buffer_set_array_size.c.
21119         * lib/scratch_buffer.h: New file.
21120         * modules/scratch_buffer (Files, Makefile.am):
21121         Adjust to source-file renaming.
21123 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
21125         glob: use scratch_buffer instead of extend_alloca
21126         Much of the lib/glob.c part of this patch comes from a glibc patch
21127         proposed by Adhemerval Zanella in:
21128         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
21129         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
21130         included via glob.h, does this for us now.
21131         (__set_errno): Remove, as libc-config does this for us now.
21132         Include <scratch_buffer.h>.
21133         (GETPW_R_SIZE_MAX): Remove.
21134         (glob): Use struct scratch_buffer instead of extend_alloca.
21135         * lib/glob.in.h: Include libc-config.h rather than
21136         including <sys/cdefs.h> conditionally.
21137         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
21138         (__glibc_unlikely, __restrict, weak_alias):
21139         Remove, as libc-config does this for us now.
21140         * m4/glob.m4 (gl_PREREQ_GLOB):
21141         Remove sys/cdefs.h tests; no longer needed.
21142         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
21143         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
21145         scratch_buffer: new module
21146         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
21147         * lib/scratch_buffer_grow_preserve.c:
21148         * lib/scratch_buffer_set_array_size.c:
21149         New files, copied from glibc with very minor changes that can be
21150         copied back.
21151         * modules/scratch_buffer: New file.
21153         libc-config: new module
21154         * MODULES.html.sh: Add libc-config.
21155         * lib/cdefs.h: New file, copied from the GNU C Library with very
21156         minor changes that can be copied back.
21157         * lib/libc-config.h, modules/libc-config: New files.
21159 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
21161         glob: match dangling symlinks
21162         This fixes a bug I inadvertently introduced to Gnulib when I
21163         merged glibc glob back into gnulib on 2007-10-16.  This fix is
21164         inspired by a patch proposed for glibc by Adhemerval Zanella in:
21165         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
21166         * doc/posix-functions/glob.texi: Update list of affected platforms.
21167         * lib/glob.c (__lstat64): New macro.
21168         (is_dir): New function.
21169         (glob, glob_in_dir): Match symlinks even if they are dangling.
21170         (link_stat, link_exists_p): Remove.  All uses removed.
21171         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
21172         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
21173         * modules/glob-tests (Depends-on): Add symlink.
21174         * tests/test-glob.c: Include errno.h, unistd.h.
21175         (BASE): New macro.
21176         (main): Test dangling symlinks, if symlinks are supported.
21178         glob, backupfile: inode 0 is a valid inode number
21179         * doc/posix-functions/readdir.texi (readdir):
21180         * doc/posix-headers/dirent.texi (dirent.h):
21181         Document more readdir portability issues.
21182         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
21183         (numbered_backup): Don’t treat inode 0 any differently from
21184         other inode values.
21185         * lib/glob.c (struct readdir_result): Remove skip_entry member.
21186         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
21187         All uses removed.
21188         * modules/glob (Depends-on): Remove d-ino.
21190         glob: simplify symlink detection
21191         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
21192         uint8_t, as C99 does not require uint8_t.
21193         (struct readdir_result): Use it.  Do not define skip_entry unless
21194         it is needed; this saves a byte on platforms lacking d_ino.
21195         (readdir_result_type, readdir_result_skip_entry):
21196         New functions, replacing ...
21197         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
21198         ... these functions, which were removed.  This makes the callers
21199         easier to read.  All callers changed.
21200         (D_INO_TO_RESULT): Now empty if there is no d_ino.
21202 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21204         fts-tests: tag as a longrunning-test so not included by default
21205         * modules/fts-tests: This test takes about 20s on current systems,
21206         and uses about 285M of space on ext4.
21208 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21210         renameat2: fix compilation on alpine linux
21211         * m4/renameat.m4: Check for <linux/fs.h> presence.
21212         * lib/renameat2.h: Only include <linux/fs.h> if present.
21213         Reported by Assaf Gordon on Alpine Linux.
21215 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21217         glob: try to port recent changes to MS-Windows
21218         Problem reported by Bruno Haible in:
21219         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
21220         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
21221         * lib/glob.in.h (__glob_pattern_p): ... to here.
21223 2017-08-24  Eric Blake  <eblake@redhat.com>
21225         warnings: fix compilation with old autoconf
21226         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
21227         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
21228         AC_DEFUN.
21229         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
21230         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
21232 2017-08-24  Bruno Haible  <bruno@clisp.org>
21234         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
21235         * modules/glob (Depends-on): Add c99.
21237 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21239         glob: fix typo that broke platforms lacking d_ino
21240         This typo also hurt performance on GNU/Linux and similar hosts.
21241         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
21242         in previous change.
21244 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
21246         glob: merge from glibc with Zanella glob changes
21247         Merge glob from glibc, with changes for glob proposed
21248         by Adhemerval Zanella in the thread starting here:
21249         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
21250         plus some fixes for this merge.
21251         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
21252         New files, ported from glibc.
21253         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
21254         with __restrict.
21255         (__size_t): Remove.  All uses replaced by size_t.
21256         (size_t): Define by defining __need_size_t and including <stddef.h>.
21257         This should work even in non-glibc platforms, where any name
21258         pollution is OK.
21259         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
21260         (struct stat64): Don’t worry about __GLOB_GNULIB.
21261         (glob, globfree, glob_pattern_p): Remove macros for
21262         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
21263         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
21264         but set errno.
21265         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
21266         removed since the glibc behavior works on null pointers.
21267         Do not include stdio.h; old SunOS is irrelevant now.
21268         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
21269         Include glob_internal.h.
21270         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
21271         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
21272         worked only coincidentally.
21273         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
21274         Remove macros; now done in glob.in.h.
21275         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
21276         (glob): Properly initialize glob structure with
21277         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
21278         Remove old code using SHELL since Bash no longer
21279         uses this.
21280         (glob, prefix_array): Separate MS code better.
21281         (glob, glob_in_dir): Use C99 decls before statements when glibc
21282         does.
21283         (glob_in_dir): Remove old Amiga and VMS code.
21284         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
21285         separate files.
21286         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
21287         (__glibc_unlikely):
21288         Move here from glob.c.
21289         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
21290         (weak_alias): New macro.
21291         (__size_t): Remove.  All uses replaced by size_t.
21292         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
21293         * modules/glob (Files): Add +lib/glob_internal.h,
21294         lib/glob_pattern_p.c, lib/globfree.c.
21295         (Depends-on): Remove snippet/arg-nonnull.
21297 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
21299         glob: port to clang's Undefined Sanitizer
21300         Problem reported by Tim Rühsen in:
21301         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
21302         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
21303         (glob_in_dir): Do not rely on undefined behavior in accessing
21304         struct members beyond their bounds.  Use a flexible array member
21305         instead.
21307 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
21309         vc-list-files: port to Solaris 10
21310         * build-aux/vc-list-files: Don't assume test -e works.
21312 2017-08-21  Karl Berry  <karl@freefriends.org>
21314         * doc/posix-functions/srandom.texi (srandom): typo }.
21316 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
21318         git-version-gen: port to Solaris 10
21319         Problem reported by Dagobert Michelsen in:
21320         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
21321         * build-aux/git-version-gen (v_from_git):
21322         Use expr instead of shell substitution.
21324 2017-08-19  Bruno Haible  <bruno@clisp.org>
21326         host-cpu-c-abi: Improve detection of MIPS ABI.
21327         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
21328         _MIPS_SIM.
21330 2017-08-17  Bruno Haible  <bruno@clisp.org>
21332         hypot tests: Fix test failure on FreeBSD 11.0/x86.
21333         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
21335 2017-08-17  Bruno Haible  <bruno@clisp.org>
21337         float: Fix LDBL_MIN value on FreeBSD/x86.
21338         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
21340 2017-08-17  Bruno Haible  <bruno@clisp.org>
21342         random: Fix test compilation failure on Cygwin 1.5.25.
21343         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
21344         HAVE_DECL_SETSTATE.
21345         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
21346         declared.
21347         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
21348         HAVE_DECL_SETSTATE.
21349         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
21350         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
21351         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
21352         * doc/posix-functions/random.texi: Likewise.
21353         * doc/posix-functions/setstate.texi: Likewise.
21354         * doc/posix-functions/srandom.texi: Likewise.
21356 2017-08-16  Bruno Haible  <bruno@clisp.org>
21358         stdnoreturn: Fix test compilation failure on Cygwin.
21359         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
21360         <stdnoreturn.h> replacement.
21361         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
21362         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
21364 2017-08-16  Bruno Haible  <bruno@clisp.org>
21366         thread: Fix conflict with pthread_sigmask module.
21367         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
21368         it's defined as a macro.
21369         * modules/thread (Depends-on): Add pthread_sigmask.
21371 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21373         rename: port better to NetBSD
21374         * doc/posix-functions/rename.texi (rename): NetBSD 7
21375         does not have the link-count bug.
21376         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
21377         broken merely because rename ("a", "b") removes "a" when the two
21378         names are hard links to the same file.
21380 2017-08-16  Bruno Haible  <bruno@clisp.org>
21382         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
21383         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
21384         the target file names with '$(srcdir)/'.
21385         * modules/unicase/locale-language (Makefile.am): Likewise.
21386         * modules/unicase/special-casing (Makefile.am): Likewise.
21387         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
21388         * modules/unictype/category-byname (Makefile.am): Likewise.
21389         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
21390         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
21391         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
21392         * modules/unictype/property-byname (Makefile.am): Likewise.
21393         * modules/unictype/scripts (Makefile.am): Likewise.
21394         * modules/uninorm/composition (Makefile.am): Likewise.
21396 2017-08-16  Bruno Haible  <bruno@clisp.org>
21398         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
21399         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
21400         value for OpenBSD.
21402 2017-08-16  Bruno Haible  <bruno@clisp.org>
21404         rename, renameat: Update doc regarding NetBSD.
21405         * doc/posix-functions/rename.texi: Clarify that when using
21406         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
21407         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
21408         version.
21410 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21412         renameat2: port better to macOS
21413         * lib/renameat2.c (renameat2): Use renameatx_np if available.
21415         futimens: don’t assume struct timespec layout
21416         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
21417         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
21418         * tests/test-fdutimensat.c (main):
21419         * tests/test-futimens.h (test_futimens):
21420         * tests/test-lutimens.h (test_lutimens):
21421         * tests/test-utimens.h (test_utimens):
21422         * tests/test-utimensat.c (main):
21423         Don’t assume that struct timespec is a two-member structure in
21424         tv_sec, tv_nsec order.  Although this is true on all platforms we
21425         know about, POSIX does not guarantee it.
21427         rename: document+test NetBSD rename
21428         Test failure reported by Bruno Haible in:
21429         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
21430         This is an area where NetBSD is better-behaved than POSIX,
21431         so allow the NetBSD behavior in tests.
21432         * doc/posix-functions/rename.texi:
21433         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
21434         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
21436 2017-08-15  Bruno Haible  <bruno@clisp.org>
21438         renameat: Ensure declaration in <stdio.h> on NetBSD.
21439         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
21440         * doc/posix-functions/renameat.texi: Mention this problem.
21442 2017-08-15  Bruno Haible  <bruno@clisp.org>
21444         duplocale: Work around NetBSD 7.0 bug.
21445         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
21446         * lib/duplocale.c: Add comment about NetBSD problem.
21447         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
21449 2017-08-15  Bruno Haible  <bruno@clisp.org>
21451         duplocale tests: Verify use with *_l functions.
21452         * modules/duplocale-tests (configure.ac): Test for uselocale and
21453         some *_l functions.
21454         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
21455         from main.
21456         (get_locale_dependent_values_from, test_with_locale_parameter): New
21457         functions.
21458         (main): Test both test_with_uselocale and test_with_locale_parameter.
21460 2017-08-15  Bruno Haible  <bruno@clisp.org>
21462         extensions: Enable NetBSD specific extensions.
21463         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
21465 2017-08-14  Bruno Haible  <bruno@clisp.org>
21467         open, openat: Update doc about O_CLOEXEC.
21468         * doc/posix-functions/open.texi: More concrete list of platforms.
21469         * doc/posix-functions/openat.texi: Likewise.
21471 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
21473         open: support O_CLOEXEC
21474         * NEWS, doc/posix-functions/open.texi:
21475         * doc/posix-functions/openat.texi: Document this.
21476         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
21477         (GNULIB_defined_O_CLOEXEC): New symbol.
21478         * lib/open.c: Include cloexec.h.
21479         (open): Support O_CLOEXEC.
21480         * lib/openat.c: Include cloexec.h.
21481         (rpl_openat): Support O_CLOEXEC.
21482         * lib/popen-safer.c: Do not include cloexec.h.
21483         (open_noinherit): Remove.
21484         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
21485         * lib/save-cwd.c: Do not include cloexec.h.
21486         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
21487         * m4/open-cloexec.m4: New file.
21488         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
21489         Replace 'open' if O_CLOEXEC is not present.
21490         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
21491         Replace 'openat' if O_CLOEXEC is not present.
21492         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
21493         * modules/open (Files): Add m4/open-cloexec.m4.
21494         (Depends-on): Depend on cloexec if replacing 'open'.
21495         * modules/openat (Files): Add m4/open-cloexec.m4.
21496         (Depends-on): Depend on cloexec if replacing openat.
21497         * modules/popen-safer (Depends-on): Remove cloexec.
21498         * modules/save-cwd (Depends-on): Remove cloexec, and add
21499         fd-safer-flag and 'open'.
21501 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
21503         reallocarray: minor fixes
21504         * doc/glibc-functions/reallocarray.texi: Update version numbers.
21505         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
21506         * modules/reallocarray (License): Change from GPL to LGPL.
21507         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
21508         Indent properly and don't use tabs.
21510 2017-08-13  Darshit Shah  <darnir@gnu.org>
21512         reallocarray: New module
21513         reallocarray is a new function in glibc 2.26 to safely allocate an array
21514         of memory locations with integer overflow protection.
21515         * MODULES.html.sh: Add reallocarray.
21516         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
21517         * lib/reallocarray.c: New file to implement module reallocarray.
21518         * lib/stdlib.in.h: Add function declarations for reallocarray.
21519         * m4/reallocarray.m4: New file.
21520         * m4/stdlib_h.m4: Declare reallocarray.
21521         * modules/reallocarray: New file.
21522         * modules/reallocarray-test: New file.
21523         * modules/stdlib: Coerce stdlib.h to export reallocarray.
21524         * tests/test-reallocarray.c: New test.
21526 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21528         dirent-safer: fix cloexec race
21529         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
21530         (opendir_safer): Use F_DUPFD_CLOEXEC.
21531         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
21532         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
21533         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
21534         instead of dup_safer.
21536         fts: fix cloexec races
21537         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
21538         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
21539         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
21540         (fd_ring_check): Set cloexec flag on new file descriptors.
21541         (fts_build, fd_ring_check): While we’re at it, make sure the
21542         resulting file descriptor is not 0, 1, or 2, since that is easy.
21544 2017-08-11  Bruno Haible  <bruno@clisp.org>
21546         fts tests: Fix link error.
21547         Reported by Tom G. Christensen in
21548         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
21549         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
21551 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
21553         fts: port recent changes to CentOS 6
21554         Problem reported by Tom G. Christensen in:
21555         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
21556         * lib/fts.c (fsword): New type.
21557         (struct dev_type, filesystem_type): Use it.
21558         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
21559         Also, check for f_type only if fstatfs and sys/vfs.h work.
21561 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21563         tempname: do not depend on secure_getenv
21564         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
21565         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
21566         * modules/tempname (Depends-on): Remove secure_getenv.
21568 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
21570         extensions: add _OPENBSD_SOURCE
21571         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
21573 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
21574             Bruno Haible  <bruno@clisp.org>
21576         manywarnings: Add support for C++.
21577         * build-aux/g++-warning.spec: New file.
21578         * m4/manywarnings-c++.m4: New file.
21579         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
21580         redirects to manywarnings-c++.m4.
21581         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
21583 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
21585         git-version-gen: another fix for tags with "-"
21586         * build-aux/git-version-gen: Improve fix for tags containing "-".
21587         Suggested by Markus Armbruster in:
21588         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
21590 2017-08-06  Bruno Haible  <bruno@clisp.org>
21592         warnings, manywarnings: Add support for multiple languages, not just C.
21593         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
21594         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
21595         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
21596         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
21597         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
21598         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
21599         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
21600         of the current language. If C++ is the current language, modify
21601         WARN_CXXFLAGS instead of WARN_CFLAGS.
21602         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
21603         gl_MANYWARN_ALL_GCC.
21604         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
21606 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
21608         git-version-gen: Fix for tags containing '-'
21610         Really old versions of git-describe (before v1.5.0, Feb 2007)
21611         don't have the number of commits in their long format output,
21612         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
21613         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
21614         recognizes both patterns, and normalizes the old format to the new one.
21616         Unfortunately, this normalization code gets confused when the tag
21617         contains '-'.  Reproducer:
21619             $ git-tag -m test v0.2-rc1
21620             $ build-aux/git-version-gen .tarball-version; echo
21621             build-aux/git-version-gen: WARNING: git rev-list failed
21622             UNKNOWN
21624         We take exact tag "v0.2-rc1" for the old format, extract the presumed
21625         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
21626         commits since tha tag.  Fails, because tag "v0.2" does not exist.
21628         * git-version-gen: We could perhaps drop support for versions from
21629         more than a decade ago.  But tightening the pattern match is easy
21630         enough, so do that.  Still breaks when you use version tags ending in
21631         something matching -g????, but you arguably get what you deserve then.
21633 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
21635         valgrind-tests: use ls, and cache
21636         * m4/valgrind-tests.m4: Test ls, not bash.
21637         Problem reported by Reuben Thomas.
21638         Also, cache the result so that it can be overridden.
21640 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
21642         manywarnings: port to 64-bit GCC builds of Emacs
21643         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
21644         object size rather than hardwiring 2147483647.  This is needed to
21645         build GNU Emacs, which has one conditional (and used
21646         only-in-theory) call to malloc with a literal greater than
21647         2147483647.
21649 2017-08-04  Bruno Haible  <bruno@clisp.org>
21651         Relax the license of some modules with no runtime code.
21652         * modules/std-gnu11 (License): Set to 'unlimited'.
21653         * modules/c99 (License): Likewise.
21654         Reported by Reuben Thomas <rrt@sc3d.org>.
21655         * modules/d-ino (License): Set to 'LGPL'.
21656         * modules/host-os (License): Likewise.
21657         * modules/longlong (License): Likewise.
21659 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
21661         renameat2: port to RHEL 7 + NFS
21662         * lib/renameat2.c (renameat2) [SYS_renameat2]:
21663         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
21664         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
21666 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21668         renameat2: port to non-renameat platforms
21669         Problem reported for MSVC-2015 by Gisle Vanem in:
21670         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
21671         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
21672         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
21674 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21676         manywarnings: port to 32-bit GCC bug
21677         Problem reported by Pino Toscano in:
21678         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
21679         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
21680         not 2**63 - 1, to work around the following GCC bug:
21681         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
21683 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
21685         backupfile: new function to validate backup suffix
21686         * lib/backupfile.c (set_simple_backup_suffix): New function.
21687         (backupfile_internal): Use it.
21689         canonicalize: fix EOVERFLOW commentary
21690         Problem reported by Bruno Haible in:
21691         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
21692         * lib/canonicalize.c (canonicalize_filename_mode):
21693         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
21695         Don't interpret EOVERFLOW to mean nonexistence
21696         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
21697         may be EOVERFLOW; this is likely more useful than reporting the
21698         stat errno.
21699         * lib/glob.c (link_stat): Rename from link_exists2_p and
21700         return -1/0 instead of 0/1.  Caller changed.
21701         * lib/glob.c (link_exists_p):
21702         * lib/renameat2.c (rename_noreplace, renameat2):
21703         * lib/tempname.c (try_nocreate):
21704         If errno == EOVERFLOW then the directory entry exists, so do not
21705         act as if it does not exist.
21707         backup-rename: new module
21708         It is like backupfile, except it avoids some race conditions,
21709         and it does not output to stderr or exit.
21710         * MODULES.html.sh: Add backup-rename.
21711         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
21712         * modules/backup-rename: New files.
21713         * lib/backupfile.c: Turn this into an internals file, which
21714         contains code common to backupfile and backup_rename.  Include
21715         backupfile-internal.h instead of backupfile.h.  Do not include
21716         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
21717         renameat2.h and fcntl.h.
21718         (BACKUP_NOMEM): New constant.
21719         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
21720         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
21721         (backupfile_internal): Rename from find_backup_file_name.
21722         Support new arg RENAME.
21723         (backup_args, backup_types, get_version, xget_version):
21724         Move to lib/backup-find.c.
21725         * lib/backupfile.h (backup_file_rename): New decl.
21726         * modules/backupfile (Files): Add lib/backup-internal.h,
21727         lib/backup-find.c.
21728         (Depends-on): Add dirfd, fcntl, renameat2.
21729         (lib_SOURCES): Add backup-find.c.
21731         renameat2: port better to older Solaris
21732         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
21733         Add goto to use a label, to silence picky compilers.
21735         fts-tests: port to gcc -Wwrite-strings
21736         * tests/test-fts.c (base, base_d): New static vars.
21737         (argv, remove_tree, main): Use them.
21739 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
21741         relocatable-lib{,-lgpl}: improve documentation
21742         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
21743         Various other updates.
21745 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
21746             Bruno Haible  <bruno@clisp.org>
21748         relocatable-lib{,-lgpl}: add Valgrind suppressions
21749         * lib/relocatable.valgrind: New file.
21750         * modules/relocatable-lib (Files): Add relocatable.valgrind.
21751         * modules/relocatable-lib-lgpl: Likewise.
21753 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
21755         relocatable: Make the license on the sources the GPL.
21756         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
21757         LGPL, which was a special case so that the relocatable source files
21758         could be used without gnulib-tool, to GPL. They can still be used under
21759         the LGPL, using the --lgpl option to gnulib-tool.
21761 2017-07-30  Bruno Haible  <bruno@clisp.org>
21763         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
21764         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
21765         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
21766         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
21767         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
21769 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
21771         faccessat: document AT_SYMLINK_NOFOLLOW issue
21772         * doc/posix-functions/faccessat.texi: Modernize platform list.
21773         Document AT_SYMLINK_NOFOLLOW limitation.
21775         renameat2: port to Solaris 10
21776         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
21777         with AT_SYMLINK_NOFOLLOW (which is not portable).
21778         (renameat): Undef before using, to avoid endless recursion when
21779         the replacement renameat calls renameat2 which calls the
21780         replacement renameat.
21781         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
21782         * modules/renameat2 (Depends-on): Remove faccessat.
21783         * modules/renameat-tests (test_renameat_LDADD):
21784         * modules/renameat2-tests (test_renameat2_LDADD):
21785         Remove $(LIB_EACCESS).
21787         renameat2: new module
21788         Although the Linux syscall renameat2 is not in glibc (yet?), it is
21789         useful to have access to its RENAME_NOREPLACE flag.
21790         * MODULES.html.sh (func_all_modules): Add renameat2.
21791         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
21792         * modules/renameat2-tests, tests/test-renameat2.c: New files.
21793         * lib/renameat.c (renameat): Move most of the implementation
21794         to renameat2, and just call renameat2.
21795         * modules/renameat (Files): Remove lib/at-func2.c.
21796         (Depends-on): Depend only on renameat2.
21797         (Include): Remove <fcntl.h>.
21798         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
21799         since renameat (via renameat2) might use faccessat.
21801 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
21803         vc-list-files: Adjust the script to support git worktrees
21804         * build-aux/vc-list-files: Require existence, not directory.
21806 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
21808         doc: bring MODULES.html.sh up to date
21809         Somehow a few months ago we stopped updating MODULES.html.sh.
21810         I don’t recall explicitly deciding this, so I updated it now.
21811         Alternatively I suppose we could remove it.
21812         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
21813         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
21814         truncate, utime, utime-h, windows-stat-inodes,
21815         windows-stat-override, windows-stat-timespec, year2038.  Sort.
21817 2017-07-26  Jim Meyering  <meyering@fb.com>
21819         fprintftime: fix build-break caused by recent renaming
21820         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
21821         "strftime.c".
21822         * modules/fprintftime: Depend directly on nstrftime.
21824 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
21826         regex: work with GCC7's -Werror=implicit-fallthrough=
21827         * lib/regex_internal.h (FALLTHROUGH): New macro.
21828         * lib/regcomp.c (peek_token_bracket, parse_expression):
21829         * lib/regexec.c (check_node_accept): Use it.
21831 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
21833         fts: simplify fts_build
21834         * lib/fts.c (fts_build): Simplify, and be lazier about
21835         calling leaf_optimization.
21837         fts: three levels of leaf optimization
21838         * lib/fts.c (enum leaf_optimization): New type with three values.
21839         (S_MAGIC_AFS): New macro.  Sort them.
21840         (leaf_optimization): Rename from leaf_optimization_applies, and
21841         return enum leaf_optimization instead of bool.  All uses changed.
21842         Add cases for unknown type and for AFS.
21843         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
21845         fts: cache dirent_inode_sort_may_be_useful too
21846         * lib/fts.c (struct dev_type): New struct.
21847         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
21848         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
21849         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
21850         Now takes FTSENT const *, not int.  All uses changed.  Use
21851         filesystem_type to cache.
21852         (link_count_optimize_ok): Remove.  Caller changed to use
21853         leaf_optimization_applies, which now uses shared cache.
21855         fts: introduce MIN_DIR_NLINK
21856         * lib/fts.c (MIN_DIR_NLINK): New constant.
21857         Use it instead of 2, whenever we are talking about link counts.
21859         fts: nlink_t signedness fixups
21860         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
21861         so that root need not be a special case later.
21862         (fts_read): Remove now-redundant test for fts_level.
21863         Do not assume that nlink_t is signed.
21864         (fts_build): Remove useless decrement of nlinks.
21865         (fts_stat): Avoid unlikely signed integer overflow later, if
21866         nlink_t is signed.
21868         fts-tests: new module
21869         * modules/fts-tests, tests/test-fts.c: New files.
21871 2017-07-23  Bruno Haible  <bruno@clisp.org>
21873         Rename module 'strftime' to 'nstrftime'.
21874         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
21875         * lib/nstrftime.c: Renamed from lib/strftime.c.
21876         * modules/nstrftime: Renamed from modules/strftime.
21877         (Files, Makefile.am): Update.
21878         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
21879         Fix comment.
21880         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
21881         (Files, Makefile.am): Update.
21882         * modules/strftime: New file, an obsolete indirection.
21883         * doc/posix-functions/strftime.texi: Update reference.
21884         * config/srclist.txt: Update info.
21885         * NEWS: Mention the change.
21887 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
21889         malloca: Silence a warning from clang's memory sanitizer.
21890         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
21891         (freea): Use it.
21893 2017-07-18  Bruno Haible  <bruno@clisp.org>
21895         host-cpu-c-abi: Fix detection of MIPS ABI.
21896         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
21897         ABI, not the CPU instruction set.
21899 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
21901         explicit_bzero: new module
21902         The explicit_bzero function has been added to glibc.
21903         This module is intended to supports its use in GNU programs.
21904         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
21905         * m4/explicit_bzero.m4, modules/explicit_bzero:
21906         New files.
21907         * doc/gnulib.texi (Glibc string.h): Link to new doc.
21908         * lib/string.in.h (explicit_bzero): Declare.
21909         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
21910         * modules/string (string.h): Substitute its vars.
21912 2017-07-16  Bruno Haible  <bruno@clisp.org>
21914         threadlib: Support static linking.
21915         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
21916         set gl_cv_have_weak to 'no'.
21918 2017-07-16  Bruno Haible  <bruno@clisp.org>
21920         unicase/locale-language: Fix link dependencies.
21921         * modules/unicase/locale-language (Link): New section.
21922         * modules/unicase/locale-language-tests (Makefile.am): Link
21923         test-locale-language program with $(LIBTHREAD).
21925 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
21927         sys_socket: Add support for OpenVMS.
21928         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
21929         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
21931 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
21933         sys_resource: Add support for OpenVMS.
21934         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
21935         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
21937 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
21938             Bruno Haible  <bruno@clisp.org>
21940         math: Add support for OpenVMS.
21941         * lib/math.in.h [__VMS]: Include <fp.h>.
21942         * doc/posix-headers/math.texi: Mention OpenVMS issues.
21944 2017-07-15  Bruno Haible  <bruno@clisp.org>
21946         getdtablesize: Add minimal support for OpenVMS.
21947         Reported by John E. Malmberg <wb8tyw@qsl.net>.
21948         * modules/getdtablesize (Description): Fix.
21949         * lib/getdtablesize.c: Fix comment.
21950         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
21951         getdtablesize() function, even though the test fails.
21952         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
21953         limitation on OpenVMS.
21955 2017-07-13  Bruno Haible  <bruno@clisp.org>
21957         Revisit cross-compilation guesses.
21958         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
21960 2017-07-13  Bruno Haible  <bruno@clisp.org>
21962         Improve cross-compilation guesses for native Windows.
21963         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
21964         Windows.
21965         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
21966         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
21967         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
21968         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
21969         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
21970         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
21971         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
21972         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
21973         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21974         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
21975         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
21976         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
21977         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
21978         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
21979         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
21980         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
21981         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
21982         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
21983         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
21984         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
21985         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
21986         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
21987         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
21988         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
21989         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
21990         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
21991         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
21992         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
21993         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21994         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
21995         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21996         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
21997         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
21998         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
21999         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
22000         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
22001         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
22002         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22003         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22004         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22005         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22006         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22007         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
22008         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
22009         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
22010         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
22011         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
22012         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
22013         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
22014         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
22015         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
22016         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
22017         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
22018         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
22019         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
22020         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
22021         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
22022         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22023         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
22024         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
22025         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22026         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
22027         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
22028         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
22029         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
22030         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22031         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
22032         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22033         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
22034         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
22035         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
22036         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
22037         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22038         * m4/regex.m4 (gl_REGEX): Likewise.
22039         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
22040         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
22041         gl_FUNC_REMAINDERF_WORKS): Likewise.
22042         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
22043         gl_FUNC_REMAINDERL_WORKS): Likewise.
22044         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22045         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22046         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22047         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
22048         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22049         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
22050         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
22051         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22052         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
22053         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22054         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
22055         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
22056         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22057         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22058         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
22059         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
22060         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22061         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22062         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22063         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22064         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22065         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22066         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22067         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22068         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22069         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22070         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22071         Likewise.
22072         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22073         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
22074         Windows. Enable also on Autoconf 2.70.
22075         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22076         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22077         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
22078         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
22079         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22080         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
22081         for native Windows.
22082         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
22083         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
22085 2017-07-13  Bruno Haible  <bruno@clisp.org>
22087         Improve cross-compilation guesses for native Windows.
22088         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
22089         Windows.
22090         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
22091         memchr.m4.
22092         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22094 2017-07-13  Bruno Haible  <bruno@clisp.org>
22096         Improve cross-compilation guesses for native Windows.
22097         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
22098         native Windows.
22099         (gl_FUNC_FFLUSH): Update accordingly.
22100         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
22101         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22103 2017-07-11  Bruno Haible  <bruno@clisp.org>
22105         More systematic m4 quoting and indentation.
22106         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
22107         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22108         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
22109         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22110         * m4/host-os.m4 (gl_HOST_OS): Likewise.
22111         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
22112         gl_WINSIZE_IN_PTEM): Likewise.
22113         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
22114         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
22115         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22116         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
22117         Correct indentation.
22118         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
22119         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22120         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
22121         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22122         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22123         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22125 2017-07-10  Bruno Haible  <bruno@clisp.org>
22127         round, roundf: Avoid compiler warning in configure test.
22128         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
22129         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22131 2017-07-10  Bruno Haible  <bruno@clisp.org>
22133         getlogin tests: Avoid #ifdefs when sharing code between modules.
22134         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
22135         * modules/getlogin-tests (Files): Likewise. Remove
22136         tests/test-getlogin_r.c.
22137         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
22138         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
22139         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
22140         getlogin().
22142 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
22144         getlogin: don’t assume one name per uid
22145         Problem reported by Wolfgang F. Muthmann (Bug#27640).
22146         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
22147         (ttyname): Remove test.
22148         * modules/getlogin_r-tests (ttyname): Remove test.
22149         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
22150         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
22151         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
22152         getlogin rather than getlogin_r.  This avoids code duplication.
22153         (main): Use isatty and fstat rather than ttyname and stat.
22154         Use getpwnam instead of getpwuid, to be portable to test platforms
22155         that have multiple login names for the same uid.
22157 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
22158             Bruno Haible  <bruno@clisp.org>
22160         glob: Fix more memory leaks.
22161         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
22162         returning.
22163         Reported by Tim Rühsen.
22165 2017-07-10  Bruno Haible  <bruno@clisp.org>
22167         Make sure $host and $host_os are defined when used.
22168         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
22169         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
22170         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
22171         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22172         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22173         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
22174         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22175         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
22176         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22177         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22178         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
22179         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
22180         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
22181         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
22182         m4_ifdef block.
22184 2017-07-09  Bruno Haible  <bruno@clisp.org>
22186         *printf: Fix cross-compilation guess for Solaris.
22187         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
22188         2010-12-21.
22190 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
22191             Bruno Haible  <bruno@clisp.org>
22193         vasnprintf: port to macOS 10.13
22194         Problem reported by comex in:
22195         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
22196         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
22198 2017-07-06  Bruno Haible  <bruno@clisp.org>
22200         imaxdiv tests: Fix logic.
22201         * tests/test-imaxdiv.c (main): Use == instead of =.
22202         Reported by Coverity.
22204 2017-07-06  Bruno Haible  <bruno@clisp.org>
22206         uninorm/filter: Fix use-after-free bug.
22207         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
22208         sortbuf == filter->sortbuf invariant.
22209         Reported by Coverity.
22211 2017-07-06  Bruno Haible  <bruno@clisp.org>
22213         glob: Fix more memory leaks.
22214         * lib/glob.c (glob): Free dirname before returning.
22215         Reported by Coverity and Tim Rühsen.
22217 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22219         parse-datetime: fix uninit var bug
22220         Reported by Bruno Haible in:
22221         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
22222         * lib/parse-datetime.y (parse_datetime2): Do not use
22223         uninitialized.
22225 2017-07-05  Bruno Haible  <bruno@clisp.org>
22227         doc: Update for MSVC 14.
22228         * doc/posix-headers/*.texi: Add info about MSVC 14.
22229         * doc/posix-functions/*.texi: Likewise.
22230         * doc/pastposix-functions/*.texi: Likewise.
22231         * doc/glibc-headers/*.texi: Likewise.
22232         * doc/glibc-functions/*.texi: Likewise.
22234 2017-07-05  Bruno Haible  <bruno@clisp.org>
22236         sched: Fix build failure on native Windows (regression from 2017-06-19).
22237         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
22239 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
22241         stdioext: Port to OpenVMS.
22242         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
22243         * lib/fpending.c (fpending): Remove non-working VMS specific code.
22244         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
22245         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
22246         * lib/fpurge.c (fpurge): Likewise.
22247         * lib/freadable.c (freadable): Likewise.
22248         * lib/freadahead.c (freadahead): Likewise.
22249         * lib/freading.c (freading): Likewise.
22250         * lib/freadptr.c (freadptr): Likewise.
22251         * lib/freadseek.c (freadseek): Likewise.
22252         * lib/fseeko.c (fseeko): Likewise.
22253         * lib/fseterr.c (fseterr): Likewise.
22254         * lib/fwritable.c (fwriteable): Likewise.
22255         * lib/fwriting.c (fwriting): Likewise.
22257 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
22259         glob: Declare variables at the very start of their scope.
22260         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
22261         its separate scope, so the functions will compile on Haiku.
22263 2017-07-01  Bruno Haible  <bruno@clisp.org>
22265         logbl: Work around a glibc bug on PowerPC64LE.
22266         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
22267         numbers.
22268         * doc/posix-functions/logbl.texi: Update.
22270 2017-06-29  Bruno Haible  <bruno@clisp.org>
22272         stat, fstat: Compile stat-w32.c only on platforms that need it.
22273         Suggested by Paul Eggert.
22274         * modules/stat (configure.ac): Request stat-w32.o only on native
22275         Windows.
22276         * modules/fstat (configure.ac): Likewise.
22278 2017-06-25  Bruno Haible  <bruno@clisp.org>
22280         stat: Improve last change.
22281         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
22283 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
22285         stat: port to xlc 12.01
22286         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
22287         12.01 complains "Compilation unit is empty."
22289 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
22291         xalloc-oversized: port to icc
22292         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
22293         __builtin_mul_overflow if ICC is defined, as this results in
22294         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
22295         20170213.
22297 2017-06-19  Bruno Haible  <bruno@clisp.org>
22299         classpath: Avoid including config.h twice, as it produces warnings.
22300         Reported by John E. Malmberg <wb8tyw@gmail.com>.
22301         * lib/classpath.h: Conditionalize the include of config.h.
22303 2017-06-19  Bruno Haible  <bruno@clisp.org>
22304             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
22306         sched: Fix compilation failure on OpenVMS.
22307         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
22308         test whether <pthread.h> exists and defines struct sched_param.
22309         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
22311 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
22313         diffseq: port to GCC 7 with --enable-gcc-warnings
22314         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
22315         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
22316         not complain about big_snake being defined but not used.
22318 2017-06-15  Bruno Haible  <bruno@clisp.org>
22320         gettext-h: Update theoretical condition for use of variable size arrays.
22321         Reported by Paul Eggert.
22322         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
22323         to include the theoretical condition for availability of variable size
22324         arrays, if we could trust the value of __STDC_VERSION__.
22326 2017-06-12  Bruno Haible  <bruno@clisp.org>
22328         Relicense some modules under LGPLv2+.
22329         Daiki Ueno's approval is in
22330         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
22331         * modules/uniwidth/base (License): Change to LGPLv2+.
22332         * modules/uniwidth/width (License): Likewise.
22334 2017-06-11  Bruno Haible  <bruno@clisp.org>
22336         localename: Fix test failure on DragonFly BSD.
22337         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
22338         like FreeBSD.
22340 2017-06-11  Bruno Haible  <bruno@clisp.org>
22342         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
22343         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
22344         * lib/float.in.h: Likewise.
22345         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
22347 2017-06-11  Bruno Haible  <bruno@clisp.org>
22349         gnulib-tool: Clean up after autotools.
22350         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
22351         useless directory left over by the Autotools.
22353 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
22355         getopt-posix: port to glibc 2.25.90
22356         Problem reported by Daniel P. Berrange in:
22357         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
22358         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
22359         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
22360         #undef if __GETOPT_PREFIX is defined.
22362 2017-06-11  Bruno Haible  <bruno@clisp.org>
22364         strtod-obsolete: Fix license.
22365         * modules/strtod-obsolete (License): Change to LGPL.
22367 2017-06-10  Jim Meyering  <meyering@fb.com>
22369         maint: update to work with GCC7's -Werror=implicit-fallthrough=
22370         * lib/savewd.c (FALLTHROUGH): Define.
22371         (savewd_save, savewd_restore): Use this, rather than a comment,
22372         whenever one switch case falls through into the next.
22374 2017-06-08  Bruno Haible  <bruno@clisp.org>
22376         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
22377         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
22378         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
22379         case.
22381 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
22383         doc: remove robots, add prereqs
22384         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
22385         builds.  Simon's robot site does not seem to be up, so remove
22386         mentions of it for now.
22388 2017-06-08  Bruno Haible  <bruno@clisp.org>
22390         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
22391         * gnulib-tool (func_symlink_target): New function, extracted from
22392         func_symlink.
22393         (func_symlink, func_symlink_if_changed): Use it.
22395 2017-06-08  Bruno Haible  <bruno@clisp.org>
22397         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
22398         * gnulib-tool (func_ln_s): Determine cp_src correctly.
22400 2017-06-07  Bruno Haible  <bruno@clisp.org>
22402         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
22403         Reported by John E. Malmberg <wb8tyw@gmail.com> in
22404         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
22405         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
22406         override, pass 2 arguments to getcwd, not 3.
22408 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
22410         same-inode: port better to VMS 8.2 and later
22411         Problem reported by John E. Malmberg in:
22412         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
22413         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
22414         Use the usual POSIX definition.
22415         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
22417 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22419         error: fix POSIX violation for va_end
22420         Problem reported by Bruno Haible in:
22421         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
22422         * lib/error.c (error_tail): Do not call va_end here.
22423         (error, error_at_line): Call it here instead.
22425 2017-05-28  Bruno Haible  <bruno@clisp.org>
22427         c-strtod: Make it usable in C++ mode.
22428         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
22430 2017-05-25  Jim Meyering  <meyering@fb.com>
22432         quotearg: fix compilation failure due to FALLTHROUGH misuse
22433         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
22434         macro back to /* fall through */ comment.  The macro can apply only
22435         to a following case statement.  Reported by Assaf Gordon.
22437 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
22439         intprops: port to recent icc
22440         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
22441         but does not support __builtin_add_overflow etc.
22442         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
22443         Define to 0.
22445 2017-05-23  Karl Berry  <karl@freefriends.org>
22447         * config/srclist.txt (iconv.m4): sync broken, comment out
22448         until (hopefully) the next gettext release.
22450 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
22452         Remove repeated words in comments.
22454 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
22456         fallthrough: reinstate a FALLTHROUGH instance in quotearg
22457         quotearg.c: Reinstate this instance which is significant
22458         when the if branch is not taken.
22460 2017-05-21  Bruno Haible  <bruno@clisp.org>
22462         gnulib-tool: Add options to create hard links.
22463         * gnulib-tool (func_usage): Document options --hardlink,
22464         --local-hardlink, --more-hardlinks.
22465         (func_symlink): Renamed from func_ln.
22466         (func_symlink_if_changed): Renamed from func_ln_if_changed.
22467         (func_hardlink): New function.
22468         (copymode, lcopymode): New variables.
22469         (symbolic, lsymbolic): Remove variables.
22470         (Options): Implement options --hardlink, --local-hardlink,
22471         --more-hardlinks.
22472         (func_should_link): Renamed from func_should_symlink. Set copyaction.
22473         (func_add_file, func_update_file): Update invocation of
22474         func_should_link. Invoke func_hardlink when appropriate.
22475         (func_import): Update comments.
22476         (func_create_testdir): Update invocation of func_should_link. Invoke
22477         func_hardlink when appropriate.
22478         Finally, invoke 'git update-index --refresh' to mitigate the effects of
22479         the hard links on git.
22481 2017-05-20  Bruno Haible  <bruno@clisp.org>
22483         argp: Simplify bit manipulation.
22484         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
22485         on a signed integer type.
22487 2017-05-20  Bruno Haible  <bruno@clisp.org>
22489         Avoid wrong configure results with gcc -fsanitize=address.
22490         This completes the work done on 2016-02-06 on this topic.
22491         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
22492         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22493         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22494         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22495         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
22496         returning.
22497         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22498         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
22499         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22500         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22501         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
22502         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22503         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
22504         free allocated memory before returning.
22505         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22506         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
22507         objects before returning.
22508         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
22509         returning.
22511 2017-05-20  Bruno Haible  <bruno@clisp.org>
22513         gnulib-tool: Don't create hard links between gnulib and its testdirs.
22514         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
22516 2017-05-20  Bruno Haible  <bruno@clisp.org>
22518         argp, tsearch tests: Fix file list.
22519         * modules/argp-tests (Files): Add tests/macros.h.
22520         * modules/tsearch-tests (Files): Likewise.
22522 2017-05-20  Bruno Haible  <bruno@clisp.org>
22524         getopt-posix tests: Remove redundant include.
22525         * tests/test-getopt.h: Don't include "macros.h". It's already included
22526         by tests/test-getopt-main.h.
22528 2017-05-19  Jim Meyering  <meyering@fb.com>
22530         dfa: two small simplifications
22531         * lib/dfa.c (build_state): Avoid repeating longer expressions.
22533 2017-05-18  Jim Meyering  <meyering@fb.com>
22535         fallthrough: update for GCC 7/8
22536         * lib/quotearg.c (FALLTHROUGH): New macro.
22537         Use it whenever one switch case falls through into the next,
22538         replacing "/* Fall through */" comments.  This exposed one
22539         instance of an unwarranted "fall through" comment: unwarranted
22540         because it preceded a "goto" label not a case statement.
22541         * lib/freopen-safer.c (freopen_safer): Likewise.
22542         * lib/fts.c (leaf_optimization_applies): Likewise.
22543         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
22544         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
22545         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
22546         tests/macros.h for the definition.
22547         * tests/test-argp.c (group1_parser): Likewise.
22548         * tests/test-getopt.h (getopt_loop): Likewise.
22550 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22552         argp: fix shift bug
22553         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
22554         behavior on shift overflow, caught by gcc -fsanitize=undefined.
22556         argp: fix pointer-subtraction bug
22557         * lib/argp-help.c (hol_append): Don’t subtract pointers to
22558         different arrays, as this can run afoul of -fcheck-pointer-bounds.
22559         See the thread containing Bruno Haible’s report in:
22560         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
22562 2017-05-19  Bruno Haible  <bruno@clisp.org>
22564         printf-posix tests: Avoid test failure with "gcc --coverage".
22565         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
22566         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
22567         than 5000000.
22568         * tests/test-fprintf-posix2.c (main): Likewise.
22570 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22572         closeout: don’t close stderr when sanitizing
22573         * NEWS: Document this.
22574         * lib/closeout.c (__has_feature): New macro, if not already defined.
22575         (SANITIZE_ADDRESS): New constant.
22576         (close_stdout): Don’t close stderr if sanitizing addresses.
22578 2017-05-19  Bruno Haible  <bruno@clisp.org>
22580         get-rusage-data tests: Avoid failure on Linux/glibc.
22581         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
22582         on glibc systems.
22584 2017-05-18  Bruno Haible  <bruno@clisp.org>
22586         localename: Include necessary header files on Cygwin.
22587         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
22588         where NL_LOCALE_NAME is defined.
22590 2017-05-18  Bruno Haible  <bruno@clisp.org>
22592         gettext: Update macros from gettext git.
22593         * m4/intldir.m4: Require Autoconf >= 2.60.
22594         * m4/progtest.m4: Fix typos in copyright notice.
22596 2017-05-18  Bruno Haible  <bruno@clisp.org>
22598         copy-file tests: Fix link error (regression from 2017-05-01).
22599         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22600         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
22601         $(LIB_CLOCK_GETTIME).
22603 2017-05-18  Bruno Haible  <bruno@clisp.org>
22605         unicase/special-casing: Fix incompatibility with gperf-3.0.4
22606         (regression from 2017-02-13).
22607         * lib/unicase/special-casing.in.h: Renamed from
22608         lib/unicase/special-casing.h.
22609         * modules/unicase/special-casing (Files): Add
22610         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
22611         (Makefile.am): Add rule for generating unicase/special-casing.h.
22612         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
22613         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
22614         not "special-casing.h".
22615         * lib/unicase/u*.c: Likewise.
22617 2017-05-17  Bruno Haible  <bruno@clisp.org>
22619         README: Don't ask people to read a TeXinfo file.
22620         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
22621         * README: Tell people how to read the HTML formatted manual.
22623 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
22625         parse-datetime: Fix memleak
22626         * lib/parse-datetime.y (parse_datetime2): Cleanup on
22627         localtime_rz() failure.
22629 2017-05-16  Bruno Haible  <bruno@clisp.org>
22631         javacomp: Fix handle leak.
22632         Found by Coverity.
22633         * lib/javacomp.c (get_classfile_version): Close fd before returning.
22635 2017-05-16  Bruno Haible  <bruno@clisp.org>
22637         relocate: Make it easier to reclaim allocated memory.
22638         * lib/relocatable.h (relocate2): New declaration/macro.
22639         * lib/relocatable.c (relocate2): New function.
22640         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
22641         relocate2 function.
22642         * lib/localcharset.c (relocate2): Define fallback.
22643         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
22644         allocated memory.
22645         * lib/javaversion.c (relocate2): Define fallback.
22646         (javaexec_version): Invoke relocate2 instead of relocate. Free the
22647         allocated memory.
22649 2017-05-16  Bruno Haible  <bruno@clisp.org>
22651         relocate: Simplify EMX specific code.
22652         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
22653         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
22655 2017-05-16  Bruno Haible  <bruno@clisp.org>
22657         sigpipe tests: Fix file list.
22658         * modules/sigpipe-tests (Files): Add tests/macros.h.
22660 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22662         manywarnings: update for GCC 7
22663         * build-aux/gcc-warning.spec:
22664         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
22665         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
22666         requires a non-comment fallthrough attribute.  This is a bit
22667         cleaner than the comment versions.
22668         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
22669         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
22670         Use it whenever one switch case falls through into the next.
22671         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
22672         Use FALLTHROUGH macro.
22674 2017-05-15  Bruno Haible  <bruno@clisp.org>
22676         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
22677         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
22678         @ALLOCA@, not @LTALLOCA@.
22680 2017-05-15  Bruno Haible  <bruno@clisp.org>
22682         sys_select: Avoid "was expanded before it was required" warning.
22683         * modules/sys_select (configure.ac): Require, not invoke,
22684         gl_HEADER_SYS_SELECT.
22686 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22688         gnulib-tool: improve GNU Make debugging
22689         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
22690         Report autoconf diagnostics when it fails, in the output makefile.
22692 2017-05-14  Bruno Haible  <bruno@clisp.org>
22694         stat-time tests: Improve comment.
22695         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
22697 2017-05-14  Bruno Haible  <bruno@clisp.org>
22699         same-inode: Adapt for windows-stat-inodes.
22700         * lib/same-inode.h: Include <sys/types.h>.
22701         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
22702         * modules/same-inode (Depends-on): Add sys_types.
22704 2017-05-14  Bruno Haible  <bruno@clisp.org>
22706         windows-stat-inodes: New module.
22707         * m4/windows-stat-inodes.m4: New file.
22708         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
22709         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
22710         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
22711         (_GL_WINDOWS_STAT_INODES): New macro.
22712         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
22713         (GetFileInformationByHandleExFunc): New variable.
22714         (initialize): Initialize it.
22715         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
22716         st_ino appropriately.
22717         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
22718         a fallback, because it does not provide st_dev and st_ino values.
22719         * modules/fstat (Depends-on): Add 'verify'.
22720         * modules/windows-stat-inodes: New file.
22721         * doc/windows-stat-inodes.texi: New file.
22722         * doc/gnulib.texi: Include it.
22723         * doc/posix-headers/sys_stat.texi: Mention the new module.
22725 2017-05-14  Bruno Haible  <bruno@clisp.org>
22727         stat-time tests: Workaround for native Windows.
22728         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
22729         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
22730         New variables.
22731         (initialize_filenames): New function.
22732         (main): Invoke it.
22733         (cleanup, prepare_test): Update.
22735 2017-05-14  Bruno Haible  <bruno@clisp.org>
22737         stat-time: Adapt for windows-stat-timespec.
22738         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
22739         entire st_ctim field.
22741 2017-05-13  Jim Meyering  <meyering@fb.com>
22743         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
22744         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
22745         file that uses the assume macro, claiming that verify.h is unused.
22747 2017-05-13  Bruno Haible  <bruno@clisp.org>
22749         Use symbolic values for _WIN32_WINNT.
22750         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
22751         * lib/sethostname.c (_WIN32_WINNT): Likewise.
22753 2017-05-13  Bruno Haible  <bruno@clisp.org>
22755         year2038: New module.
22756         * m4/year2038.m4: New file.
22757         * modules/year2038: New file.
22758         * doc/year2038.texi: New file.
22759         * doc/gnulib.texi: Include it.
22761 2017-05-13  Bruno Haible  <bruno@clisp.org>
22763         largefile: Simplify.
22764         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
22765         of _GL_WINDOWS_64_BIT_ST_SIZE.
22767 2017-05-13  Bruno Haible  <bruno@clisp.org>
22769         largefile: Improve and document.
22770         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
22771         the mingw headers already define 'stat' appropriately.
22772         * modules/largefile (Description): Clarify.
22773         * doc/largefile.texi: New file.
22774         * doc/gnulib.texi: Include it.
22775         * doc/posix-headers/sys_types.texi: Update.
22777 2017-05-13  Bruno Haible  <bruno@clisp.org>
22779         truncate: New module.
22780         * lib/unistd.in.h (truncate): New declaration.
22781         * lib/truncate.c: New file.
22782         * m4/truncate.m4: New file.
22783         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
22784         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
22785         REPLACE_TRUNCATE.
22786         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
22787         HAVE_TRUNCATE, REPLACE_TRUNCATE.
22788         * modules/truncate: New file.
22789         * tests/test-unistd-c++.cc (truncate): Test signature.
22790         * doc/posix-functions/truncate.texi: Mention the new module.
22792         * tests/test-truncate.c: New file.
22793         * modules/truncate-tests: New file.
22795 2017-05-13  Bruno Haible  <bruno@clisp.org>
22797         windows-stat-timespec: New module.
22798         * modules/windows-stat-timespec: New file.
22799         * m4/windows-stat-timespec.m4: New file.
22800         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
22801         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
22802         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
22803         fields st_atim, st_mtim, st_ctim.
22804         (st_atime, st_mtime, st_ctime): Define as macros.
22805         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
22806         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
22807         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
22808         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
22809         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
22810         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
22811         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
22812         FILETIME to 'struct timespec', not 'time_t'.
22813         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
22814         FILETIME to 'struct timespec', not 'time_t'.
22815         * lib/stat-time.h (STAT_TIMESPEC): Define also if
22816         _GL_WINDOWS_STAT_TIMESPEC.
22817         * doc/windows-stat-timespec.texi: New file.
22818         * doc/gnulib.texi: Include it.
22820 2017-05-13  Bruno Haible  <bruno@clisp.org>
22822         windows-stat-override: New module.
22823         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
22824         definition. Define GNULIB_defined_struct_stat.
22825         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
22826         link error if this symbol is used and the corresponding module is not
22827         in use.
22828         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
22829         GNULIB_OVERRIDES_STRUCT_STAT.
22830         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
22831         GNULIB_OVERRIDES_STRUCT_STAT.
22832         * modules/sys_stat (Makefile.am): Substitute
22833         GNULIB_OVERRIDES_STRUCT_STAT.
22834         * modules/windows-stat-override: New file.
22836 2017-05-13  Bruno Haible  <bruno@clisp.org>
22838         fstat: Fix module dependency conditions.
22839         * modules/fstat (Depends-on): Fix typo.
22841 2017-05-13  Bruno Haible  <bruno@clisp.org>
22843         stat, fstat: Complete removal of old native Windows code.
22844         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
22845         * lib/fstat.c: Likewise.
22846         * lib/stat-w32.c: Likewise.
22848 2017-05-13  Bruno Haible  <bruno@clisp.org>
22850         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
22851         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
22853 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
22855         getopt-posix: port to mingw
22856         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
22857         Problem reported by Daniel P. Berrage in:
22858         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
22860 2017-05-11  Bruno Haible  <bruno@clisp.org>
22862         gettimeofday: Increase precision on mingw.
22863         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
22864         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
22865         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
22866         GetSystemTimePreciseAsFileTime based implementation always.
22867         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
22868         mingw.
22870 2017-05-11  Bruno Haible  <bruno@clisp.org>
22872         poll: Fix confusion between SOCKETs and FDs on native Windows.
22873         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
22874         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
22876 2017-05-11  Bruno Haible  <bruno@clisp.org>
22878         doc: Clarify doc about socket functions on native Windows.
22879         This reworks doc that was added on 2008-09-29.
22880         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
22881         clearer wording.
22882         * doc/posix-functions/accept.texi: Use clearer wording.
22883         * doc/posix-functions/bind.texi: Likewise.
22884         * doc/posix-functions/connect.texi: Likewise.
22885         * doc/posix-functions/getpeername.texi: Likewise.
22886         * doc/posix-functions/getsockname.texi: Likewise.
22887         * doc/posix-functions/getsockopt.texi: Likewise.
22888         * doc/posix-functions/ioctl.texi: Likewise.
22889         * doc/posix-functions/listen.texi: Likewise.
22890         * doc/posix-functions/recv.texi: Likewise.
22891         * doc/posix-functions/recvfrom.texi: Likewise.
22892         * doc/posix-functions/send.texi: Likewise.
22893         * doc/posix-functions/sendto.texi: Likewise.
22894         * doc/posix-functions/setsockopt.texi: Likewise.
22895         * doc/posix-functions/shutdown.texi: Likewise.
22896         * doc/posix-functions/socket.texi: Likewise.
22898 2017-05-10  Bruno Haible  <bruno@clisp.org>
22900         poll: Fix link error on native Windows.
22901         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
22903 2017-05-10  Bruno Haible  <bruno@clisp.org>
22905         time: Fix missing initialization of HAVE_TIMEZONE_T.
22906         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
22907         here...
22908         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
22909         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
22910         gl_HEADER_SYS_TIME_H_DEFAULTS.
22911         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
22912         (configure.ac): Remove useless quoting.
22914 2017-05-10  Bruno Haible  <bruno@clisp.org>
22916         Implement a way to opt out from MSVC support, part 2.
22917         * modules/msvc-inval (Include): Document recommended idiom.
22918         * modules/msvc-nothrow (Include): Likewise.
22920         Implement a way to opt out from MSVC support.
22921         This is useful for Emacs.
22922         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
22923         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
22924         * lib/error.c: Likewise.
22925         * lib/fcntl.c: Likewise.
22926         * lib/flock.c: Likewise.
22927         * lib/fstat.c: Likewise.
22928         * lib/fsync.c: Likewise.
22929         * lib/ioctl.c: Likewise.
22930         * lib/isapipe.c: Likewise.
22931         * lib/lseek.c: Likewise.
22932         * lib/nonblocking.c: Likewise.
22933         * lib/poll.c: Likewise.
22934         * lib/select.c: Likewise.
22935         * lib/sockets.h: Likewise.
22936         * lib/sockets.c: Likewise.
22937         * lib/stdio-read.c: Likewise.
22938         * lib/stdio-write.c: Likewise.
22939         * lib/utimens.c: Likewise.
22940         * lib/w32sock.h: Likewise.
22941         * lib/w32spawn.h: Likewise.
22942         * tests/test-cloexec.c: Likewise.
22943         * tests/test-dup-safer.c: Likewise.
22944         * tests/test-dup2.c: Likewise.
22945         * tests/test-dup3.c: Likewise.
22946         * tests/test-fcntl.c: Likewise.
22947         * tests/test-pipe.c: Likewise.
22948         * tests/test-pipe2.c: Likewise.
22949         * lib/ftruncate.c: Likewise.
22950         (chsize_nothrow): Renamed from chsize.
22951         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
22952         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
22953         * lib/close.c: Likewise.
22954         * lib/dup.c: Likewise.
22955         * lib/fclose.c: Likewise.
22956         * lib/raise.c: Likewise.
22957         * tests/test-fgetc.c: Likewise.
22958         * tests/test-fputc.c: Likewise.
22959         * tests/test-fread.c: Likewise.
22960         * tests/test-fwrite.c: Likewise.
22961         * lib/getdtablesize.c: Likewise.
22962         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
22963         * lib/isatty.c: Don't include msvc-inval.h if
22964         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
22965         Include <io.h> as an alternative to msvc-nothrow.h.
22966         * lib/read.c: Likewise.
22967         * lib/write.c: Likewise.
22968         * lib/dup2.c: Likewise.
22969         (dup2_nothrow): New function.
22970         (ms_windows_dup2): Use it.
22971         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
22972         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
22973         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
22974         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
22975         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
22976         * m4/read.m4 (gl_FUNC_READ): Likewise.
22977         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
22978         * doc/windows-without-msvc.texi: New file.
22979         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
22980         section.
22982 2017-05-10  Bruno Haible  <bruno@clisp.org>
22984         wait-process: Adjust native Windows support.
22985         * lib/wait-process.c: Use the usual condition for recognizing a native
22986         Windows platform.
22988 2017-05-10  Bruno Haible  <bruno@clisp.org>
22990         doc: New chapter "Native Windows Support".
22991         * doc/gnulib.texi (Native Windows Support): New chapter.
22992         * doc/windows-libtool.texi: Small wording changes.
22993         * doc/windows-sockets.texi: Small wording and formatting changes.
22995 2017-05-10  Bruno Haible  <bruno@clisp.org>
22997         doc: Move section "Library version handling".
22998         * doc/gnulib.texi: Move section "Library version handling"
22999         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
23001 2017-05-10  Bruno Haible  <bruno@clisp.org>
23003         doc: Move section "Running self-tests under valgrind".
23004         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
23005         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
23007 2017-05-10  Bruno Haible  <bruno@clisp.org>
23009         doc: New chapter "Build Infrastructure Modules".
23010         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
23012 2017-05-10  Bruno Haible  <bruno@clisp.org>
23014         Prepare for reordering sections in the manual.
23015         * doc/gnulib.texi: Move several sections to separate files. Include
23016         these files.
23017         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
23018         * doc/obsolete.texi: Likewise.
23019         * doc/extra-tests.texi: Likewise.
23020         * doc/transversal.texi: Likewise.
23021         * doc/namespace.texi: Likewise.
23022         * doc/check-version.texi: Likewise.
23023         * doc/windows-sockets.texi: Likewise.
23024         * doc/windows-libtool.texi: Likewise.
23025         * doc/licenses-texi.texi: Likewise.
23026         * doc/build-automation.texi: Likewise.
23027         * doc/c-locale.texi: Likewise.
23029 2017-05-10  Bruno Haible  <bruno@clisp.org>
23031         Fix instructions how to update manual on www.gnu.org.
23032         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
23034 2017-05-09  Bruno Haible  <bruno@clisp.org>
23036         tzset: Expand comment about TZ problem on native Windows.
23037         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
23038         Paul Eggert.
23039         * lib/ctime.c (rpl_ctime): Likewise.
23040         * lib/localtime.c (rpl_localtime): Likewise.
23041         * lib/mktime.c (mktime): Likewise.
23042         * lib/strftime-fixes.c (rpl_strftime): Likewise.
23043         * lib/wcsftime.c (rpl_wcsftime): Likewise.
23045 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
23047         intprops: don’t depend on ‘verify’
23048         Problem reported by Ævar Arnfjörð Bjarmason in:
23049         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
23050         * lib/intprops.h: Do not include verify.h, and move compile-time
23051         checks from here ...
23052         * tests/test-intprops.c (main): ... to here, if they’re not here
23053         already.  Check widths of other standard integer types.
23054         * modules/intprops (Depends-on): Remove ‘verify’.
23056 2017-05-07  Bruno Haible  <bruno@clisp.org>
23058         utimens: On native Windows, support 100ns resolution also if fd < 0.
23059         * lib/utime.in.h: Include <time.h>.
23060         (_gl_utimens_windows): New declaration.
23061         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
23062         (utime): Invoke it.
23063         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
23064         instead of utime.
23065         * modules/utime (Depends-on): Add 'time'.
23067 2017-05-07  Bruno Haible  <bruno@clisp.org>
23069         utimens: Improve error code on native Windows.
23070         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
23071         error code EACCES, not EINVAL.
23073 2017-05-07  Bruno Haible  <bruno@clisp.org>
23075         utime: Handle more Windows error codes.
23076         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
23077         Based on explanations by Billy O'Neal.
23079 2017-05-05  Bruno Haible  <bruno@clisp.org>
23081         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
23082         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
23083         union.
23084         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
23085         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
23086         value of cipher->IV.
23088 2017-05-05  Bruno Haible  <bruno@clisp.org>
23090         wctype-h-c++-tests: Update.
23091         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
23093 2017-05-05  Bruno Haible  <bruno@clisp.org>
23095         wchar-c++-tests: Update.
23096         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
23098 2017-05-05  Bruno Haible  <bruno@clisp.org>
23100         utime-h-c++-tests: New module.
23101         * tests/test-utime-h-c++.cc: New file.
23102         (utime): Declare, missing since 2017-04-30.
23103         * modules/utime-h-c++-tests: New file.
23105 2017-05-05  Bruno Haible  <bruno@clisp.org>
23107         unistd-c++-tests: Update.
23108         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
23109         (read): Declare, missing since 2011-04-15.
23110         (sethostname): Declare, missing since 2011-12-03.
23112 2017-05-05  Bruno Haible  <bruno@clisp.org>
23114         time-c++-tests: Update.
23115         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
23116         (localtime, gmtime): Declare, missing since 2017-04-30.
23117         (ctime): Declare, missing since 2017-04-30.
23118         (strftime): Declare, missing since 2017-04-30.
23119         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
23120         2015-07-24.
23122 2017-05-05  Bruno Haible  <bruno@clisp.org>
23124         sys_resource-c++-tests: New module.
23125         * tests/test-sys_resource-c++.cc: New file.
23126         (getrusage): Declare, missing since 2012-04-13.
23127         * modules/sys_resource-c++-tests: New file.
23129 2017-05-05  Bruno Haible  <bruno@clisp.org>
23131         strings-c++-tests: New module.
23132         * tests/test-strings-c++.cc: New file.
23133         (ffs): Declare, missing since 2011-07-12.
23134         * modules/strings-c++-tests: New file.
23136 2017-05-05  Bruno Haible  <bruno@clisp.org>
23138         string-c++-tests: Update.
23139         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
23140         (ffsll): Declare, missing since 2011-07-15.
23142 2017-05-05  Bruno Haible  <bruno@clisp.org>
23144         stdlib-c++-tests: Update.
23145         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
23146         2011-10-18.
23147         (ptsname_r): Declare, missing since 2011-11-07.
23148         (qsort_r): Declare, missing since 2014-08-29.
23149         (random, srandom, initstate, setstate): Declare, missing since
23150         2012-01-14.
23151         (secure_getenv): Declare, missing since 2013-02-05.
23153 2017-05-05  Bruno Haible  <bruno@clisp.org>
23155         stdio-c++-tests: Update.
23156         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
23158 2017-05-05  Bruno Haible  <bruno@clisp.org>
23160         signal-h-c++-tests: Update.
23161         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
23163 2017-05-05  Bruno Haible  <bruno@clisp.org>
23165         math-c++-tests: Update.
23166         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
23167         (fma): Declare, missing since 2011-10-17.
23168         (fmal): Declare, missing since 2011-10-17.
23170 2017-05-05  Bruno Haible  <bruno@clisp.org>
23172         locale-c++-tests: Update.
23173         * tests/test-locale-c++.cc (localeconv): Declare, missing since
23174         2012-03-25.
23176 2017-05-05  Bruno Haible  <bruno@clisp.org>
23178         inttypes-c++-tests: New module.
23179         * tests/test-inttypes-c++.cc: New file.
23180         (strtoimax): Declare, missing since 2012-01-05.
23181         (strtoumax): Declare, missing since 2012-01-05.
23182         * modules/inttypes-c++-tests: New file.
23184 2017-05-05  Bruno Haible  <bruno@clisp.org>
23186         dirent-c++-tests: Update.
23187         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
23188         (rewinddir): Declare, missing since 2011-09-13.
23189         (dirfd): Declare, missing since 2010-03-08.
23191 2017-05-04  Bruno Haible  <bruno@clisp.org>
23193         argp: Fix mistake in 2017-04-23 commit.
23194         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
23195         assume that strerror_r returns 'int', not 'char *'.
23197 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
23199         argp: Fix typo.
23200         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
23202 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23204         utimens: port to Emacs + MS-Windows
23205         Skip the new MS-Windows-specific code if Emacs.
23206         * lib/utimens.c [EMACS_CONFIGUATION]:
23207         Avoid new MS-Windows-specific code.
23208         (USE_SETFILETIME): New macro.
23209         (fdutimens): Use it.
23211 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23213         tzset: update doc for TZ problems on MS-Windows
23214         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
23215         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
23216         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
23217         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
23218         * doc/posix-functions/wcsftime.texi:
23219         Mention some issues with TZ under MS-Windows.
23221 2017-05-01  Bruno Haible  <bruno@clisp.org>
23223         copy-file: Fix build error on mingw.
23224         * modules/copy-file (Depends-on): Add 'close'.
23226 2017-05-01  Bruno Haible  <bruno@clisp.org>
23228         tzset: Work around TZ problem on native Windows.
23229         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
23230         Windows, set REPLACE_TZSET to 1.
23231         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
23232         invoke '_tzset' instead of 'tzset'.
23233         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
23235         * modules/time_rz (Depends-on): Add tzset.
23236         * lib/time_rz.c (tzset): Remove fallback definition.
23237         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
23239 2017-05-01  Bruno Haible  <bruno@clisp.org>
23241         mktime: Fix dependencies.
23242         * modules/mktime (Depends-on): Add 'time'.
23244 2017-05-01  Bruno Haible  <bruno@clisp.org>
23246         New module 'localtime-buffer', split off from module 'gettimeofday'.
23247         * lib/localtime-buffer.h: New file.
23248         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
23249         * lib/time.in.h (tzset): New declaration.
23250         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
23251         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
23252         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
23253         moved to lib/localtime-buffer.c or lib/tzset.c.
23254         * m4/localtime-buffer.m4: New file.
23255         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
23256         HAVE_TZSET, REPLACE_TZSET.
23257         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
23258         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
23259         gl_LOCALTIME_BUFFER_NEEDED.
23260         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
23261         since 2007-01-18.
23262         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
23263         tzset.
23264         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
23265         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
23266         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
23267         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
23268         * modules/localtime-buffer: New file.
23269         * modules/time (Depends-on): Remove 'gettimeofday'.
23270         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
23271         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
23272         * modules/tzset (Description): Enable hyperlink to POSIX spec.
23273         (Files): Add lib/tzset.c.
23274         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
23275         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
23276         gl_TIME_MODULE_INDICATOR.
23277         * modules/gettimeofday (Depends-on): Add localtime-buffer.
23279 2017-05-01  Bruno Haible  <bruno@clisp.org>
23281         copy-file: Preserve sub-second time stamps.
23282         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
23283         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
23284         transport the time stamps from the original file to the destination
23285         file.
23286         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
23287         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
23288         utime-h.
23290 2017-05-01  Bruno Haible  <bruno@clisp.org>
23292         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
23293         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
23294         also on MSVC.
23295         Reported by Eli Zaretskii <eliz@gnu.org>.
23297 2017-05-01  Bruno Haible  <bruno@clisp.org>
23299         wchar: Fix compilation error with the original mingw.org mingw.
23300         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23301         <stddef.h> instead.
23302         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
23303         gl_WCTYPE_H.
23304         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
23305         gl_TYPE_WINT_T_PREREQ instead.
23306         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
23307         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
23308         Reported by Eli Zaretskii <eliz@gnu.org>.
23310 2017-04-30  Bruno Haible  <bruno@clisp.org>
23312         utimecmp: Add support for native Windows.
23313         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
23315 2017-04-30  Bruno Haible  <bruno@clisp.org>
23317         utimens: Add support for native Windows.
23318         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
23319         (fdutimens): Provide a native Windows implementation, like utime.c with
23320         added tv_nsec support.
23321         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
23322         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
23324 2017-04-30  Bruno Haible  <bruno@clisp.org>
23326         wcsftime: New module.
23327         * lib/wchar.in.h (wcsftime): New declaration.
23328         * lib/wcsftime.c: New file.
23329         * m4/wcsftime.m4: New file.
23330         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
23331         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
23332         HAVE_WCSFTIME, REPLACE_WCSFTIME.
23333         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
23334         HAVE_WCSFTIME, REPLACE_WCSFTIME.
23335         * modules/wcsftime: New file.
23336         * doc/posix-functions/wcsftime.texi: Mention the new module.
23338 2017-04-30  Bruno Haible  <bruno@clisp.org>
23340         strftime-fixes: New module.
23341         * lib/time.in.h (strftime): New declaration.
23342         * lib/strftime-fixes.c: New file.
23343         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
23344         (gl_FUNC_STRFTIME): Remove macro.
23345         * m4/strftime-fixes.m4: New file.
23346         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
23347         REPLACE_STRFTIME.
23348         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
23349         REPLACE_STRFTIME.
23350         * modules/strftime-fixes: New file.
23351         * doc/posix-functions/strftime.texi: Mention the new module.
23353 2017-04-30  Bruno Haible  <bruno@clisp.org>
23355         mktime: Work around TZ problem on native Windows.
23356         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
23357         from the native Windows workaround.
23358         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
23359         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
23360         'guessing no'.
23361         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
23362         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
23363         NEED_MKTIME_WINDOWS.
23364         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
23365         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
23366         NEED_MKTIME_INTERNAL.
23367         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
23368         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
23369         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
23370         not REPLACE_MKTIME.
23371         * doc/posix-functions/mktime.texi: Mention the native Windows
23372         workaround.
23374 2017-04-30  Bruno Haible  <bruno@clisp.org>
23376         localtime: New module.
23377         * lib/time.in.h (localtime): Declare also if requested by module
23378         'localtime'.
23379         * lib/localtime.c: New file.
23380         * m4/localtime.m4: New file.
23381         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
23382         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
23383         * modules/localtime: New file.
23384         * doc/posix-functions/localtime.texi: Mention the new module.
23386 2017-04-30  Bruno Haible  <bruno@clisp.org>
23388         ctime: New module.
23389         * lib/time.in.h (ctime): New declaration.
23390         * lib/ctime.c: New file.
23391         * m4/ctime.m4: New file.
23392         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
23393         REPLACE_CTIME.
23394         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
23395         * modules/ctime: New file.
23396         * doc/posix-functions/ctime.texi: Mention the new module.
23398 2017-04-30  Bruno Haible  <bruno@clisp.org>
23400         gettimeofday: Provide higher resolution on native Windows.
23401         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
23402         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
23403         (initialize): Initialize it.
23404         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
23405         'struct timeval'. Don't use _ftime().
23406         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
23407         <sys/timeb.h> and _ftime.
23409 2017-04-30  Bruno Haible  <bruno@clisp.org>
23411         Document the problem with the Cygwin environment variable TZ.
23412         * doc/posix-functions/tzset.texi: Add note about TZ.
23413         * doc/posix-functions/ctime.texi: Likewise.
23414         * doc/posix-functions/localtime.texi: Likewise.
23415         * doc/posix-functions/mktime.texi: Likewise.
23416         * doc/posix-functions/strftime.texi: Likewise.
23417         * doc/posix-functions/wcsftime.texi: Likewise.
23418         * doc/pastposix-functions/ftime.texi: Likewise.
23420 2017-04-30  Bruno Haible  <bruno@clisp.org>
23422         utime-tests: New module.
23423         * tests/test-utime.c: New file, based on tests/test-utimens.h.
23424         * tests/test-utimens-common.h: Include <sys/stat.h>.
23425         * modules/utime-tests: New file.
23427 2017-04-29  Bruno Haible  <bruno@clisp.org>
23429         utime: New module.
23430         * lib/utime.in.h: Add comment for snippets.
23431         (utime): New declaration.
23432         * lib/utime.c: New file.
23433         * m4/utime.m4: New file.
23434         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
23435         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
23436         REPLACE_UTIME.
23437         * modules/utime-h (Depends-on): Add snippets.
23438         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
23439         Insert snippets.
23440         * modules/utime: New file.
23441         * doc/posix-functions/utime.texi: Mention the new module.
23443 2017-04-29  Bruno Haible  <bruno@clisp.org>
23445         utime-h: Modernize handling of 'struct utimbuf'.
23446         * lib/utime.in.h: Include next <utime.h> if it exists.
23447         (utimbuf): Define to _utimbuf on native Windows.
23448         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
23449         Set UTIME_H on native Windows.
23450         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
23451         * modules/utime-h (Depends-on): Add include_next.
23452         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
23453         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
23455         * lib/utimens.c (utimbuf): Remove fallback definition.
23456         * m4/utimens.m4 (gl_UTIMENS): Don't require
23457         gl_CHECK_TYPE_STRUCT_UTIMBUF.
23458         * m4/utimbuf.m4: Remove file.
23459         * modules/utimens (Files): Remove m4/utimbuf.m4.
23461 2017-04-29  Bruno Haible  <bruno@clisp.org>
23463         Make use of module 'utime-h'.
23464         * modules/copy-file (Depends-on): Add utime-h.
23465         * lib/copy-file.c: Assume that <utime.h> exists.
23466         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
23468         * modules/utimens (Depends-on): Add utime-h.
23469         * lib/utimens.c: Assume that <utime.h> exists.
23471 2017-04-29  Bruno Haible  <bruno@clisp.org>
23473         utime-h: New module.
23474         * m4/utime_h.m4: New file.
23475         * lib/utime.in.h: New file.
23476         * modules/utime-h: New file.
23477         * doc/posix-headers/utime.texi: Mention the new module.
23479         * tests/test-utime-h.c: New file.
23480         * modules/utime-h-tests: New file.
23482 2017-04-30  Bruno Haible  <bruno@clisp.org>
23484         Fix a few typos.
23485         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
23486         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
23487         * doc/posix-functions/fstat.texi: Fix a plural typo.
23488         * doc/posix-functions/stat.texi: Likewise.
23489         * m4/include_next.m4: Update comments.
23491 2017-04-29  Bruno Haible  <bruno@clisp.org>
23493         error: Fix mistake in 2017-04-23 commit.
23494         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
23495         assume that strerror_r returns 'int', not 'char *'.
23497 2017-04-29  Bruno Haible  <bruno@clisp.org>
23499         stat: Fix time_t values and other problems on native Windows platforms.
23500         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
23501         implementations of stat().
23502         * lib/stat.c: Include filename.h instead of dosname.h. Include
23503         malloca.h, stat-w32.h.
23504         (is_unc_root): New function.
23505         (rpl_stat): New implementation for native Windows. Remove
23506         REPLACE_FUNC_STAT_DIR code.
23507         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
23508         Don't define REPLACE_FUNC_STAT_DIR.
23509         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
23510         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
23511         (Depends-on): Remove dosname. Add filename, malloca.
23512         (configure.ac): Also compile lib/stat-w32.c.
23514 2017-04-29  Bruno Haible  <bruno@clisp.org>
23516         fstat: Fix time_t values on native Windows platforms.
23517         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
23518         * lib/stat-w32.h: New file.
23519         * lib/stat-w32.c: New file.
23520         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
23521         stat-w32.h instead.
23522         (fstat_nothrow): Remove function.
23523         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
23524         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
23525         always.
23526         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
23527         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
23528         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
23529         (configure.ac): Also compile lib/stat-w32.c.
23531 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23533         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
23534         Problem reported by Assaf Gordon and Gavin Smith in:
23535         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
23536         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
23537         #define this, too.
23539 2017-04-29  Bruno Haible  <bruno@clisp.org>
23541         strerror_r-posix: Fixes for MSVC 14.
23542         * lib/strerror_r.c: Include <stdarg.h>.
23543         (strerror_r): Provide error messages for errno values 100...140.
23544         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
23546 2017-04-28  Bruno Haible  <bruno@clisp.org>
23548         noreturn: New module.
23549         * lib/noreturn.h: New file.
23550         * modules/noreturn: New file.
23551         * tests/test-noreturn.c: New file.
23552         * modules/noreturn-tests: New file.
23553         * tests/test-noreturn-c++.cc: New file.
23554         * modules/noreturn-c++-tests: New file.
23556 2017-04-27  Bruno Haible  <bruno@clisp.org>
23558         wctype-h: Fix compilation error with the original mingw.org mingw.
23559         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
23560         HAVE_CRTDEFS_H.
23561         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
23562         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23563         <stddef.h> instead.
23564         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
23566 2017-04-26  Pádraig Brady  <P@draigBrady.com>
23568         nap.h: Fix compilation on non windows platforms
23569         * tests/nap.h: Move misplaced endif.
23571 2017-04-26  Pádraig Brady  <P@draigBrady.com>
23572         and Paul Eggert  <eggert@cs.ucla.edu>
23574         time_rz: fix heap buffer overflow vulnerability
23575         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
23576         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
23577         whether there is enough buffer space available, thus avoiding
23578         the problematic promotion of signed to unsigned causing an invalid
23579         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
23580         the start of the buffer.
23581         * tests/test-parse-datetime.c (main): Add a test case written by
23582         Paul Eggert, which overwrites enough of the heap so that
23583         standard glibc will fail with "free(): invalid pointer"
23584         without the patch applied.
23586 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
23588         xalloc: add missing integer overflow check
23589         * lib/xalloc.h (x2nrealloc): Also check for multiplication
23590         overflow when P is null.
23592 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
23594         parse-datetime: make it standalone
23595         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
23596         (_GL_ATTRIBUTE_FORMAT): New macro.
23597         These are needed to get './gnulib-tool --test parse-datetime' to work.
23599 2017-04-23  Bruno Haible  <bruno@clisp.org>
23601         nap.h: Port to native Windows.
23602         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
23603         use nap_fd instead. On native Windows, close and reopen nap_fd.
23604         (nap_works): Don't compare the ctimes, because on native Windows, these
23605         are the creation times.
23606         (nap): Update.
23608 2017-04-23  Bruno Haible  <bruno@clisp.org>
23610         nap.h: Fix logic.
23611         * tests/nap.h (nap): Avoid signed integer overflow in loop.
23613 2017-04-23  Bruno Haible  <bruno@clisp.org>
23615         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
23616         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
23617         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
23618         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
23619         * lib/argp-help.c (__argp_failure): Likewise.
23621 2017-04-23  Bruno Haible  <bruno@clisp.org>
23623         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
23624         * m4/strerror_r.m4: Revert changes since 2016-10-16.
23625         * lib/strerror_r.c: Likewise.
23627 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
23629         Target a C99 subset, not a C89 subset
23630         For many years Gnulib has targeted C89 and has resisted using C99
23631         features, as some Gnulib-using programs still wanted to target
23632         C89.  As this no longer seems to be the case, relax the porting
23633         requirements to allow some C99 features.  This is merely a change
23634         to the documentation, to give other Gnulib developers a chance to
23635         weigh in on the topic.
23636         * doc/extern-inline.texi (extern inline):
23637         * doc/gnulib-readme.texi (Portability guidelines):
23638         * doc/gnulib-tool.texi (Initial import):
23639         * doc/gnulib.texi (Header files):
23640         Modernize to talk about C99 and C11 instead of C89 and C99.
23641         * doc/gnulib-readme.texi (Portability guidelines):
23642         Now a section, not merely a subsection, so that it
23643         can be split up.  Modernize a bit.
23644         (C language versions, C99 features assumed)
23645         (C99 features avoided):
23646         New sections.
23648 2017-04-23  Bruno Haible  <bruno@clisp.org>
23650         doc: New section "Modules that modify the way other modules work".
23651         * doc/gnulib.texi (Modules that modify the way other modules work): New
23652         section.
23654 2017-04-23  Bruno Haible  <bruno@clisp.org>
23656         stat-time: Update comments.
23657         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
23658         * tests/test-utimens-common.h: Add reference regarding st_ctime on
23659         Windows.
23661 2017-04-01  Bruno Haible  <bruno@clisp.org>
23663         glob: Fix more memory leaks.
23664         * lib/glob.c (glob): Free allocated memory before returning.
23665         Reported by Coverity via Tim Rühsen.
23667 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23669         poll: improve fast check for out-of-range NFD
23670         * lib/poll.c: Do not include intprops.h.
23671         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
23672         * modules/poll (Depends-on): Remove intprops.
23674         ftoastr: cite a newer paper
23675         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
23676         instead of Loitsch 2010.
23678 2017-04-22  Bruno Haible  <bruno@clisp.org>
23680         poll: Enable argument check also in the Windows implementation.
23681         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
23682         Reported by Paul Eggert.
23684 2017-04-22  Bruno Haible  <bruno@clisp.org>
23686         getlogin_r: Work around bug in Mac OS X 10.12.
23687         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
23688         bug.
23689         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
23690         given size minus 1, call getlogin_r a second time, on a larger buffer.
23691         * modules/getlogin_r (Depends-on): Add malloca.
23692         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
23694 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23696         parse-datetime: fix %z and prefer signed int
23697         %z problem reported by Pádraig Brady in:
23698         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
23699         While fixing it, I decided to prefer signed ints to size_t, as
23700         they are less error-prone (e.g., ubsan catches overflow).
23701         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
23702         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
23703         counts, since signed integers make for better debugging.
23704         (date): Don’t assume %z works in printf formats.
23705         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
23706         sizes of buffers known to be small, e.g., because we’re using snprintf.
23707         (parse_datetime2): Simplify call to debug_mktime_not_ok.
23709 2017-04-22  Bruno Haible  <bruno@clisp.org>
23711         *printf: Work around rounding bug on Mac OS X.
23712         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
23713         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
23714         Mac OS X and FreeBSD.
23715         * doc/glibc-functions/*printf.texi: Likewise.
23717 2017-04-22  Bruno Haible  <bruno@clisp.org>
23719         vasnprintf tests: Avoid warnings.
23720         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
23721         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
23722         test.
23724 2017-04-22  Bruno Haible  <bruno@clisp.org>
23726         sys_file tests: Avoid warning.
23727         * tests/test-sys_file.c (main): Add a default clause to the switch
23728         statement.
23730 2017-04-22  Bruno Haible  <bruno@clisp.org>
23732         sethostname: Update doc.
23733         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
23734         Mac OS X.
23736 2017-04-22  Bruno Haible  <bruno@clisp.org>
23738         quotearg tests: Avoid warnings.
23739         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
23740         false.
23742 2017-04-22  Bruno Haible  <bruno@clisp.org>
23744         poll: Enable argument check.
23745         * lib/poll.c: Include intprops.h.
23746         (poll): Check value of nfd correctly.
23747         * modules/poll (Depends-on): Add intprops.
23749 2017-04-22  Bruno Haible  <bruno@clisp.org>
23751         get-rusage-data: Avoid warnings on Mac OS X.
23752         * lib/get-rusage-data.c: On Mac OS X, don't define
23753         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
23754         (get_rusage_data) [Mac OS X]: Just return 0.
23756 2017-04-22  Bruno Haible  <bruno@clisp.org>
23758         xbinary-io: Fix build error.
23759         * modules/xbinary-io (Depends-on): Add gettext-h.
23760         * lib/xbinary-io.c: Include gettext.h and define _().
23761         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
23762         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
23764 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23766         parse-datetime: overflow and debug cleanups
23767         This long patch was triggered by this bug report from Ruediger Meier:
23768         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
23769         I fixed the bug he noted, then found some others nearby, and then
23770         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
23771         up some of the code to follow GNU standards while I was at it.
23772         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
23773         use c_isdigit.
23774         (EPOCH_YEAR): Remove; unused.
23775         (TM_YEAR_BASE): Now an enum rather than a macro.
23776         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
23777         time zone offset, since timezones now are in terms of seconds and
23778         not minutes.
23779         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
23780         appropriate.  Verify that intmax_t is wide enough.
23781         (time_overflow, time_zone_str): New functions, used to deal
23782         more reliably with overflow.
23783         (dbg_printf): Add printf attribute, to help catch integer width errors.
23784         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
23785         (%union, to_hour, yylex, parse_datetime2):
23786         Use intmax_t instead of long int and/or long_time_t.
23787         All uses changed.
23788         (DBGBUFSIZE): Move earlier.
23789         (relative_time, set_hhmmss, parser_control):
23790         Just use int for nanoseconds and for time zones; that’s wide enough.
23791         (parser_control): Use bool for members like year_seen that can
23792         be booleans instead of counters.  All uses changed.
23793         Remove debug_default_input_timezone; no longer needed.
23794         All uses removed.
23795         (apply_relative_time): Return a bool overflow flag.
23796         All uses changed to check for overflow.
23797         (apply_relative_time, zone, date, relunit, relunit_snumber)
23798         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
23799         Check for integer overflow portably.
23800         (str_days): Use just int for N, as it’s wide enough.
23801         Prefer 2D char arrays to arrays of char * when it looks like
23802         2D is a win on typical platforms.
23803         Prefer snprintf to strncpy/strncat, for simplicity;
23804         all buffers are smaller than INT_MAX so this is safe.
23805         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
23806         (debug_print_current_time): Don’t assume tv_nsec is of type long,
23807         as this is not true on x32.  Output "." before any nanoseconds.
23808         (debug_print_current_time, parse_datetime2):
23809         Output local zones using a more-consistent format.
23810         (debug_print_current_time, date, parse_datetime2):
23811         (main) [TEST]:
23812         Don’t assume time_t is the same width as long.
23813         (print_rel_part): New function, replacing ...
23814         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
23815         (debug_print_relative_time): Use bool for boolean.
23816         (local_zone): dsts_seen now counts only tDST instances.
23817         (date): Fix printf of size_t to use %z.  Do not assume numeric
23818         tokens have negative values merely because the context suggests
23819         a syntax with "-" separating tokens.
23820         (time_zone_hhmm): Return bool success indicator, which checks for
23821         overflow.  Store result into PC->time_zone instead.  All callers
23822         changed.
23823         (tm_year_str): New function.  Return a bool success indicator and
23824         store the result into a buffer.  All callers changed.  Output the
23825         numerically correct string even if adding 1900 to the year would
23826         overflow.
23827         (to_tm_year): New function, replacing the old to_year.  All
23828         callers changed.
23829         (tm_diff): Sync with glibc.
23830         (lookup_word): Use to_uchar instead of doing it by hand.
23831         (TZBUFSIZE): Now local to the only function that needs it.
23832         (debug_strfdatetime): Simplify now that time zones are int seconds.
23833         (debug_strfdate): Work even if tm_year + 1900 would overflow.
23834         (get_effective_timezone): Remove.  All uses removed.
23835         (parse_datetime2): Use fprintf in pieces instead of snprintfing
23836         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
23837         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
23838         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
23839         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
23840         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
23841         * modules/parse-datetime (Depends-on): Add inttypes.
23843 2017-04-21  Bruno Haible  <bruno@clisp.org>
23845         gettext-h: Avoid -Wundef warning.
23846         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
23847         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
23848         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
23850 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
23852         error: Avoid "function declaration isn't a prototype" warning.
23853         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
23855 2017-04-21  Bruno Haible  <bruno@clisp.org>
23857         vasnprintf: Fix for MSVC 14.
23858         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
23859         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
23860         of !HAVE_SNPRINTF_RETVAL_C99.
23862 2017-04-21  Bruno Haible  <bruno@clisp.org>
23864         mbrtowc tests: Fix test failures on MSVC 14.
23865         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
23866         behaviour for invalid input.
23868 2017-04-21  Bruno Haible  <bruno@clisp.org>
23870         mbsinit: Fix for MSVC 14.
23871         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
23872         implementation that is in sync with mbrtowc.c. On other platforms, use
23873         an adequate ad-hoc implementation.
23875 2017-04-21  Bruno Haible  <bruno@clisp.org>
23877         Fix test-mbrtowc5.sh failure on native Windows.
23878         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
23879         "C".
23881 2017-04-21  Bruno Haible  <bruno@clisp.org>
23883         Avoid accidental use of native Windows APIs on Cygwin.
23884         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
23885         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
23886         * lib/localename.c (WINDOWS_NATIVE): Likewise.
23888 2017-04-20  Bruno Haible  <bruno@clisp.org>
23890         Remove red warnings from the generated MODULES.html.
23891         * modules/fcntl (Description): Disambiguate function references.
23892         * modules/getcwd-lgpl (Description): Likewise.
23893         * modules/hostent (Description): Likewise.
23894         * modules/servent (Description): Likewise.
23895         * modules/tempname (Description): Likewise.
23897 2017-04-20  Bruno Haible  <bruno@clisp.org>
23899         verify tests: Fix spurious failure with parallel make.
23900         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
23901         EXTRA_PROGRAMS.
23902         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
23903         * tests/test-verify-try.c: New file.
23904         * modules/verify-tests (Files): Add it.
23905         (EXTRA_PROGRAMS): Add test-verify-try.
23906         (MOSTLYCLEANFILES): Update accordingly.
23907         Reported by Adam James Stewart <ajstewart@anl.gov>.
23909 2017-04-18  Bruno Haible  <bruno@clisp.org>
23911         vma-iter: Fix compilation error on Solaris 7.
23912         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
23913         like on IRIX, OSF/1.
23914         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23916 2017-04-18  Bruno Haible  <bruno@clisp.org>
23918         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
23919         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
23920         included.
23921         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
23922         <sys/procfs.h>.
23923         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
23924         <sys/procfs.h> cannot be included.
23925         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23927 2017-04-18  Bruno Haible  <bruno@clisp.org>
23929         getopt-gnu: Add comments.
23930         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
23931         * modules/getopt-gnu (configure.ac): Likewise.
23933 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
23935         regex: port better to Solaris 10
23936         Solaris 10 <locale.h> includes <libintl.h>, which #defines
23937         gettext, and this causes a double #define.
23938         Problem reported by Gavin Smith in:
23939         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
23940         * lib/regex_internal.h (gettext): #undef before #defining.
23942 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
23944         intprops: improve comments
23945         * lib/intprops.h: Improve and shorten commentary.
23946         For the record, if we ever run into a pedantic compiler that
23947         behaves differently from GCC when converting an out-of-range value
23948         to a signed integer, we can work around the problem with something
23949         like the following code, where UCT is the signed counterpart of T
23950         (UCT is sometimes narrower than UT) and all callers are changed
23951         accordingly:
23952         #if __SUNPRO_C <= 0x5120
23953         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
23954            ((t) ((ut) (a) op (ut) (b)))
23955         #else
23956         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
23957            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
23958             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
23959                + TYPE_MINIMUM (t)) \
23960             : (t) (uct) ((ut) (a) op (ut) (b)))
23961         #endif
23963 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
23965         intprops: try to avoid tickling similar bugs
23966         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
23967         needs to be the same width as T; it can be wider.
23968         Change callers so that UT is at least as wide as unsigned int,
23969         as I suspect that this is less likely to run into compiler bugs.
23971         intprops: port to Oracle Studio 12.3 x86
23972         Problem reported by Gavin Smith in:
23973         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
23974         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
23975         Convert unsigned to signed via the usual rather than the standard way,
23976         to avoid a compiler bug in Oracle Studio 12.3 x86.
23978 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
23980         getopt: prefer - to _ in new file names
23981         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
23982         * lib/getopt-core.h: Rename from lib/getopt_core.h.
23983         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
23984         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
23985         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
23986         All uses changed.
23988         getopt: port recent getopt changes to macOS
23989         Problem reported by Harald Maier (Bug#26398).
23990         The macOS C compiler uses __nonnull for its own purposes and that
23991         clashes with glibc's __nonnull.
23992         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
23993         * lib/getopt_cdefs.in.h (__nonnull): Remove.
23994         * lib/getopt_core.h (getopt):
23995         * lib/getopt_ext.h (getopt_long, getopt_long_only):
23996         Use _GL_ARG_NONNULL, not __nonnull.
23997         * lib/unistd.in.h: Move snippet hooks to before where the getopt
23998         .h files are included, so that _GL_ARG_NONNULL is defined in time.
23999         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
24000         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
24002 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
24004         getopt-gnu: omit some duplicate code
24005         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
24006         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
24007         gnulib-tool already does this.
24008         * modules/getopt-gnu (configure.ac): Omit code duplicated from
24009         getopt-posix, which we depend on.
24011         getopt-posix: use angle-bracket include
24012         * lib/getopt1.c: Include <config.h>, not "config.h".
24014 2017-04-06  Zack Weinberg  <zackw@panix.com>
24016         getopt: annotate files with relationship to glibc
24018         As the final act in this patchset, adjust the message at the top of
24019         each file to indicate which files are synced with glibc.  (This has
24020         already been done for most of the headers.)
24022         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
24023         Mention in top-of-file boilerplate that these files are shared
24024         between glibc and gnulib.
24027         getopt: split up getopt.in.h and eliminate __need_getopt
24029         Over in glibc, all of the __need macros are being phased out in favor
24030         of small headers that declare only the necessary components, as this
24031         is much simpler and less prone to bugs.  As getopt is shared with
24032         glibc, gnulib needs to do the same for __need_getopt.
24034         __need_getopt is misnamed; what it really means is "we want only the
24035         getopt features specified in POSIX, not the GNU extensions".  glibc
24036         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
24037         these files can be shared verbatim with gnulib.  The portability
24038         wrapper, on the other hand, they have renounced altogether; glibc's
24039         getopt.h will no longer be shared with gnulib at all.  In exchange,
24040         certain glibc-specific quirks (having to do with __posix_getopt) no
24041         longer need appear in gnulib's headers at all.
24043         This patch merges getopt_core.h and getopt_ext.h from glibc, and
24044         splits up the current gnulib-side portability wrapper into three
24045         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
24046         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
24047         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
24048         unistd.in.h just use them.  All new files are clearly marked with
24049         whether they are shared with glibc.
24051         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
24052         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
24053         with glibc, and ...
24054         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
24055         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
24056         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
24057         instead of defining __need_getopt and including the full getopt.h.
24059         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
24060         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
24061         * modules/getopt-posix (Files): Add new headers and sort list.
24062         (Depends-on): No longer need snippet/arg-nonnull.
24063         (Makefile.am): Generate getopt_cdefs.h.
24066         getopt: better handling of ambiguous options
24068         glibc's getopt uses alloca to construct a linked list of possibilities
24069         for an "ambiguous" long option.  In gnulib, malloc should be used
24070         instead.  Providing for both cases complicates things a fair bit.
24072         This patch rewrites ambiguous-option handling to use a boolean vector
24073         instead of a linked list.  There is then only one allocation that
24074         might need freeing; in glibc it can honor __libc_use_alloca as usual,
24075         and in gnulib we define __libc_use_alloca to always be false, so we
24076         don't need ifdefs in the middle of the function.  This should also be
24077         slightly more efficient in the normal case of long options being fully
24078         spelled out -- I think most people aren't even aware they _can_
24079         sometimes abbreviate long options.
24081         One interesting consequence is that the list of possibilities is now
24082         printed in exactly the order they appear in the list of long options,
24083         instead of the first possibility being shuffled to the end.
24085         (The patch looks bigger than it really is because there's a fair bit
24086         of reindentation and code rearrangement.)
24088         * lib/getopt.c: When used standalone, define __libc_use_alloca
24089         as always false and alloca to abort if called.
24090         (process_long_option): Rewrite handling of ambiguous long options
24091         to use a single boolean vector, not a linked list; use
24092         __libc_use_alloca to decide whether to allocate this using alloca.
24095         getopt: refactor long-option handling
24097         There were two copies of the bulk of the code to handle long options.
24098         Now there is only one.
24100         This change temporarily removes the logic to avoid using alloca when
24101         standalone; the next patch in the series will restore it.
24103         * lib/getopt.c (process_long_option): New function split out
24104         from _getopt_internal_r.
24105         (_getopt_internal_r): Replace both copies of the long-option
24106         processing code with calls to process_long_option.
24109         getopt: tidy up _getopt_initialize a bit
24111         _getopt_data.__posixly_correct is completely redundant to
24112         _getopt_data.__ordering, and some work that logically belongs in
24113         _getopt_initialize was being done by _getopt_internal_r, making the
24114         code harder to understand.
24116         As a side effect, getenv will no longer be called if the first
24117         character of the options string is '+' or '-', which is probably a
24118         Good Thing.  (Perhaps we should have a flag character that
24119         specifically asks for the permutation behavior?)
24121         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
24122         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
24123         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
24126         getopt: merge from glibc: repetition reduction
24128         The definitions of the entry point functions 'getopt' and
24129         '__posix_getopt' can be made substantially less repetitive with a
24130         helper macro.
24132         While I was merging the const-correctness changes from gnulib into
24133         glibc I noticed there are still some unnecessary casts in
24134         _getopt_internal_r.
24136         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
24137         a macro.  Consistently cast 'argv' to 'char **' when calling
24138         _getopt_internal.
24139         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
24142         getopt: clean up error reporting
24144         getopt can print a whole bunch of error messages, and when used
24145         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
24146         cancellation point and getopt isn't, and also applying fprintf to a
24147         stream in wide-character mode is not allowed.  So every single error
24148         reporting case has an #ifdef _LIBC block in which it calls internal
24149         libc functions instead.  The counterpart patch series in glibc makes
24150         it possible to simplify all of that down to a set of #defines at the
24151         top of the file; core code is written as if it is safe to just call
24152         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
24153         call any *other* stdio functions.)
24155         * lib/getopt.c: When _LIBC is defined, define fprintf to
24156         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
24157         to _IO_funlockfile.  When neither _LIBC nor
24158         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
24159         funlockfile as no-ops.
24160         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
24161         standalone error-printing code can now be used for libc as well.
24162         Add an flockfile/funlockfile pair around one case where the error
24163         message is printed in several chunks.  Don't use fputc.
24166         getopt: fix fencepost error in ambiguous-W-option handling
24168         getopt_long contains an undocumented (AFAICT) feature in which, if you
24169         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
24170         treated as equivalent to '--foo'.  This is implemented with a partial
24171         second copy of the code for handling long options, and that code
24172         increments optind one too many times when recovering from an ambiguous
24173         abbreviated option, which can cause the main loop to walk past the end
24174         of argv and crash.
24176         I discovered this while writing a test case that tries to exercise all
24177         of getopt's error reporting paths; I wouldn't be surprised to learn
24178         that this feature is never used by real applications.
24180         * lib/getopt.c (_getopt_internal_r): Don't increment
24181         d->optind a second time when reporting ambiguous -W options.
24184         getopt: clean up getopt.c and getopt1.c file headers
24186         In getopt.c, there is no need to include wchar.h at all, and it is
24187         safe nowadays to assume that stdlib.h does declare getenv (several
24188         other gnulib modules make this assumption).
24190         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
24191         by using "" inclusions consistently, and there is no actual need to
24192         include stdlib.h (except in the #ifdef TEST block, where it should be
24193         unconditional), nor to provide a backup definition of NULL at all.
24195         * lib/getopt1.c: Simplify #ifdeffage at top of file.
24196         Move inclusion of stdlib.h to #ifdef TEST block and make
24197         unconditional.  Do not define NULL.
24198         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
24199         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
24200         * modules/getopt-gnu, modules/getopt-posix: Don't call
24201         gl_PREREQ_GETENV.
24204         getopt: harmonize comments with glibc
24206         The comments explaining how the behavior of 'getopt' varies depending
24207         on whether it's the standalone version and whether there are special
24208         characters at the beginning of the options string were inconsistent
24209         between gnulib and glibc, and also out of sync with the code.
24211         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
24214         getopt: remove USE_NONOPTION_FLAGS
24216         getopt includes code to parse an environment variable named
24217         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
24218         in decimal); but all of it has been #ifdefed out since 2001, with no
24219         official way to turn it back on.
24221         According to commentary in glibc's config.h.in, bash version 2.0
24222         set this environment variable to indicate argv elements that were
24223         the result of glob expansion and therefore should not be treated
24224         as options, but the feature was "disabled later" because "it
24225         caused problems".  According to bash's CHANGES file, "later" was
24226         release 2.01; it gives no more detail about what the problems
24227         were.
24229         Version 2.0 of bash was released on the last day of 1996, and version
24230         2.01 in June of 1997.  Twenty years later, I think it is safe to
24231         assume that this environment variable isn't coming back.
24233         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
24234         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
24235         __libc_argc and __libc_argv externs, which were only used by
24236         #ifdef USE_NONOPTION_FLAGS blocks.
24239         getopt: tabify, in preparation for merge with glibc
24241         glibc sticks to the GNU default of indenting with a mix of
24242         8-column tabs and spaces; make the gnulib copy match.
24244         getopt.h is not included because it is *not* going to be merged in its
24245         present form.
24247         * getopt.c, getopt1.c, getopt_int.h: Tabify.
24249 2017-04-02  Bruno Haible  <bruno@clisp.org>
24251         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
24252         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
24253         like it was done in modules/relocatable-lib on 2011-05-21 and in
24254         modules/relocatable-prog on 2011-08-15.
24255         Reported by Reuben Thomas <rrt@sc3d.org>.
24257 2017-03-31  Bruno Haible  <bruno@clisp.org>
24259         glob: Fix invalid free() call.
24260         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
24261         static storage to home_dir.
24262         Reported by Coverity via Tim Rühsen.
24264 2017-03-31  Bruno Haible  <bruno@clisp.org>
24266         glob: Fix memory leaks.
24267         * lib/glob.c (glob): Free allocated memory before returning.
24268         Reported by Coverity via Tim Rühsen.
24270 2017-03-31  Bruno Haible  <bruno@clisp.org>
24272         md5, sha1, sha256, sha512: Add comments regarding correctness.
24273         * lib/md5.h (buflen): Add comments regarding range.
24274         * lib/sha1.h (buflen): Likewise.
24275         * lib/sha256.h (buflen): Likewise.
24276         * lib/sha512.h (buflen): Likewise.
24277         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
24278         * lib/sha1.c (sha1_process_bytes): Likewise.
24279         * lib/sha256.c (sha256_process_bytes): Likewise.
24280         * lib/sha512.c (sha512_process_bytes): Likewise.
24281         Reported by Coverity via Tim Rühsen.
24283 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
24285         getopt: merge from glibc
24286         This does not change anything substantial; it merely simplifies
24287         hypothetical merges back to glibc.
24288         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
24289         Change copyright notice to match what is in glibc.
24290         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
24291         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
24292         __open_memstream rather than open_memstream and __glibc_likely
24293         instead of __builtin_expect.
24294         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
24296 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
24298         dfa: make [0-9] faster in non-C locales
24299         Problem reported by John P. Linderman (Bug#26193).
24300         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
24301         If both ends of the range are ASCII digits, do not worry about
24302         multi-character collating sequences and the like.  Be consistent
24303         about using isalpha as a precondition for setbit_case_fold_c.
24305 2017-03-19  Bruno Haible  <bruno@clisp.org>
24307         lock: Fix compilation error with HP-UX IA64 cc.
24308         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
24309         weak on non-glibc platforms.
24311 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24313         stdalign: tweak version# and test for HP-UX IA64
24314         Problems reported by Bruno Haible in:
24315         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
24316         * lib/stdalign.in.h (_Alignas):
24317         * m4/stdalign.m4 (gl_STDALIGN_H):
24318         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
24319         used octal (as that is how they document it), but it is decimal in
24320         practice now and the ancient implementations no longer matter.
24321         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
24323 2017-03-19  Bruno Haible  <bruno@clisp.org>
24325         vma-iter: Add support for Solaris.
24326         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
24327         approach.
24328         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
24329         * lib/get-rusage-as.c: Update comment about Solaris.
24330         * lib/get-rusage-data.c: Likewise.
24332 2017-03-19  Bruno Haible  <bruno@clisp.org>
24334         vma-iter: Prefer HP-UX specific API on HP-UX.
24335         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
24336         * lib/vma-iter.h: Update.
24337         Just in case HP-UX ever implements mquery().
24339 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24341         stdalign: restore previous behavior for HP-UX IA64
24342         See Bruno Haible's email in:
24343         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
24344         which cites p 150 of a manual saying that 'aligned' works on Itanium.
24345         * lib/stdalign.in.h (_Alignas):
24346         Assume the '061200' applies to Itanium, not to PA-RISC.
24347         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
24349 2017-03-17  Bruno Haible  <bruno@clisp.org>
24351         stat-time, timespec: Support use of the header files in C++ mode.
24352         * lib/stat-time.h: Add "C" linkage declaration.
24353         * lib/timespec.h: Likewise.
24355 2017-03-17  Bruno Haible  <bruno@clisp.org>
24357         stdalign: Make it work with HP-UX cc.
24358         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
24359         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
24360         for HP-UX cc.
24362 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24364         flexmember: try to detect HP-UX 11.31 cc bug
24365         Problem reported by Bruno Haible in:
24366         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
24367         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
24368         Attempt to detect bug in HP-UX 11.31 cc.
24370 2017-03-16  Bruno Haible  <bruno@clisp.org>
24372         stdint: Fix test compilation failure with HP-UX 11 cc.
24373         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
24374         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
24375         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
24376         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
24378 2017-03-14  Bruno Haible  <bruno@clisp.org>
24380         gnulib-tool: Don't produce a tests directory with only snippet .h files.
24381         * gnulib-tool (func_modules_transitive_closure_separately): If
24382         testsrelated_modules ends up with no "real" modules, aside from
24383         modules with applicability 'all', set it to empty.
24385 2017-03-14  Bruno Haible  <bruno@clisp.org>
24387         vma-iter: Add support for HP-UX.
24388         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
24389         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
24390         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
24391         * lib/get-rusage-as.c: Update comment about HP-UX.
24392         * lib/get-rusage-data.c: Likewise.
24393         (get_rusage_data): Use get_rusage_data_via_setrlimit.
24395 2017-03-14  Bruno Haible  <bruno@clisp.org>
24397         limits-h: Make it work with HP-UX cc.
24398         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
24399         defined.
24401 2017-03-14  Bruno Haible  <bruno@clisp.org>
24403         Fix test failures on DragonFlyBSD.
24404         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
24405         * tests/test-select.h (test_bad_fd): Likewise.
24406         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
24408 2017-03-14  Bruno Haible  <bruno@clisp.org>
24410         freadahead: Silence warning on DragonFlyBSD.
24411         * lib/freadahead.c (__sreadahead): Declare ourselves.
24413 2017-03-14  Bruno Haible  <bruno@clisp.org>
24415         vma-iter: Add comment about AIX.
24416         * lib/vma-iter.c: Add comment about why this module is not implemented
24417         on AIX.
24419 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24421         snippets: move unadjusted snippet sources to lib
24422         Problem reported by Michal Privoznik in:
24423         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
24424         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
24425         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
24426         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
24427         * lib/unused-parameter.h: Rename from
24428         build-aux/snippet/unused-parameter.h.
24429         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
24430         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
24431         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
24432         * modules/snippet/c++defs (Files:, CXXDEFS_H):
24433         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
24434         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
24435         Adjust to file renamings.
24437 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
24439         gnulib-tool: don't automatically distribute files from top/
24440         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
24441         not distribute top/README-release by default, don't distribute files
24442         from top/ unconditionally.
24443         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
24444         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
24446 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24448         gnulib-tool: fix typo in comment output
24449         * gnulib-tool (func_import): Fix typo with previous change.
24451         snippets: work around GNU Make 3.82 VPATH
24452         When using 'gnulib-tool --gnu-make' on Emacs, and building
24453         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
24454         an out-of-source (VPATH) build failed because the sans-copyright
24455         snippet file was not built before the file that used it.
24456         Presumably this is some sort of VPATH thing.  Work around the
24457         problem by using the original snippet, i.e., don’t bother to
24458         remove its copyright notice.
24459         * modules/snippet/_Noreturn, modules/snippet/link-warning:
24460         Don’t assume Automake in comments.  Omit long-incorrect comment.
24461         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
24462         (MOSTLYCLEANFILES):
24463         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
24464         (MOSTLYCLEANFILES):
24465         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
24466         (MOSTLYCLEANFILES):
24467         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
24468         (MOSTLYCLEANFILES):
24469         Remove.
24470         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
24471         * modules/snippet/c++defs (CXXDEFS_H):
24472         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
24473         * modules/snippet/warn-on-use (WARN_ON_USE_H):
24474         Don’t bother to remove the copyright notice; just use the
24475         original snippet as-is.
24477 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
24479         gnulib-tool: minor --gnu-make fixups
24480         * gnulib-tool (func_emit_lib_Makefile_am):
24481         Remove useless code that was a blind alley during implementation.
24482         Problem reported by Thien-Thi Nguyen in:
24483         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
24484         (func_import): Note the "--gnu-make" option in the output comment.
24486 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24488         gnulib-tool: new option --gnu-make
24489         This is for applications like GNU Emacs that use GNU Make
24490         features instead of Automake.
24491         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
24492         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
24493         Do not assume Automake.
24494         * gnulib-tool (func_determine_path_separator)
24495         (func_modules_transitive_closure, func_update_file)
24496         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
24497         (func_import): Add support for --gnu-make.
24499 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
24501         gnulib-common.m4: avoid aclocal.m4 bloat
24502         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
24503         Hide AM_PROG_AR from aclocal, so that aclocal does not
24504         install irrelevant macro definitions into aclocal.m4.
24506 2017-03-10  Bruno Haible  <bruno@clisp.org>
24508         vma-iter: Let callers know about error.
24509         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
24510         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
24512 2017-03-05  Bruno Haible  <bruno@clisp.org>
24514         Fix value of LD for 64-bit compilers on AIX.
24515         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
24516         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
24518 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
24520         dtotimespec: simplify
24521         * lib/dtotimespec.c (dtotimespec): Simplify.
24523 2017-03-04  Bruno Haible  <bruno@clisp.org>
24525         test-calloc-gnu: Reenable test also for GCC 7.
24526         * tests/test-calloc-gnu.c (eight): New function.
24527         (main): Don't skip test; use eight() instead.
24529 2017-03-04  Jim Meyering  <meyering@fb.com>
24531         test-calloc-gnu: port to GCC7
24532         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
24533         that attempts to calloc more than SIZE_MAX bytes, because GCC7
24534         and newer would detect that at compilation time.
24536 2017-03-04  Bruno Haible  <bruno@clisp.org>
24538         tests: Avoid compiler warning about uses of null_ptr.
24539         * tests/null-ptr.h: New file.
24540         * tests/test-canonicalize.c: Include null-ptr.h.
24541         (null_ptr): Remove function.
24542         * tests/test-canonicalize-lgpl.c: Likewise.
24543         * tests/test-memmem.c: Likewise.
24544         * tests/test-ptsname_r.c: Likewise.
24545         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
24546         * modules/canonicalize-lgpl-tests: Likewise.
24547         * modules/memmem-tests: Likewise.
24548         * modules/ptsname_r-tests: Likewise.
24549         Reported by Jim Meyering.
24551 2017-03-03  Bruno Haible  <bruno@clisp.org>
24553         doc: Mention Mac OS X deficiencies regarding semaphores.
24554         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
24555         * doc/posix-functions/sem_destroy.texi: Likewise.
24556         * doc/posix-functions/sem_getvalue.texi: Likewise.
24558 2017-03-03  Bruno Haible  <bruno@clisp.org>
24560         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
24561         Reported by Assaf Gordon <assafgordon@gmail.com> via
24562         Pádraig Brady <P@draigBrady.com>.
24563         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
24564         semaphores.
24565         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
24566         (atomic_int_semaphore): New macro.
24568 2017-02-28  Bruno Haible  <bruno@clisp.org>
24570         perror tests: Tweak for z/OS.
24571         Reported by Daniel Richard G. <skunk@iskunk.org>.
24572         * tests/test-perror.sh: Don't fail z/OS style perror output.
24574 2017-02-26  Bruno Haible  <bruno@clisp.org>
24576         nproc: Refactor large function.
24577         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
24578         from num_processors.
24579         (num_processors): In this function, only deal with OMP.
24581 2017-02-26  Pádraig Brady  <P@draigBrady.com>
24583         nproc: adjust handling of OpenMP environment variables
24584         to match the return value from omp_get_num_threads(), i.e.:
24585          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
24586          - Treat 0 as an invalid value and ignore
24587         Also remove the call to omp_get_num_threads() because
24588         it's ineffective without the omp pragmas in place.
24589         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
24590         so that it can be ignored.
24591         (num_processors): Honor OMP_THREAD_LIMIT even without
24592         OMP_NUM_THREADS being set.  Also fix a typo in the environment
24593         variable being checked, from the previous recent commit.
24595 2017-02-26  Pádraig Brady  <P@draigBrady.com>
24597         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
24598         * lib/nproc.c (parse_omp_threads): A new function refactored
24599         from num_processors() to support parsing both of the
24600         above environment variables.
24601         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
24602         to accurately reflect the current OpenMP nesting level.
24603         Also support the OMP_THREAD_LIMIT environment variable
24604         to limit the max value determined from OMP_NUM_THREADS.
24605         * modules/nproc: Depend on minmax header.
24606         Suggested by Oliver Heimlich.
24608 2017-02-25  Bruno Haible  <bruno@clisp.org>
24610         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
24611         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
24613 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
24615         ftoastr: port to -Wdouble-promotion
24616         Work around -Wdouble-promotion false alarm in recent GCCs.
24617         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
24618         (ftoastr_snprintf, FTOASTR): Use it.
24620 2017-02-21  Bruno Haible  <bruno@clisp.org>
24622         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
24623         Reported by Rene Saavedra <rennes@openmailbox.org> in
24624         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
24625         * lib/glthread/lock.h: On glibc systems without
24626         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
24627         implementation of rwlocks.
24628         * lib/glthread/lock.c: Likewise.
24630 2017-02-20  Bruno Haible  <bruno@clisp.org>
24632         lock tests: Fix build failure on z/OS.
24633         Reported by Daniel Richard G. <skunk@iskunk.org>.
24634         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
24635         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
24636         exist.
24638 2017-02-19  Bruno Haible  <bruno@clisp.org>
24640         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
24641         This helps when CC=clang.
24642         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
24643         of /usr/bin/gcc.
24645         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
24646         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
24648 2017-02-19  Bruno Haible  <bruno@clisp.org>
24650         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
24651         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
24652         --with-tests --single-configure is specified.
24654 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
24656         users.txt: Update links, use HTTPS where possible
24657         * users.txt: Updated to HTTPS where possible,
24658         fixed some links to new locations.
24660 2017-02-16  Bruno Haible  <bruno@clisp.org>
24662         xbinary-io: Fix inlining.
24663         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
24665 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24667         xbinary-io: rename from xsetmode
24668         This patch is taken from suggestions by Bruno Haible in:
24669         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
24670         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
24671         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
24672         not ENOTTY, when it is an inappropriate device.
24673         * lib/binary-io.h (SET_BINARY): Resurrect.
24674         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
24675         (xset_binary_mode_error): Rename from xsetmode_error.
24676         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
24677         (xset_binary_mode): Rename from xsetmode.
24678         All uses changed.
24679         * modules/xbinary-io: Rename from modules/xsetmode.
24680         Update file names.
24681         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
24682         * NEWS: Update to match revised behavior.
24684 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
24686         tests: Adjust to recent SET_BINARY change
24687         * tests/test-binary-io.c (main):
24688         * tests/test-binary-io.sh: Remove test for SET_BINARY.
24689         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
24690         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
24691         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
24693         xsetmode: new module
24694         This is to fix a problem noted by Eric Blake.
24695         Code was using xfreopen to change files to binary mode, but this
24696         fails for stdout when in append mode.  Such code should use
24697         xsetmode instead.
24698         * NEWS: Document incompatible changes to binary-io module.
24699         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
24700         New function.
24701         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
24702         (set_binary_mode): New function, which also checks for tty.
24703         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
24705 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
24707         headers: fix begin-end typos
24708         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
24709         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
24711         selinux-h: port to PGI 16.10
24712         * lib/se-selinux.in.h: Don't assume that include_next skips over
24713         duplicate -I DIR options.
24715         argp: port to PGI 16.10
24716         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
24718 2017-02-13  Darshit Shah  <darnir@gnu.org>
24720         unicase: Update function protoype to match definition.
24721         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
24722         uses 'size_t' as the datatype for the 'len' parameter in the functions
24723         it generates. Update the prototype specified here to match the newly
24724         generated function.
24726 2017-02-12  Bruno Haible  <bruno@clisp.org>
24728         times test: Avoid gcc warnings on Linux/x32.
24729         * tests/test-times.c (main): Really cast printf arguments from clock_t
24730         to 'long int'.
24732 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24734         glob: port better to emscripten
24735         Problem reported by Bruno Haible in:
24736         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
24737         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
24739 2017-02-11  Bruno Haible  <bruno@clisp.org>
24741         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
24742         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
24743         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
24744         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
24745         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
24746         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
24747         Distinguish hppa64 from hppa.
24749 2017-02-10  Bruno Haible  <bruno@clisp.org>
24751         search: Don't assume that tsearch() exists if 'VISIT' is defined.
24752         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
24753         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
24754         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
24756 2017-02-09  Bruno Haible  <bruno@clisp.org>
24758         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
24759         * doc/gnulib.texi (Libtool and Windows): Recommend
24760         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
24761         Reported by Reuben Thomas <rrt@sc3d.org>.
24763 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24765         stddef-tests: port to SIZE_MAX <= INT_MAX
24766         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
24767         Do not assume that INT_MAX < SIZE_MAX.
24769 2017-02-01  Bruno Haible  <bruno@clisp.org>
24771         lock tests: Fix link error.
24772         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
24773         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24775 2017-01-31  Bruno Haible  <bruno@clisp.org>
24777         lock: Fix link error (regression from 2017-01-05).
24778         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
24779         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
24780         pthread_rwlockattr_destroy weak.
24781         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24783 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24785         Port to PGI 16.10 x86-64
24786         This patch fixes one real bug in gl_anylinked_list2.h, along with
24787         some minor glitches that are not bugs.  It does not silence PGI’s
24788         thousands of bogus warnings when compiling test-intprops.c.
24789         Fortunately, the warnings do not cause a failure.
24790         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
24791         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
24792         My goodness, PGI goes back a long ways - this predates C89!
24793         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
24794         For example, ASYNCSAFE (const void *) should expand to
24795         ‘const void *volatile’, not to ‘volatile const void *’.
24796         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
24797         * lib/verify.h (verify) [!__GNUC__]:
24798         Use shorter albeit meaningless string to bypass silly compiler limits.
24799         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
24800         * tests/nan.h (NaNf, NaNd, NaNl):
24801         Use static functions to avoid misguided compiler diagnostics.
24802         Is there some reason we don’t use static functions on all platforms?
24804 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
24806         parse-datetime: handle timezones reentrantly
24807         This API change was prompted by a report by Pádraig Brady in:
24808         https://bug.debian.org/851934#10
24809         To help fix the bug, make parse_datetime2 more reentrant.
24810         * NEWS: Document this incompatible change.
24811         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
24812         Add two arguments, the timezone and the timezone name.
24813         All callers changed.  If TZ="..." is specified, use it for
24814         calculating defaults.
24815         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
24816         this code should be usable in a library.
24817         (mktime_ok, get_effective_timezone):
24818         Accept timezone arg too.  All callers changed.
24819         (get_tz): Remove.
24820         (get_effective_timezone): Check for failures.
24822 2017-01-20  Eric Blake  <eblake@redhat.com>
24824         localename: port to cygwin 2.6
24825         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
24826         Cygwin.
24827         * modules/localename (Depends-on): Add extensions, since
24828         NL_LOCALE_NAME() is not visible without it.
24830 2017-01-17  Pádraig Brady  <P@draigBrady.com>
24832         parse-datetime: fix dependence on AC_PROG_SED
24833         * modules/parse-datetime: Use `sed` directly like all other modules.
24834         Reported by J William Piggott
24836 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
24838         intprops: update doc URLs
24839         * doc/intprops.texi (Integer Range Overflow): Update URLs.
24841 2017-01-16  Bruno Haible  <bruno@clisp.org>
24843         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
24844         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
24845         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
24846         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
24847         distinguish s390 and s390x.
24848         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
24849         * NEWS: Mention the change regarding 'armel'.
24851 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
24853         localeinfo: case_folded_counterparts and WEOF
24854         * NEWS: Document this.
24855         * lib/localeinfo.c (case_folded_counterparts):
24856         First arg is now wint_t, not wchar_t.  This generalizes the
24857         function to also work on WEOF, where it returns 0.
24859         dfa: port to gcc -fsanitize=undefined
24860         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
24861         as this runs afoul of gcc -fsanitize=undefined.
24863 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
24865         strftime: %z is -00 if unknown
24866         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
24867         the caller's responsibility to set 'negative_number'.  All uses changed.
24868         (__strftime_internal): Put '-' before a zero UTC offset if the time
24869         zone abbreviation starts with "-", which is the recently-introduced
24870         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
24871         * tests/test-strftime.c: Test for this.
24873 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
24875         dfa: port to older GCC
24876         Problem reported by Assaf Gordon in:
24877         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
24878         * modules/c99: New module.  This merely attempts to use the latest
24879         C version, which should be enough to solve this particular problem.
24880         The idea is to document which Gnulib modules assume C99 or later.
24881         * modules/dfa (Depends-on): Add it.
24883 2017-01-10  Bruno Haible  <bruno@clisp.org>
24885         Update DEPENDENCIES.
24886         * DEPENDENCIES: List only https URLs. Update recommended version for
24887         autoconf, automake, gperf.
24889 2017-01-10  Jim Meyering  <meyering@fb.com>
24891         maint.mk: enforce spelling of "timestamp" (i.e., no space)
24892         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
24893         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
24895 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
24897         dfa: minor simplification with emptyset
24898         * lib/dfa.c (build_state): Simplify by using emptyset.
24900 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
24902         dfa: shrink constraints from 4 bits to 3
24903         * lib/dfa.c (newline_constraint, letter_constraint)
24904         (other_constraint, prev_newline_dependent)
24905         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
24906         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
24907         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
24908         Constraints need only 3 bits, not 4.  Using smaller integers
24909         shrinks the code a bit and makes grep a tad faster on x86-64.
24911         dfa: omit unnecessary ptrdiff_t check
24912         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
24913         overflow, since xnmalloc does that now.
24915         dfa: omit unnecessary allocation
24916         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
24917         an all-zero follow set works just fine.
24919         dfa: omit unused local
24920         * lib/dfa.c (build_state): Fix up recent change.
24922         maint: remove stray .texi files
24923         Although these were superseded by other files like
24924         doc/posix-functions/ctime.texi, the old files were not removed.
24925         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
24927 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
24929         getprogname: fix port to IRIX
24930         * lib/getprogname.c (getprogname) [__sgi]:
24931         Don't dump core if malloc returns NULL.
24933         dfa: fix reallocation bug when matching newlines
24934         Problem reported for sed by S. Gilles (Bug#25390).
24935         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
24936         (dfastate): Reallocate before moving any newline transition ...
24937         (build_state): ... instead of reallocating here, where it is too late.
24939 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
24941         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
24942         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
24944 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
24946         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
24947         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
24949 2017-01-07  Bruno Haible  <bruno@clisp.org>
24951         stdioext: Port to Minix 3.2 and newer.
24952         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
24953         * lib/fseeko.c (fseeko): Likewise.
24954         Reported by Nelson Beebe via Paul Eggert.
24956 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
24958         getprogname: port to IRIX
24959         * lib/getprogname.c (getprogname): Port to IRIX.
24960         Based on an idea by Bastien Roucariès at:
24961         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
24962         via code from Bruno Haible at:
24963         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
24965         localename-tests: port to NetBSD 7
24966         Problem reported by Nelson H. F. Beebe.
24967         * tests/test-localename.c:
24968         Test newlocale and uselocale only if both exist.
24970         glob, intprops, xalloc: work around Clang bug
24971         Work around LLVM bug 16404, which is still not fixed.
24972         https://llvm.org/bugs/show_bug.cgi?id=16404
24973         Problem reported by Nelson H. F. Beebe.
24974         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
24975         Remove.
24976         * lib/glob.c (size_add_wrapv):
24977         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
24978         * lib/xalloc-oversized.h (xalloc_oversized):
24979         Do not use overflow builtins if Clang.
24981         dfa: fix 'return' typo
24982         Problem reported by Nelson H. F. Beebe.
24983         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
24985 2017-01-05  Pádraig Brady  <P@draigBrady.com>
24987         parse-datetime: fix generated paths for coverage files
24988         * modules/parse-datetime: Adjust the paths for parse-datetime.y
24989         within parse-datetime.c, so that gcc generates appropriate .gcno
24990         files, allowing lcov to proceed without error.  Previously it
24991         would error trying to find "lib/lib/parse-datetime.y".
24993 2017-01-05  Pádraig Brady  <P@draigBrady.com>
24995         maint.mk: support parallel execution of coverage
24996         * top/maint.mk (coverage): Run dependencies serially,
24997         thus supporting parallel processing of each one,
24998         particularly build-coverage, which builds and runs tests.
25000 2017-01-05  Bruno Haible  <bruno@clisp.org>
25002         lock tests: Prefer semaphore over mutex.
25003         * tests/test-lock.c (USE_SEMAPHORE): New constant.
25004         (struct atomic_int, init_atomic_int, get_atomic_int_value,
25005         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
25006         Suggested by Torvald Riegel <triegel@redhat.com>.
25008 2017-01-05  Bruno Haible  <bruno@clisp.org>
25010         lock: Provide guarantee to avoid writer starvation for rwlocks.
25011         The rationale is: 1) Read-preferring read-write locks are prone to
25012         writer starvation if the number of reader threads multiplied by the
25013         percentage of time they have the lock held is too high. 2) Write-
25014         preferring read-write locks are the only reliable way to avoid this.
25015         3) There have been reports of 'test-lock' hanging on glibc systems
25016         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
25017         and glibc indeed implements read-preferring rwlocks by default, see
25018         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
25019         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
25020         * m4/pthread_rwlock_rdlock.m4: New file.
25021         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25022         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
25023         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25024         of rwlock initialization on glibc systems without
25025         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25026         of rwlocks altogether on non-glibc systems without
25027         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25028         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
25029         * lib/glthread/lock.c [USE_POSIX_THREADS]
25030         (glthread_rwlock_init_for_glibc): New function.
25031         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
25032         comment.
25033         [USE_PTH_THREADS]: New implementation of rwlocks.
25034         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
25035         readers.
25036         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
25037         (Depends-on): Add 'extensions'.
25038         * tests/test-rwlock1.c: New file.
25039         * lock-tests (Files): Add it.
25040         (Depends-on): Add usleep.
25041         (Makefile.am): Add test-rwlock1 to the tests.
25043 2017-01-05  Bruno Haible  <bruno@clisp.org>
25045         thread: Fix pth port.
25046         * lib/glthread/thread.h (pth_init): Declare weak.
25047         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
25048         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
25049         function.
25051 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
25053         parse-datetime: fix debug message on lone year number
25054         Input dates such as
25055           date -d "Apr 11 22:59:00 2011"
25056         are parsed as date (Apr 11, with default year 2016), then time, then a
25057         number (2011). Based on the combination of previously seen tokens,
25058         'digits_to_date_time' determines 2011 to be a year value.
25059         This fixes the debug messages to correctly show the updated year.
25060         Before:
25061             $ date --debug -d 'Apr 11 22:59:00 2011'
25062             date: parsed date part: (Y-M-D) 2016-04-11
25063             date: parsed time part: 22:59:00
25064             date: parsed number part: today/this/now
25065         After:
25066             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
25067             date: parsed date part: (Y-M-D) 2016-04-11
25068             date: parsed time part: 22:59:00
25069             date: parsed number part: year: 2011
25070         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
25071         'debug_year_seen' member fields.
25072         (digits_to_date_time): Update 'year_seen' as needed.
25073         (debug_print_current_time): Inform about year updates.
25074         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
25076         parse-datetime: fix local timezone debug messages
25077         "Local timezones" are strings that affect only DST relative to the
25078         default timezone. The debug messages in parse-datetime.y printed
25079         wrong information when encountering local timezones.
25080         Examples:
25081         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
25082              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
25083              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
25084         When the default timezone relates to the zone strings, EET/EEST are
25085         parsed as local timezones (tLOCAL_ZONE), and only change the DST
25086         value (0/1, respectively):
25087              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
25088              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
25089         * lib/parse-datetime.y (debug_print_current_time): If local timezone
25090         was seen, inform about DST change, don't print actual timezone.
25091         (debug_strfdatetime): If local timezone was seen, use default timezone
25092         (and adjust as needed) instead of using incorrect timezone.
25093         (parse_datetime2): Use correct time-zone source string, and adjust
25094         default timezone as needed.
25096         parse-datetime: add debug warning about DST changes
25097         Incorrect date arithmetic due to daylight saving time (DST) are a
25098         common (false) bug report in coreutils.
25099         Detect two such cases and print a warning:
25100         1. year/month/day adjustments (performed on 'struct tm'),
25101            where 'mktime' returns a different isdst value.
25102         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
25103            where the result of 'localtime(3)' on the value will return a
25104            different isdst value.
25105         Note: DST changes could be harmless or unnoticeable.
25106         Examples (with 'TZ=America/New_York'):
25107         Unnoticeable: result is 2016-Dec-14
25108            $ date -d '2016-06-15 EDT + 6 months' +%b
25109            Dec
25110         Unnoticeable: result is 2016-Dec-15 11:00:00
25111            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
25112            2016-12-15
25113         This is unexpected:
25114            $ date -d '2016-06-01 EDT + 6 months' +%F
25115            2016-11-30
25116         The new debug warnings will show:
25117            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
25118            ...
25119            date: warning: daylight saving time changed after date adjustment
25120            ...
25121         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
25122         print an appropriate warning message.
25124         parse-datetime: add debug warning about date arithmetic
25125         Date arithmetic are done directly on the fields of 'struct tm',
25126         which can result in invalid dates. Normalization with 'mktime(3)'
25127         will then produce a different date - which might cause unexpected
25128         results.
25129         Examples:
25130           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
25131           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
25132         Note that date normalization is not inherently wrong and not rejected,
25133         as it has legitimate uses:
25134           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
25135         If the user asked to adjust months but 'mday' changed,
25136         or user asked to adjust years but 'month' changed - warn about it.
25137             $ ./src/date --debug -d '2016-10-31 - 1 month'
25138             ...
25139             date: warning: when adding relative months/years, \
25140                            it is recommended to specify the 15th of the month
25141             ...
25142             date: warning: month/year adjustment resulted in shifted dates:
25143             date:      adjusted Y M D: 2016 09 31
25144             date:    normalized Y M D: 2010 10 01
25145             ...
25146         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
25147         a warning message. Improve recommendation of when to use 15 of the
25148         month or noon for date arithmetic.
25150         parse-datetime: fix debug message of relative part after timezone
25151         Relative part (e.g '+8 days') after a timezone string was not
25152         reported (was only reported after a timezone number). Due to the
25153         parser's structure, timezone strings with numbers were handled
25154         separately.
25155         before:
25156              # Timezone number + relative part: OK
25157              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
25158              ...
25159              date: parsed relative part: -8 day(s)
25160              # Timezone string + relative part: missing
25161              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
25162              [ missing message ]
25163         After: messages are printed in both cases.
25164         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
25166         parse-datetime: fix incorrect debug message on lone number
25167         A lone number is an absolute value, not a relative time part.
25168         before:
25169            $ date --debug -d '20130101'
25170            date: parsed number part: today/this/now
25171         After:
25172            $ ./src/date --debug -d '20130101'
25173            date: parsed number part: (Y-M-D) 2013-01-01
25174         * lib/parse-datetime.y ('item'/'number' tokens): Call
25175         'debug_print_current_time' instead of 'debug_print_relative_time'.
25177 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
25179         doc: modernize for C11 etc.
25180         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
25181         for C11, MinGW, etc.  This responds to Paul Smith's question in:
25182         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
25184         dfa: prefer functions to FETCH_WC macro
25185         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
25186         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
25187         wint_t result into DFA->lex.wctok instead of to a separate arg.
25188         All callers changed.  Move more local decls closer to where
25189         they're used.
25191         dfa: narrow more local var scopes
25192         * lib/dfa.c: Move more local decls to be more local.
25194         dfa: remove duplicate assignment
25195         Problem reported by Bruno Haible in:
25196         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
25197         * lib/dfa.c (parse_bracket_exp): Simplify.
25199 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25201         dfa: simplify constraint-dependency checking
25202         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
25203         (prev_other_constraint): Remove.
25204         (prev_newline_dependent, prev_letter_dependent):
25205         Simplify, to avoid an unnecessary bitwise AND operation.
25207         dfa: prefer functions and constants to macros
25208         * lib/dfa.c: Prefer constants to macros where either will do.
25209         (streq, isasciidigit, newline_constraint)
25210         (letter_constraint, other_constraint, succeeds_in_context)
25211         (prev_newline_constraint, prev_letter_constraint)
25212         (prev_other_constraint, prev_newline_dependent)
25213         (prev_letter_dependent, accepting, accepts_in_context):
25214         Now static functions instead of function-like macros.
25215         Use lower-case names accordingly.  All uses changed.
25217         dfa: narrow more local var scopes
25218         * lib/dfa.c: Move some more local decls down to nearer where
25219         they're needed.
25221 2016-12-31  Jim Meyering  <meyering@fb.com>
25223         dfa: narrow the scope of many local variables
25224         * lib/dfa.c: Now that we are no longer constrained to c89, move
25225         declarations of many variables (often indices) "down" into the
25226         scope(s) where used or to the point of definition.  This is a
25227         no-semantic-change diff.
25229 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25231         version-etc: new year
25232         * build-aux/gendocs.sh (version):
25233         * doc/gendocs_template:
25234         * doc/gendocs_template_min:
25235         * doc/gnulib.texi:
25236         * lib/version-etc.c (COPYRIGHT_YEAR):
25237         Update copyright dates by hand in templates and the like.
25238         * all files: Run 'make update-copyright'.
25240 2016-12-31  Eric Blake  <eblake@redhat.com>
25242         do-release-commit-and-tag: avoid shell syntax error
25243         * build-aux/do-release-commit-and-tag (curr_br): $branch can
25244         contain spaces when rebasing.
25246         maint.mk: hoist gnulib_dir definition earlier
25247         * top/maint.mk (gnulib_dir): Move near top of file.
25249 2016-12-31  Jim Meyering  <meyering@fb.com>
25251         maint.mk: do not always evaluate intprops-related shell
25252         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
25253         using gnulib_dir undefined (gnulib_dir is defined later in the
25254         file, which will be fixed separately), and besides, there is no
25255         need to incur the cost of this shell invocation for every single
25256         use of this .mk file.  Reported by Eric Blake in
25257         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
25259 2016-12-30  Jim Meyering  <meyering@fb.com>
25261         maint.mk: improve sc_prohibit_intprops_without_use
25262         * top/maint.mk (_intprops_names): Don't hard-code the list of
25263         symbol names.  Instead, derive it on the fly.
25265 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25267         dfa: shorten sbit, success
25268         * lib/dfa.c (struct regex_syntax.sbit):
25269         (struct dfa.success): Use char, not int, for array elements, since
25270         they are all in the range 0..7.
25272         dfa: simplify multibyte_prop etc.
25273         This follows up on a change made when dfa.c was in grep, namely grep
25274         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
25275         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
25276         That earlier simplification allows for some more simplification
25277         and trimming down here.
25278         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
25279         (struct lexer_state): New mamber brack.
25280         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
25281         since they must be in the range 0..3 now.
25282         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
25283         the brack member now supersedes them.
25284         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
25285         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
25286         (dfaparse): Remove unnecessary initializations of already-0 storage.
25287         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
25288         (dfassbuild): No need to clear sup->mbcsets.
25290         dfa: minor performance tweak
25291         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
25293         dfa: wrap charclass inside a struct
25294         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
25295         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
25296         about 5% faster, where list.txt is generated by 'aspell dump
25297         master | head -n 100000 >list.txt'.  See Bug#22239.
25298         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
25299         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
25300         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
25301         Adjust to this, e.g., by using charclass * rather than charclass.
25302         All callers changed as needed.
25303         (copyset): Remove.  All uses changed to simple assignment.
25304         (parse_bracket_exp): Use zeroset instead of memset.
25306 2016-12-30  Jim Meyering  <meyering@fb.com>
25308         maint.mk: update list of intprops.h symbol names
25309         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
25310         This avoids a false failure of the sc_prohibit_intprops_without_use
25311         rule in grep.
25313 2016-12-29  Eric Blake  <eblake@redhat.com>
25315         getopt: fix parallel test failure
25316         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
25317         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
25318         * tests/test-getopt-main.h (main): Use different file names
25319         in case test-getopt-gnu and test-getopt-posix run in parallel.
25321 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25323         xalloc: x2nrealloc check for ptrdiff_t overflow
25324         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
25325         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
25327 2016-12-24  Bruno Haible  <bruno@clisp.org>
25329         lock test: Fix performance problem on multi-core machines.
25330         * tests/test-lock.c (USE_VOLATILE): New macro.
25331         (struct atomic_int): New type.
25332         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
25333         functions.
25334         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
25335         as 'struct atomic_int'.
25336         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
25337         reclock_checker_thread, test_recursive_lock): Use the new functions.
25338         Reported by Eric Blake in
25339         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
25340         and by Pádraig Brady in
25341         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
25343 2016-12-19  Bruno Haible  <bruno@clisp.org>
25345         vma-iter: Fix endless loop on 64-bit Windows.
25346         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
25347         'unsigned long'.
25349 2016-12-19  Bruno Haible  <bruno@clisp.org>
25351         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
25352         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
25353         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
25354         Invoke gt_TYPE_WINT_T instead.
25355         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
25356         * modules/stdint (Files): Add m4/wint_t.m4.
25357         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
25358         * modules/wctype-h (Makefile.am): Likewise.
25359         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
25360         not only on MSVC.
25361         * lib/wctype.in.h (wint_t): Likewise.
25363 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25365         getopt-posix-tests: fix Makefile typo
25366         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
25367         Fix typo: the last ‘_’ was missing in the name.
25368         I suspect that the typo explains this build failure:
25369         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
25370         although I can’t reproduce the problem on Solaris 10 sparc.
25372 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25374         dfa: improve worst-case 'replace' performance
25375         See my note in Bug#22357#71.
25376         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
25377         (merge_constrained): New function, which is like
25378         the old 'merge' function, except with a new argument C2.
25379         Simplify the body by avoiding the need for different sections
25380         of code depending on whether one input is exhausted.
25381         (merge): Use the new function.
25382         (delete): Return the constraint of the deleted position,
25383         not the entire position.  Caller changed.
25384         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
25386 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
25388         dfa: performance improvement for removal of epsilon closure
25389         See Bug#22357#32.
25390         * lib/dfa.c (delete): Use binary search to find deleted index.
25391         (replace): New function.  It replaces a position with the followed set.
25392         (epsclosure): Replace it with a new algorithm.  Update caller.
25394 2016-12-18  Bruno Haible  <bruno@clisp.org>
25396         Split tests for getopt-posix and getopt-gnu.
25397         * tests/test-getopt-posix.c: New file.
25398         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
25399         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
25400         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
25401         GNULIB_TEST_GETOPT_GNU.
25402         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
25403         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
25404         (Makefile.am): Test test-getopt-posix instead of test-getopt.
25405         * modules/getopt-gnu-tests: New file.
25406         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
25408 2016-12-18  Bruno Haible  <bruno@clisp.org>
25410         posix-modules: Add options for specific platforms.
25411         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
25412         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
25413         Invoke func_tmpdir. Filter out the excludes.
25415 2016-12-18  Bruno Haible  <bruno@clisp.org>
25417         getopt: Fix link error for users of getopt() in <unistd.h>.
25418         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
25419         __need_getopt is defined. Undefine all macros before defining them.
25420         * modules/getopt (Include): Clarify that including <unistd.h> is also
25421         OK.
25422         * tests/test-getopt.c: Add comment.
25424 2016-12-17  Bruno Haible  <bruno@clisp.org>
25426         getaddrinfo tests: Avoid compilation error on MSVC.
25427         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
25428         getaddrinfo on native Windows.
25430 2016-12-17  Bruno Haible  <bruno@clisp.org>
25432         getlogin, getlogin_r: Fix link errors on MSVC.
25433         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
25434         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
25435         (Link): New section.
25436         * modules/getlogin_r (Files): Add m4/getlogin.m4.
25437         (configure.ac): Require gl_LIB_GETLOGIN.
25438         (Link): New section.
25439         * NEWS: Mention the new link requirements.
25440         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
25441         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
25443 2016-12-17  Bruno Haible  <bruno@clisp.org>
25445         Un-deprecate the 'progname' module.
25446         * NEWS: Describe the appropriate use-cases of 'progname' versus
25447         'getprogname'. Based on discussion summary at
25448         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
25450 2016-12-17  Bruno Haible  <bruno@clisp.org>
25452         Reorganize NEWS a bit.
25453         * NEWS: Move some not so important changes away from section
25454         "Important Notes".
25456 2016-12-17  Bruno Haible  <bruno@clisp.org>
25458         tanhf: Avoid redefinition error on MSVC.
25459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
25460         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
25461         may be defined as an inline function.
25462         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
25463         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
25465 2016-12-17  Bruno Haible  <bruno@clisp.org>
25467         tanf: Avoid redefinition error on MSVC.
25468         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
25469         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
25470         may be defined as an inline function.
25471         * modules/math (Makefile.am): Substitute REPLACE_TANF.
25472         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
25474 2016-12-17  Bruno Haible  <bruno@clisp.org>
25476         sqrtf: Avoid redefinition error on MSVC.
25477         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
25478         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
25479         may be defined as an inline function.
25480         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
25481         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
25483 2016-12-17  Bruno Haible  <bruno@clisp.org>
25485         sinhf: Avoid redefinition error on MSVC.
25486         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
25487         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
25488         may be defined as an inline function.
25489         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
25490         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
25492 2016-12-17  Bruno Haible  <bruno@clisp.org>
25494         sinf: Avoid redefinition error on MSVC.
25495         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
25496         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
25497         may be defined as an inline function.
25498         * modules/math (Makefile.am): Substitute REPLACE_SINF.
25499         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
25501 2016-12-17  Bruno Haible  <bruno@clisp.org>
25503         logf: Avoid redefinition error on MSVC.
25504         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
25505         may be defined as an inline function.
25507 2016-12-17  Bruno Haible  <bruno@clisp.org>
25509         log10l: Avoid redefinition error on MSVC.
25510         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
25511         may be defined as an inline function.
25513 2016-12-17  Bruno Haible  <bruno@clisp.org>
25515         log10f: Avoid redefinition error on MSVC.
25516         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
25517         may be defined as an inline function.
25519 2016-12-17  Bruno Haible  <bruno@clisp.org>
25521         hypotl: Avoid redefinition error on MSVC.
25522         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
25523         may be defined as an inline function.
25525 2016-12-17  Bruno Haible  <bruno@clisp.org>
25527         hypotf: Avoid redefinition error on MSVC.
25528         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
25529         may be defined as an inline function.
25531 2016-12-17  Bruno Haible  <bruno@clisp.org>
25533         fmodl: Avoid redefinition error on MSVC.
25534         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
25535         may be defined as an inline function.
25537 2016-12-17  Bruno Haible  <bruno@clisp.org>
25539         fmodf: Avoid redefinition error on MSVC.
25540         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
25541         may be defined as an inline function.
25543 2016-12-17  Bruno Haible  <bruno@clisp.org>
25545         expf: Avoid redefinition error on MSVC.
25546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
25547         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
25548         may be defined as an inline function.
25549         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
25550         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
25552 2016-12-17  Bruno Haible  <bruno@clisp.org>
25554         coshf: Avoid redefinition error on MSVC.
25555         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
25556         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
25557         may be defined as an inline function.
25558         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
25559         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
25561 2016-12-17  Bruno Haible  <bruno@clisp.org>
25563         cosf: Avoid redefinition error on MSVC.
25564         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
25565         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
25566         may be defined as an inline function.
25567         * modules/math (Makefile.am): Substitute REPLACE_COSF.
25568         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
25570 2016-12-17  Bruno Haible  <bruno@clisp.org>
25572         atan2f: Avoid redefinition error on MSVC.
25573         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
25574         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
25575         may be defined as an inline function.
25576         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
25577         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
25579 2016-12-17  Bruno Haible  <bruno@clisp.org>
25581         atanf: Avoid redefinition error on MSVC.
25582         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
25583         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
25584         may be defined as an inline function.
25585         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
25586         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
25588 2016-12-17  Bruno Haible  <bruno@clisp.org>
25590         asinf: Avoid redefinition error on MSVC.
25591         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
25592         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
25593         may be defined as an inline function.
25594         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
25595         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
25597 2016-12-17  Bruno Haible  <bruno@clisp.org>
25599         acosf: Avoid redefinition error on MSVC.
25600         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
25601         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
25602         may be defined as an inline function.
25603         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
25604         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
25606 2016-12-17  Bruno Haible  <bruno@clisp.org>
25608         Avoid redefinition errors on MSVC.
25609         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
25610         the function may be defined as an inline function.
25611         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
25612         the function may be defined as an inline function.
25614 2016-12-17  Bruno Haible  <bruno@clisp.org>
25616         Avoid redefinition errors on MSVC.
25617         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
25618         * lib/unistd.in.h: Include <stdio.h> when necessary.
25620 2016-12-17  Bruno Haible  <bruno@clisp.org>
25622         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
25623         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
25624         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
25625         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
25626         WINT_MAX.
25628 2016-12-17  Bruno Haible  <bruno@clisp.org>
25630         Avoid autoconf warning.
25631         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
25632         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
25634 2016-12-17  Bruno Haible  <bruno@clisp.org>
25636         fpending: Revert workaround against Emacs bug.
25637         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
25638         The Emacs bug is fixed by Eli Zaretskii in
25639         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
25641 2016-12-17  Bruno Haible  <bruno@clisp.org>
25643         getlogin_r tests: Port to mingw.
25644         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
25645         regression introduced on 2014-05-19.
25647 2016-12-17  Bruno Haible  <bruno@clisp.org>
25649         getlogin: Port to newer mingw.
25650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
25651         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
25652         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
25653         HAVE_GETLOGIN.
25654         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
25655         HAVE_GETLOGIN.
25656         * doc/posix-functions/getlogin.texi: Mention the issue.
25657         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
25658         regression introduced on 2014-05-14.
25660 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
25662         builtin-expect: improve port to IBM XL C
25663         Problem reported for z/OS by Daniel Richard G. in:
25664         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
25665         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
25666         Test for <builtins.h> directly.
25668         builtin-expect: port to IBM XL C
25669         Problem reported for z/OS by Daniel Richard G. in:
25670         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
25671         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
25672         Also allow __builtin_expect defined via a standard include file.
25674         regex: fix dependency
25675         Problem reported by Bruno Haible in:
25676         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
25677         * modules/regex: Depend on builtin-expect.
25679         builtin-expect: new module
25680         Fix fnmatch to use it.
25681         Problem reported for z/OS by Daniel Richard G.
25682         * lib/fnmatch.c (__builtin_expect):
25683         * lib/glob.c (__builtin_expect):
25684         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
25685         * lib/memmem.c (__builtin_expect) [!_LIBC]:
25686         * lib/scandir.c (__builtin_expect):
25687         * lib/strstr.c (__builtin_expect) [!_LIBC]:
25688         Remove macro; config.h now does this.
25689         * lib/gl_anytreehash_list1.h (add_to_bucket):
25690         * lib/regex_internal.h (BE):
25691         Assume __builtin_expect.
25692         * m4/builtin-expect.m4, modules/builtin-expect: New files.
25693         * modules/avltreehash-list, modules/fnmatch, modules/glob:
25694         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
25695         * modules/scandir, modules/strstr-simple:
25696         Depend on builtin-expect.
25698 2016-12-15  Bruno Haible  <bruno@clisp.org>
25700         init.sh: Add possibility to not delete temporary files.
25701         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
25702         to yes, don't erase the temporary directory.
25704 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
25706         regex: fix integer-overflow bug in never-used code
25707         Problem reported by Clément Pit–Claudel in:
25708         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
25709         * lib/regex_internal.h: Include intprops.h.
25710         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
25711         behavior on integer overflow.
25712         * modules/regex (Depends-on): Add intprops.
25714         fpending: fix port to MinGW on Emacs
25715         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
25716         Problem reported by Eli Zaretskii in:
25717         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
25718         Is Plan 9 still a valid porting target, anyway?
25720 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
25722         safe-alloc: use xalloc-oversized
25723         * lib/safe-alloc.c: Include xalloc-oversized.h.
25724         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
25725         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
25727         xalloc: do not exceed PTRDIFF_MAX
25728         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
25729         xalloc_oversized check, since objects larger than PTRDIFF_MAX
25730         bytes have pointer-subtraction problems.
25732         malloca: do not exceed PTRDIFF_MAX
25733         * lib/malloca.h: Include xalloc-oversized.
25734         (nmalloca): Use xalloc_oversized instead of rolling our own.
25735         * modules/malloca (Depends-on):
25736         * modules/relocatable-prog-wrapper (Depends-on):
25737         Add xalloc-oversized.
25739         quotearg: pacify GCC better
25740         * modules/quotearg (Depends-on): Add minmax, stdint.
25741         * lib/quotearg.c: Include minmax.h, stdint.h.
25742         (nslots): Now int, as there seems little point to going to extra
25743         work merely to support the INT_MAX slot, which nobody ever uses.
25744         (quotearg_n_options): Redo size-overflow checks to pacify GCC
25745         and to catch (mostly-theoretical) ptrdiff_t problems too.
25746         This can be done via one comparison.
25748 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
25750         xalloc-oversized: check for PTRDIFF_MAX too
25751         This avoids undefined behavior when subtracting pointers to
25752         objects containing more than PTRDIFF_MAX bytes.
25753         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
25754         Also return 1 if the result would exceed PTRDIFF_MAX>
25755         * modules/xalloc-oversized (Depends-on):
25756         Add stdint.
25758         dfa: fix glitches in previous commit
25759         Sorry, I don't know how I managed to commit the wrong version.
25760         * lib/dfa.c (MIN): Move up.
25761         (xpalloc): Now static.
25763         dfa: fix some unlikely integer overflows
25764         I found these while reviewing the recent Coverity-related fix.
25765         This patch changes part of dfa.c to prefer ptrdiff_t instead of
25766         size_t for object counts.  Using ptrdiff_t is the style typically
25767         used in Emacs; although it wastes a sign bit as sizes can never be
25768         negative, it makes -fsanitize=undefined more likely to catch
25769         integer overflows in index calculation, and nowadays the upside is
25770         typically more important than the downside.  Although perhaps the
25771         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
25772         of dfa.c already does, since it uses state_num which is signed),
25773         that is a bigger change and is not needed to fix the bugs I found.
25774         * lib/dfa.c: Include stdint.h and intprops.h.
25775         (TOKEN_MAX): New macro.
25776         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
25777         (charclass_index, parse_bracket_exp, addtok, insert, merge)
25778         (realloc_trans_if_necessary, free_mbdata):
25779         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
25780         This is safe because xpalloc checks that the sizes do not exceed
25781         either SIZE_MAX or PTRDIFF_MAX.
25782         (xpalloc): New function, mostly taken from Emacs.
25783         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
25784         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
25785         (charclass_index): Check for integer overflow in computing
25786         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
25787         added to it later.
25788         (alloc_position_set): Check for integer overflow.  On typical
25789         platforms this check has zero overhead, since the constant
25790         expression is false.
25791         (realloc_trans_if_necessary):
25792         Remove assertion, which I hope Coverity no longer needs.
25794         * modules/dfa (Depends-on): Add intprops, stdint.
25796 2016-12-12  Jim Meyering  <meyering@fb.com>
25798         dfa: add an assertion to avoid coverity false positive
25799         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
25800         warned that "newalloc1 - 2" could overflow.
25802 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
25804         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
25805         * dfa.h (DFA_CASE_FOLD): Remove.
25806         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
25808 2016-12-13  John W. Eaton  <gnu@jweaton.org>
25810         link: fix test to declare use of rename()
25811         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
25812         -Werror=implicit-function-declaration
25814 2016-12-12  Bruno Haible  <bruno@clisp.org>
25816         fpending: Port to native Windows with MSVC.
25817         * lib/fpending.c: Include stdio-impl.h.
25818         (__fpending): Include all known implementations. Err out if it's not
25819         ported.
25820         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
25821         * modules/fpending (Files): Add lib/stdio-impl.h.
25822         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
25824 2016-12-12  Bruno Haible  <bruno@clisp.org>
25826         stdioext: Port to native Windows with MSVC.
25827         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
25828         (struct _gl_real_FILE): New type.
25829         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
25830         Windows.
25831         * lib/fbufmode.c (fbufmode): Add code for native Windows.
25832         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
25833         other SystemV derived implementations.
25834         * lib/fpurge.c (fpurge): Likewise.
25835         * lib/freadable.c (freadable): Likewise.
25836         * lib/freadahead.c (freadahead): Likewise.
25837         * lib/freading.c (freading): Likewise.
25838         * lib/freadptr.c (freadptr): Likewise.
25839         * lib/freadseek.c (freadptrinc): Likewise.
25840         * lib/fseeko.c (fseeko): Likewise.
25841         * lib/fseterr.c (fseterr): Likewise.
25842         * lib/fwritable.c (fwritable): Likewise.
25843         * lib/fwriting.c (fwriting): Likewise.
25844         Reported by Gisle Vanem <gvanem@yahoo.no>.
25846 2016-12-11  Jim Meyering  <meyering@fb.com>
25848         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
25849         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
25850         to work with most shells, but not with the one provided by many
25851         Solaris 10 systems, so running configure with such a /bin/sh evokes
25852         e.g., "./configure: syntax error at line 33602: `(' unexpected".
25853         Reported by Assaf Gordon in
25854         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
25856 2016-12-10  Bruno Haible  <bruno@clisp.org>
25858         threadlib: Optimize out runtime test on Solaris >= 10.
25859         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
25860         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
25861         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
25863 2016-12-10  Bruno Haible  <bruno@clisp.org>
25865         stdint: Update doc about Solaris 9.
25866         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
25868 2016-12-09  Bruno Haible  <bruno@clisp.org>
25870         c-ctype tests: Fix link error on Solaris 9.
25871         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
25872         Reported at <https://savannah.gnu.org/bugs/?46827>.
25874 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
25876         dfa: fix performance bug that recomputes trans
25877         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
25878         25 on-demand changes.  The bug caused build_state to reset all
25879         d->trans elements to -2 even when d->trans was already non-null.
25880         Use C99 style decls after statements in this function.
25882         same-inode: port to MinGW
25883         Here st_ino is always 0, so change the definition of SAME_INODE so
25884         that 1 means the two files are the same, 0 with st_ino != 0 means
25885         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
25886         reported by Bruno Haible (Bug#25146).
25887         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
25888         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
25890 2016-12-04  Bruno Haible  <bruno@clisp.org>
25892         javacomp-script: Support Java 7 and 8.
25893         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
25894         target-version 1.7, 1.8.
25896 2016-12-02  Daiki Ueno  <ueno@gnu.org>
25898         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
25899         GPLv2" rewriting.
25901 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
25903         * gnulib-tool (func_import): Adhere to the license guideline when
25904         rewriting the license text to "LGPLv3+ or GPLv2":
25905         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
25907 2016-12-02  Bruno Haible  <bruno@clisp.org>
25909         localcharset: Avoid theoretical buffer overrun.
25910         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
25911         return value from setlocale if it would lead to a buffer overrun.
25913 2016-12-01  Bruno Haible  <bruno@clisp.org>
25915         Relicense some modules under LGPLv2+.
25916         Kevin Cernekee's approval is in
25917         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
25918         * modules/fseterr (License): Change to LGPLv2+.
25919         * modules/mbchar (License): Likewise.
25920         * modules/mbiter (License): Likewise.
25921         * modules/mbsnlen (License): Likewise.
25922         * modules/wcwidth (License): Likewise.
25924 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
25926         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
25927         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
25928         OS/2 kLIBC.
25930 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
25932         alphasort, scandir: Port to OS/2 kLIBC
25933         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
25934         declaration.
25935         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
25937 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
25939         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
25940         * lib/relocatable.c (relocate): Do not touch pathname if it is started
25941         with '/@unixroot'.
25943 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
25945         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
25946         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
25947         OS/2 kLIBC unless TCPV40HDRS is defined.
25949 2016-11-29  Jim Meyering  <meyering@fb.com>
25951         dfa: avoid new infinite loop
25952         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
25953         * lib/dfa.c (dfastate): When constructing a new state table, we could
25954         initially declare that we had found a match, and later find that
25955         constraints eliminate that possibility, yet continue to use the
25956         now stale "matched" indicator.  That would lead to an infinite loop.
25957         The solution is to update "matched" when necessary.
25958         Introduced by commit v0.1-983-g403adf1.
25960 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
25962         dfa: avoid match middle in multibyte character
25963         * lib/dfa.c (transit_state): If fails in matching single byte characters
25964         on a state including period expression in non-UTF8 multibyte locales,
25965         skip trailing bytes.
25966         (dfa_supported): Revert previous change.
25968 2016-11-27  Jim Meyering  <meyering@fb.com>
25970         dfa: avoid false match in non-UTF8 multibyte locales
25971         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
25972         as "not supported" so that callers will resort to using regex-based
25973         matcher.  This will surely hurt performance, but correctness trumps
25974         performance here, and the affected locales are less and less relevant,
25975         these days.  See grep's bug report https://bugs.gnu.org/24975.
25977 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
25979         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
25980         * lib/ptsname_r.c: Include the appropriate headers.
25981         [__sun]: Delete sys/sysmacros.h include.
25982         [_AIX || __osf__]: Likewise.
25983         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
25985 2016-11-27  Pádraig Brady  <P@draigBrady.com>
25987         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
25988         * lib/md4.c (md4_process_bytes): The existing define is made internal
25989         in recent versions of glibc, so also use this new public define.
25990         * lib/md5.c (md5_process_bytes): Likewise.
25991         * lib/sha1.c (sha1_process_bytes): Likewise.
25992         * lib/sha256.c (sha256_process_bytes): Likewise.
25993         * lib/sha512.c (sha512_process_bytes): Likewise.
25995 2016-11-27  Pádraig Brady  <P@draigBrady.com>
25997         maint: use a more standard return from mbrtowc test
25998         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
25999         from the test program as this often indicates an
26000         unhandled case in the test program.
26001         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
26002         (gl_MBRTOWC_SANITYCHECK): Likewise.
26003         (gl_MBRTOWC_NULL_ARG2): Likewise.
26004         (gl_MBRTOWC_NUL_RETVAL): Likewise.
26006 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
26008         freopen: work around glibc bug with closed fd
26009         Work around glibc bug#15589, where freopen mishandles the case
26010         where stdin etc. are already closed.
26011         * doc/posix-functions/freopen.texi (freopen): Document the bug.
26012         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
26013         instead of __need_FILE, as the latter does not work with glibc.
26014         Include <fcntl.h>, for open flags.
26015         (rpl_freopen): Work around glibc bug.
26016         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
26017         * modules/freopen (Depends-on): Add fcntl-h.
26018         * tests/test-freopen.c (main): Test for bug.
26020 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26022         fnmatch: fix typo introduced on 2016-08-17
26023         This fixes the port to non-GCC compilers that lack __builtin_expect.
26024         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
26026         dfa: simplify with new function fillset
26027         * lib/dfa.c (fillset): New function.
26028         Use it for clarity when applicable.
26030         dfa: fix glitches with on-demand states
26031         Also, adjust commentary to better match new code.
26032         Some of these glitches predate the recent change.
26033         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
26034         only non-initial states.
26035         (dfastate): Rename locals to better match new roles.
26036         Move them into nested scopes if this is easy.
26037         Omit unnecessary calls to zeroset.
26038         Simplify test for whether to throw in the positions of state 0.
26039         Omit C99-ism (decl after statement) since Gawk still wants C89.
26040         (build_state): Omit unnecessary test and assignment.
26041         Fix some confusion that counted transition tables inaccurately
26042         and could cause a memory leak.
26043         (dfaexec_main): Redo to make it clearer to the compiler that
26044         -1 and -2 are the only negative state numbers here.
26046 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26048         dfa: addition of new state on demand
26049         * src/dfa.c (dfastate): Add argument UC, the current input character.
26050         Fill only a group including the character in transition table.
26051         (realloc_trans_if_necessary): Add the dummy state which means that a
26052         transition table is assigned but the next state is not assigned.
26053         (build_state): Return the next state.  All callers updated.
26054         (transit_state_singlebyte): If we get the dummy state,
26055         fill the transition table.
26056         (dfaexec_main): Handle the dummy state.
26057         (free_mbdata, dfafree): Consider the dummy state.
26059 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26061         srclist: sync with released gettext
26062         * config/srclist.txt: Set "release" option to the files under
26063         $GETTEXT.
26065 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26067         srclist: add "release" option
26068         * config/srclist.txt: Change the format so that the first column
26069         of each line points to the top-level directory of the source
26070         archive.
26071         * config/srclist-update: Accept "release" option that checks files
26072         from the most recently tagged revision in the source archive.
26074 2016-11-21  Bruno Haible  <bruno@clisp.org>
26076         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
26077         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26078         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
26079         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
26080         Inline and remove member function 'rpl ()' of the wrapper struct.
26082 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26084         dfa: fix logic typo
26085         Problem reported by Stephane Chazelas (Bug#24973).
26086         * lib/dfa.c (using_simple_locale): Fix typo that caused some
26087         non-simple locales like fr_FR to be treated as simple.
26089 2016-11-20  Jim Meyering  <meyering@fb.com>
26091         fix test driver leaks: exclude, malloc, realloc
26092         * tests/test-exclude.c (main): Fix trivial leak.
26093         * tests/test-malloc-gnu.c (main): Likewise.
26094         * tests/test-realloc-gnu.c (main): Likewise.
26095         With these changes, grep's tests are now leak free.
26096         I.e., running them with ASAN elicits no failure:
26097           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
26098             AM_LDFLAGS='-fsanitize=address -static-libasan' check
26100 2016-11-11  Bruno Haible  <bruno@clisp.org>
26102         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
26103         * modules/libunistring: (License): Change from LGPL to
26104         "LGPLv3+ or GPLv2".
26105         * modules/libunistring-optional: Likewise.
26106         * modules/unicase/*: Likewise.
26107         * modules/uniconv/*: Likewise.
26108         * modules/unictype/*: Likewise.
26109         * modules/unigbrk/*: Likewise.
26110         * modules/unilbrk/*: Likewise.
26111         * modules/uniname/*: Likewise.
26112         * modules/uninorm/*: Likewise.
26113         * modules/unistdio/*: Likewise.
26114         * modules/unistr/*: Likewise.
26115         * modules/uniwbrk/*: Likewise.
26116         * modules/uniwidth/*: Likewise.
26118 2016-11-12  Bruno Haible  <bruno@clisp.org>
26120         Relicense some modules under LGPLv2+.
26121         Paul Eggert's approval is in
26122         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
26123         Eric Blake's approval is in
26124         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
26125         Ludovic Courtès's approval is in
26126         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
26127         * modules/isnand-nolibm (License): Change to LGPLv2+.
26128         * modules/isnanf-nolibm (License): Likewise.
26129         * modules/isnanl-nolibm (License): Likewise.
26131 2016-11-19  Bruno Haible  <bruno@clisp.org>
26133         Relicense some modules under LGPLv2+.
26134         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
26135         modules/vasnprintf.
26136         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
26137         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
26138         All other significant changes to the files in lib/ of these modules
26139         are from me.
26140         * modules/memcmp2 (License): Change to LGPLv2+.
26141         * modules/amemxfrm (License): Likewise.
26142         * modules/fpieee (License): Likewise.
26143         * modules/fpucw (License): Likewise.
26144         * modules/frexp-nolibm (License): Likewise.
26145         * modules/frexpl-nolibm (License): Likewise.
26146         * modules/printf-frexp (License): Likewise.
26147         * modules/printf-frexpl (License): Likewise.
26148         * modules/printf-safe (License): Likewise.
26149         * modules/signbit (License): Likewise.
26151 2016-11-17  Bruno Haible  <bruno@clisp.org>
26153         Enable Unicode decoder safety unconditionally.
26154         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
26155         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
26156         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
26157         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
26158         * lib/unistr/u8-prev.c (u8_prev): Likewise.
26159         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
26160         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
26161         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
26162         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
26163         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
26164         * lib/unistr/u16-prev.c (u16_prev): Likewise.
26165         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
26166         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
26167         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
26168         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
26169         * lib/unistr/u32-prev.c (u32_prev): Likewise.
26170         * lib/unistr/u32-next.c (u32_next): Likewise.
26171         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
26172         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
26173         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26174         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
26175         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
26176         CONFIG_UNICODE_SAFETY tests unconditionally.
26177         * tests/unistr/test-u32-mblen.c (main): Likewise.
26178         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
26179         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
26180         * tests/unistr/test-u32-next.c (main): Likewise.
26181         * tests/unistr/test-u32-strmblen.c (main): Likewise.
26182         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
26183         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
26184         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
26185         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
26186         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
26187         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
26188         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
26189         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
26190         * lib/unistr/u16-check.c (u16_check): Update comment.
26191         * NEWS: Mention the changes that callers should be aware of.
26193 2016-11-19  Bruno Haible  <bruno@clisp.org>
26195         relocatable-prog-wrapper: Fix breakage on Cygwin.
26196         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
26197         (Depends-on): Remove intprops.
26198         * lib/relocwrapper.c: Update dependency tree.
26199         (strerror): Undefine.
26200         * build-aux/install-reloc (func_create_wrapper): Do not compile
26201         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
26203 2016-11-19  Bruno Haible  <bruno@clisp.org>
26205         strerror: Make it compile in C++ mode.
26206         * lib/strerror.c (strerror): Ignore the return value of memcpy().
26208 2016-11-15  Pedro Alves  <palves@redhat.com>
26210         sys_time: add gnulib::timeval for C++
26211         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
26212         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
26213         timeval macro.
26215 2016-11-14  Pedro Alves  <palves@redhat.com>
26217         snippet/c++defs: fix real-floating arg functions in C++ mode
26218         Also, define isfinite, isinf, isnan, signbit in the gnulib
26219         namespace instead of in the global namespace.
26220         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
26221         (_GL_END_NAMESPACE): New.
26222         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
26223         (isfinite, isinf, isnan, signbit) [__cplusplus &&
26224         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
26225         instead of in the global namespace.
26226         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
26227         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
26228         of in the global namespace.
26230 2016-11-13  Jim Meyering  <meyering@fb.com>
26232         strftime: don't use __THROW
26233         Each use of __THROW would provoke this from gcc-7-to-be:
26235           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
26236             on unit local functions [-Wattributes]
26237           static int iso_week_days (int, int) __THROW;
26238           ^~~~~~
26239         * lib/strftime.c (__THROW): Don't define.
26240         Remove each use of __THROW.
26241         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
26242         (tm_diff, iso_week_days, __strftime_internal): Likewise.
26244 2016-11-14  Paul Eggert  <eggert@union>
26246         obstack: port to gcc -fcheck-pointer-bounds
26247         Problem found by 'make check' failure on bleeding-edge coreutils
26248         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
26249         6.2.0-5ubuntu12), configured via "./configure
26250         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
26251         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
26252         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
26253         New macro, copied from fts_.h.
26254         (struct _obstack_chunk.contents): Use it.
26256 2016-11-14  Eric Blake  <eblake@redhat.com>
26258         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
26259         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
26260         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
26262 2016-11-14  Pádraig Brady  <P@draigBrady.com>
26264         strptime: fix compile error in recent change
26265         * lib/strptime.c (__strptime_internal): Fix ported code.
26267 2016-11-11  Bruno Haible  <bruno@clisp.org>
26269         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
26270         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
26271         (func_import): Extend determination of license_incompatibilities.
26272         (func_create_testdir): Extend table of license compatibility. Handle
26273         also the licenses GPLv3+, GPL, LGPLv3+.
26275 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26277         strftime: tune %q
26278         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
26280         Merge strftime.c changes from glibc
26281         This incorporates:
26282         2007-10-16 [BZ #5184] Add tzset_called argument
26283         2008-06-13 [BZ #6612] pass reference to tzset_called around
26284         2009-10-30 Implement Burmese language locale for Myanmar
26285         2010-01-09 Add support for XPG7 testing
26286         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
26287         2015-10-20 Convert miscellaneous function definitions to prototype style
26288         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
26289         it anyway and this lessens the difference between gnulib and glibc.
26290         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
26291         (__THROW): Define if standard headers do not.
26292         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
26293         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
26294         Declare with __THROW.
26295         (__strftime_internal): Rename from strftime_case_. Add arg for
26296         whether tzset is called.  All uses changed.  Call tzset at most
26297         once.  Allow %OC, for Burmese.
26298         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
26299         Don't assume values are in range.
26301 2016-11-12  Eric Blake  <eblake@redhat.com>
26303         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
26304         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
26305         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
26306         different value.
26308 2006-11-12  Pedro Alves  <palves@redhat.com>
26310         Fix gnulib C++ namespace support and std::frexp
26311         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
26312         _GL_CXXALIASWARN.
26314 2006-11-12  Pedro Alves  <palves@redhat.com>
26316         GNULIB_NAMESPACE::func need not pull in rpl_func
26317         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26318         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
26319         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
26320         struct instead of a function pointer.
26322 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
26324         manywarnings: fix -Wno-missing-field-initializers detection
26325         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
26326         to be independent of -Wunused-variable.  I.E. ensure the latter
26327         warning doesn't occur so that detection of the former is accurate.
26329 2016-11-05  Pádraig Brady  <pbrady@fb.com>
26331         strftime,strptime: support %q to represent the quarter
26332         * lib/strftime.c (strftime_case_): Add %q case.
26333         * lib/strptime.c (__strptime_internal): Likewise.
26334         * tests/test-strftime.c (quarter_test): A new test case.
26336 2016-11-03  Eric Blake  <eblake@redhat.com>
26338         bootstrap: Fix get_version() for AIX 5.3
26339         * build-aux/bootstrap (get_version): Factor out sed script, since
26340         indented comments choke AIX 5.3 sed.
26341         Reported-by: Michael Felt <aixtools@gmail.com>
26343 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
26345         intprops: port to older XL C
26346         Problem reported by Alexander Samoilov in:
26347         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
26348         http://savannah.nongnu.org/bugs/?49448
26349         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
26350         Define to 1 only for XL C 12.1 or later, since this bug
26351         occurs in XL C for AIX 6.0 but not in 12.1.
26353 2016-11-02  Pádraig Brady  <P@draigBrady.com>
26355         backupfile: initialize default suffix within the implementation
26356         * lib/backupfile.c (find_backup_file_name): Initialize the
26357         global variable here, to simplify usage, and to only call
26358         getenv() when needed.
26360 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26362         futimens: remove FIXME for old Linux kernels
26363         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
26364         this in 2012" FIXME, like that for utimensat.
26366         utimensat: remove FIXME for old Linux kernels
26367         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
26368         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
26369         this in 2012" FIXME, by assuming the file system bug is absent
26370         unless demonstrated to be present.  We no longer need to worry
26371         about Linux kernel 2.6.32 when building with newer kernels.
26373 2016-10-16  Bruno Haible  <bruno@clisp.org>
26375         qsort_r: Fix macrology for platforms that lack the function.
26376         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
26377         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
26378         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
26379         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
26380         not exist.
26381         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
26382         the function exists.
26383         * modules/qsort_r: Add comments.
26385 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26387         sys_types: fix Texinfo typos
26388         * doc/glibc-functions/gnu_dev_major.texi:
26389         * doc/glibc-functions/gnu_dev_makedev.texi:
26390         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
26392 2016-10-26  John David Anglin  <dave.anglin@bell.net>
26394         getprogname: port to HP-UX
26395         See Bug#24805.
26396         * lib/getprogname.c (getprogname) [__hpux]: Port.
26397         * tests/test-getprogname.c (STREQ) [__hpux]:
26398         Special-case for HP-UX limitations on program name length.
26400 2016-10-20  Bruno Haible  <bruno@clisp.org>
26402         Update doc about target platforms.
26403         * doc/gnulib-intro.texi (Target Platforms): Update list.
26405 2016-10-15  Bruno Haible  <bruno@clisp.org>
26407         opendir, readdir, closedir: Relicense under LGPLv2+.
26408         * modules/opendir (License): Change to LGPLv2+.
26409         * modules/readdir (License): Likewise.
26410         * modules/closedir (License): Likewise.
26412 2016-10-16  Bruno Haible  <bruno@clisp.org>
26414         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
26415         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
26416         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
26417         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
26418         HAVE_DECL_STRERROR_R.
26420 2016-10-16  Bruno Haible  <bruno@clisp.org>
26422         Make the 'argp' module work without the 'error' module.
26423         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
26425 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
26427         diffseq: restore TOO_EXPENSIVE heuristic
26428         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
26429         (Bug#24715).  The simplest solution is to restore the
26430         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
26431         using a higher threshold to avoid Bug#16848 on smaller files.
26432         * lib/diffseq.h (struct context): Restore member too_expensive.
26433         (struct partition): Restore members lo_minimal, hi_minimal.
26434         (diag, compareseq): Restore arg find_minimal.  All uses changed.
26435         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
26436         1993 to make 'diff' run faster (but not as well) on large inputs,
26437         but use a threshold of 4096 instead of the old 256.
26438         * lib/fstrcmp.c (strcmp_bounded):
26439         * lib/git-merge-changelog.c (compute_differences):
26440         Adjust to diffseq.h changes.
26442 2016-10-22  Bruno Haible  <bruno@clisp.org>
26444         iconv: Avoid compilation error when bootstrapping GNU libiconv.
26445         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
26446         declaration yet, define ICONV_CONST to empty.
26448 2016-10-15  Bruno Haible  <bruno@clisp.org>
26450         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
26451         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
26452         module.
26454 2016-10-16  Bruno Haible  <bruno@clisp.org>
26456         system-quote tests: Avoid compiler warning on AIX.
26457         * tests/test-system-quote-child.c (fopen): Redefine like the system's
26458         <stdio.h> does.
26460 2016-10-16  Bruno Haible  <bruno@clisp.org>
26462         Fix some "gcc -Wall" warnings.
26463         * tests/test-ffsl.c (main): Use variable x, not i.
26464         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
26465         freopen.
26466         * tests/test-sethostname1.c (main): Explicitly ignore the return value
26467         of sethostname.
26469 2016-10-16  Bruno Haible  <bruno@clisp.org>
26471         gnulib-tool: Make --create-testdir on all modules work again.
26472         * gnulib-tool (func_create_testdir): Don't include the
26473         non-recursive-gnulib-prefix-hack module.
26475 2016-10-21  Daiki Ueno  <ueno@gnu.org>
26477         libunistring: change the maintainer to 'all'
26478         * modules/gen-uni-tables, modules/libunistring:
26479         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
26480         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
26481         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
26482         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
26483         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
26484         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
26485         * modules/uniwidth/*: Change the maintainer to 'all'.
26487 2016-10-16  Bruno Haible  <bruno@clisp.org>
26489         Simplify "configure: checking ..." messages.
26490         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
26491         AC_MSG_NOTICE.
26492         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26494 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
26496         quotearg-tests: pacify gcc -Wall
26497         Problem reported by Bruno Haible in:
26498         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
26499         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
26500         * tests/test-quotearg.h: ... from here.
26502 2016-10-20  Pádraig Brady  <P@draigBrady.com>
26504         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
26505         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
26506         Needed on Centos <= 4.
26508 2016-10-20  Jim Meyering  <meyering@fb.com>
26510         printf.m4: fix a bug in detecting printf %j support
26511         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
26512         uintmax_t is defined in neither stdint.h nor inttypes.h.
26513         Before, this macro might have mistakenly set
26514         gl_cv_func_printf_sizes_c99=yes on such a system.
26515         Spotted by Zev Weiss.
26517 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
26519         sched: substitute HAVE_SYS_CDEFS_H too
26520         Problem reported by Tom G. Christensen in:
26521         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
26522         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
26523         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
26525 2016-10-19  Pádraig Brady  <P@draigBrady.com>
26527         quotearg: never write beyond the returned length
26528         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
26529         scan of the string when we initially encounter a single quote when
26530         shell quoting, so that if we then switch to a more concise quoting method
26531         we will not have written beyond that returned length.
26532         This is significant for sh-quote, which has separate routines
26533         to determine the length and do the actual quoting.
26534         * tests/test-quotearg.h: Reinstate the buffer bounds checking
26535         now that we never write more than the returned length.
26537 2016-10-18  Bruno Haible  <bruno@clisp.org>
26539         getprogname tests: Avoid failure in packages that use libtool.
26540         * tests/test-getprogname.c (main): Strip "lt-" prefix.
26541         Based on a patch by Jim Meyering.
26543 2016-10-16  Bruno Haible  <bruno@clisp.org>
26545         getprogname: Fix test failure on Cygwin. Comments.
26546         * lib/getprogname.h: Add comments.
26547         * lib/getprogname.c: Add comments. Fix #elif indentation.
26548         * tests/test-getprogname.c (main): On Cygwin, expect a result without
26549         ".exe" suffix.
26551 2016-10-16  Bruno Haible  <bruno@clisp.org>
26553         Make sure the libunistring detection rejects older versions with a
26554         known bug.
26555         * modules/unistr/u8-strtok (configure.ac): Bump required version.
26556         * modules/unistr/u16-strtok (configure.ac): Likewise.
26557         * modules/unistr/u32-strtok (configure.ac): Likewise.
26559 2016-10-18  Bruno Haible  <bruno@clisp.org>
26561         sh-quote, system-quote: revert regression of unit test.
26562         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
26563         * tests/test-system-quote-main.c (check_one): Likewise.
26565 2016-10-16  Pádraig Brady  <P@draigBrady.com>
26567         quotearg: fix stale tests
26568         * tests/test-quotearg.c [locale_results]: Add the missing str7
26569         entries to the expected results.
26570         * tests/test-system-quote-main.c (check_one): Don't enforce that we
26571         don't write beyond the returned length, since that's no longer the
26572         case if we switch to a more concise quoting style.
26573         * tests/test-sh-quote.c (check_one): Likewise.
26574         (main): Adjust for the new more concise quoting style.
26575         Reported by Bruno Haible.
26577 2016-10-16  Jim Meyering  <meyering@fb.com>
26579         non-recursive-gnulib-prefix-hack: fix inconsequential typo
26580         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
26581         to "$1".  This macro is always invoked with $1 == lib.
26582         Spotted by Bruno Haible
26584 2016-10-16  Bruno Haible  <bruno@clisp.org>
26586         Fix a test crash.
26587         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
26588         fails.
26590 2016-10-16  Pádraig Brady  <P@draigBrady.com>
26592         test-limits-h: suppress -Woverlength-strings
26593         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
26595 2016-10-15  Bruno Haible  <bruno@clisp.org>
26597         gettime, timespec, utimens: Relicense under LGPL.
26598         * modules/gettime (License): Change to LGPL.
26599         * modules/timespec (License): Likewise.
26600         * modules/utimens (License): Likewise.
26602 2016-10-14  Bruno Haible  <bruno@clisp.org>
26603             Pádraig Brady  <P@draigBrady.com>
26605         canonicalize-lgpl: Support the case path_max > INT_MAX.
26606         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
26607         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
26609 2016-10-13  Jim Meyering  <meyering@fb.com>
26611         getprogname: IBM z/OS: avoid NULL-dereference
26612         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
26613         upon strdup failure.
26615 2016-10-12  Jim Meyering  <meyering@fb.com>
26617         test-stdint: use _GL_VERIFY rather than "verify" for some tests
26618         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
26619         and an abbreviated diagnostic rather than verify with the full one,
26620         because the full-length strings would evoke warnings from gcc with
26621         -Woverlength-strings.
26623 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26625         stdint: port SIZE_MAX to glibc s390
26626         Problem reported by Eric Blake in:
26627         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
26628         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
26629         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
26630         correct type, if possible.
26632 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
26634         getprogname: port to IBM z/OS
26635         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
26637 2016-10-11  Jim Meyering  <meyering@fb.com>
26639         maint: remove stray space after "." in AC_DEFINE comment.
26640         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
26641         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
26643 2016-10-05  Jim Meyering  <meyering@fb.com>
26645         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
26646         * lib/long-options.c (parse_long_options): Add a break statement
26647         to avoid this new warning/failure:
26648         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
26649           --create-testdir --dir=/t/x --with-tests --test long-options
26650         ../../gllib/long-options.c: In function 'parse_long_options':
26651         ../../gllib/long-options.c:66:12: error: this statement may \
26652           fall through [-Werror=implicit-fallthrough]
26653                    (*usage_func) (EXIT_SUCCESS);
26654                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
26656 2016-10-05  Jim Meyering  <meyering@fb.com>
26658         utimecmp: avoid new GCC 7 warning from -Wbool-operation
26659         Testing this module would fail when using GCC 7 like this:
26660         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
26661           --dir=/tmp/x --with-tests --test utimecmp
26662         ../../gllib/utimecmp.c: In function ‘utimecmp’:
26663         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
26664           [-Werror=bool-operation]
26665                          time_t s = src_s & ~ (res == 2 * BILLION);
26666                                             ^
26667         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
26668           [-Werror=bool-operation]
26669                src_s &= ~ (res == 2 * BILLION);
26670                         ^
26671         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
26672         Instead, make it explicit that we intend to apply it to 0 or 1.
26674 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26676         dfa: save memory for states
26677         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
26678         states if dfa has a lot of caches.
26680 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
26682         wchar, wctype-h: fix for MinGW 3.22.2
26683         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
26684         special invocation, to fix issues with MinGW 3.22.2 wchar.h
26685         when included from <string.h>.
26686         * lib/wctype.in.h [__MINGW32__]: Add special invocation
26687         convention for MinGW 3.22.2, to solve issues with their
26688         wctype.h when included from <ctype.h>.
26690 2016-10-05  Jim Meyering  <meyering@fb.com>
26692         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
26693         * lib/long-options.c (parse_long_options): Add a break statement
26694         to avoid this new warning/failure:
26695         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
26696           --create-testdir --dir=/t/x --with-tests --test long-options
26697         ../../gllib/long-options.c: In function ‘parse_long_options’:
26698         ../../gllib/long-options.c:66:12: error: this statement may \
26699           fall through [-Werror=implicit-fallthrough]
26700                    (*usage_func) (EXIT_SUCCESS);
26701                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
26703         utimecmp: avoid new GCC 7 warning from -Wbool-operation
26704         Testing this module would fail when using GCC 7 like this:
26705         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
26706           --dir=/tmp/x --with-tests --test utimecmp
26707         ../../gllib/utimecmp.c: In function ‘utimecmp’:
26708         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
26709           [-Werror=bool-operation]
26710                          time_t s = src_s & ~ (res == 2 * BILLION);
26711                                             ^
26712         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
26713           [-Werror=bool-operation]
26714                src_s &= ~ (res == 2 * BILLION);
26715                         ^
26716         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
26717         Instead, make it explicit that we intend to apply it to 0 or 1.
26719 2016-10-03  Pádraig Brady  <P@draigBrady.com>
26721         quotearg: minimize shell quoting using double quotes
26722         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
26723         quote in encountered then use double quotes (c style quoting)
26724         when possible, as it simplifies the quoting.
26725         * tests/test-quotearg-simple.c: Add test cases.
26726         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
26727         for the fact we now may write beyond the returned length.
26729 2016-10-02  Jim Meyering  <meyering@fb.com>
26731         vasnprintf.c: avoid spurious warning from GCC 7
26732         The presence of cpp directives renders this "FALLTHROUGH" comment
26733         ineffective, so does not suppress the -Wimplicit-fallthrough warning
26734         from GCC 7 built from git on 2016-10-02.
26735         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
26736         directives, so that it takes effect once again.  This is clearly
26737         not a proper change, and I will revert it once this bug is fixed:
26738         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
26740 2016-10-01  Jim Meyering  <meyering@fb.com>
26742         getprogname: correct the test for a __progname variable
26743         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
26744         and AC_LINK_IFELSE to check for a global __progname.  If found,
26745         define HAVE_VAR___PROGNAME.
26746         * lib/getprogname.c (getprogname): Reflect the new name of the
26747         feature- checked preprocessor symbol:
26748         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
26750 2016-09-28  Jim Meyering  <meyering@fb.com>
26752         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
26753         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
26754         fall-through case with a /* fallthrough */ comment.
26756         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
26757         * lib/dfa.c (dfassbuild): Mark the end of this case with a
26758         /* fallthrough */ comment.
26760         getprogname: avoid __progname vs program_invocation_short_name pitfall
26761         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
26762         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
26763         not with Fedora 24's glibc-2.23.1-10.
26764         * lib/getprogname.c (__progname): Move this declaration down...
26765         (getprogname): ... into the #elif block where used, and make it
26766         explicitly "extern".
26768         getprogname: port to OpenBSD 5.1
26769         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
26770         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
26771         * modules/getprogname (configure.ac): Move most of this code...
26772         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
26773         increment serial number, and add a test for __progname.
26774         https://bugs.gnu.org/24562
26775         Reported by Nelson H. F. Beebe.
26777 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
26779         sched: port to GCC 6.2.1 on macOS Sierra
26780         Problem reported by Denis Davydov in:
26781         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
26782         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
26783         Include <sys/cdefs.h> before <sched.h>.
26784         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
26785         so that we needn’t worry about the sched.h include bug here.
26786         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
26787         and include it before <sched.h> if it exists, when
26788         checking for <sched.h>.
26790         tests/init.sh: port Alpine fix to AIX 7.1
26791         * tests/init.sh (compare_): When attempting to use diff -U3,
26792         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
26793         diff -u not outputting a space after leading '+', as the users
26794         of 'compare' should not be that picky about its output format.
26795         In the AIX 7.1 case, return with diff exit status (or with 2 if
26796         trouble), instead of some random nonzero exit status.
26797         * tests/test-init.sh (test_compare): Remove space after leading
26798         '+', so that AIX 7.1 'diff' passes the test.
26800 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
26802         nl_langinfo: pacify GCC
26803         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
26804         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
26806         stdint: also set GL_GENERATE_LIMITS_H
26807         Problem reported by Jim Meyering in:
26808         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
26809         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
26811         limits-h, stdint: Don't assume extensions, fix typo
26812         * m4/limits-h.m4 (gl_LIMITS_H):
26813         * m4/stdint.m4 (gl_STDINT_H):
26814         Don't assume AC_USE_SYSTEM_EXTENSIONS.
26815         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
26816         reported by Jim Meyering in:
26817         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
26819 2016-09-21  Jim Meyering  <meyering@fb.com>
26821         getprogname: port to AIX
26822         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
26823         and strdup to obtain a short program name string.  Using code from
26824         Bruno Haible and an idea from Bastien ROUCARIÈS, in
26825         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
26826         Assaf Gordon reported that this new file would fail to compile on
26827         AIX-7.1 32bit.
26829 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
26831         extensions: fix typo in comment
26832         * m4/extensions.m4: Sync from Autoconf master.
26834         stdint: support new _WIDTH macros
26835         * doc/posix-headers/stdint.texi: Document this.
26836         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
26837         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
26838         support for INTMAX_WIDTH, etc. as well as for support for just C99.
26839         * modules/stdint (Depends-on): Add limits-h.
26840         (Makefile.am): Substitute HAVE_C99_STDINT_H.
26841         * modules/stdint-tests (Depends-on): Add extensions, so that
26842         INTMAX_MAX etc. are defined.
26843         * tests/test-stdint.c: Verify the new macros.
26845         limits-h: new module
26846         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
26847         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
26848         * doc/posix-headers/limits.texi: Document new module.
26849         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
26850         * modules/limit-h-tests, tests/test-limits-h.c: New files.
26852         stdio: don't redefine __USE_MINGW_ANSI_STDIO
26853         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
26854         if it is already defined.  Apparently GNU Emacs relies on this.  See:
26855         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
26857 2016-09-15  Eric Blake  <eblake@redhat.com>
26859         sys_types: avoid glibc 2.25 warnings about major()
26860         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
26861         older autoconf.
26862         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
26863         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
26864         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
26865         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
26867         mountlist: include sysmacros.h for glibc
26868         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
26869         AC_HEADER_MAJOR.
26870         * lib/mountlist.c (includes): Use correct headers.
26872 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
26874         extensions: port to more ISO C TSes
26875         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
26876         master, to add support for more recent ISO C TRs and TSes.
26878 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26880         intprops: new macro TYPE_WIDTH
26881         * lib/intprops.h (TYPE_WIDTH): New macro.
26882         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
26883         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
26884         * lib/parse-datetime.y (parse_datetime2):
26885         Use it.
26887         extensions: port to recent ISO C TRs
26888         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
26889         Sync from Autoconf master, to add support for recent ISO C TRs.
26890         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
26891         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
26892         the MinGW option is not an extension.
26894 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
26896         dfa: port to Solaris 9
26897         Problems reported by Tom G. Christensen in:
26898         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
26899         * modules/dfa (Depends-on): Add isblank.
26900         * modules/dfa-tests (dfa_match_aux_LDADD):
26901         Rename from test_stat_LDADD, to fix typo.
26902         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
26904 2016-09-10  Jim Meyering  <meyering@fb.com>
26906         strverscmp: avoid link failure on OS X
26907         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
26908         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
26910 2016-08-16  Jim Meyering  <meyering@fb.com>
26912         dfa: new module, importing grep's DFA matcher
26913         Since grep's DFA matcher is now being used by two gnulib-enabled
26914         projects, grep and sed, it makes sense to version-control its
26915         sources and unit tests in one place: here.
26916         * modules/dfa: New module.
26917         * modules/dfa-tests: New file.
26918         * lib/dfa.c: New file, from grep.
26919         * lib/dfa.h: Likewise.
26920         * lib/localeinfo.c: Likewise.
26921         * lib/localeinfo.h: Likewise.
26922         * tests/dfa-match-aux.c: Likewise.
26923         * tests/dfa-invalid-char-class.sh: Likewise.
26924         * tests/dfa-match.sh: Likewise, with minor changes.
26925         * MODULES.html.sh (Misc): Add "dfa" to this list.
26927 2016-09-09  Jim Meyering  <meyering@fb.com>
26929         getprogname-tests: don't depend on assert-h
26930         * modules/getprogname-tests (Depends-on): Remove assert-h.
26931         It was not needed, and in fact would cause build failure for
26932         coreutils on some systems.  Reported by Assaf Gordon in https:
26933         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
26935 2016-09-07  Jim Meyering  <meyering@fb.com>
26937         getprogname-tests: work also when EXEEXT is nonempty
26938         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
26939         * tests/test-getprogname.c (main): Use it.
26940         Suggested by Gisle Vanem.
26942 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
26944         getprogname: fix errors in previous change
26945         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
26946         s/program_invocation_name/base/
26947         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
26949 2016-09-08  Pádraig Brady  <P@draigBrady.com>
26951         parse-datetime: restrict debug output to input string
26952         * lib/parse-datetime.y (parse_datetime2): If we parse
26953         all of the input but determine it's invalid, ensure
26954         we don't output the now invalid input pointer.
26955         This issue was seen with `date -d 'now +1'`.
26957 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
26959         flexmember: new macro FLEXALIGNOF
26960         * lib/flexmember.h: Include <stddef.h>, for offsetof.
26961         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
26962         this macro.  Update comments.
26964 2016-09-07  Jim Meyering  <meyering@fb.com>
26966         getprogname: port to systems with __argv (mingw, msvc)
26967         * lib/getprogname.c (getprogname): Include "dirname.h" and use
26968         last_component: more general than open coding it with hard-coded "/".
26969         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
26970         * modules/getprogname (Depends-on): Add dirname-lgpl.
26971         (configure.ac): Check for __argv in <stdlib.h>.
26972         * modules/getprogname-tests: New file.
26973         * tests/test-getprogname.c: New file.
26974         Suggested by Gisle Vanem in
26975         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
26977 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
26979         flexmember: port better to GCC + valgrind
26980         With a char[] flexible array member in a struct with nontrivial
26981         alignment, GCC-generated code can access past the end of the
26982         array, because GCC assumes there are padding bytes to get the
26983         struct aligned.  So the common idiom of malloc (offsetof (struct
26984         s, m), n) does not properly allocate an n-byte trailing member, as
26985         malloc’s argument should be the next multiple of alignof (struct s).
26986         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
26987         Although C11 apparently permits this GCC optimization (i.e., there
26988         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
26989         See the thread containing:
26990         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
26991         * lib/flexmember.h: New file.
26992         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
26993         * lib/localename.c, lib/time_rz.c:
26994         Include flexmember.h.
26995         * lib/fnmatch_loop.c (struct patternlist):
26996         * lib/localename.c (struct hash_node):
26997         Use FLEXIBLE_ARRAY_MEMBER.
26998         * lib/fnmatch_loop.c (EXT):
26999         * lib/fts.c (fts_alloc):
27000         * lib/glob.c (glob_in_dir):
27001         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
27002         * lib/localename.c (gl_lock_define_initialized):
27003         * lib/time_rz.c (tzalloc):
27004         Use FLEXSIZEOF instead of offsetof.
27005         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27006         Check that the size of the struct can be taken.
27007         * modules/flexmember (Files): Add lib/flexmember.h.
27008         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
27009         Add flexmember.
27011 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
27013         getprogname: port to Solaris 10
27014         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
27015         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
27016         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
27018         stdalign: correct mistake in alignof doc
27019         Problem reported by Joseph Myers in:
27020         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
27021         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
27022         alignof(S) where S is a structure containing a flexible array
27023         member.  The Gnulib substitute does not support this, but C11 does.
27025 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27027         main.mk: remove sc_program_name, since there is no more need to
27028         use set_program_name in tools (getprogname is enough for most
27029         of the cases).
27030         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
27031         * top/maint.mk (sc_program_name): Remove.
27033 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27035         Port tests away from progname, since modules that need the
27036         program name already depend on getprogname.
27037         * modules/acl-tests (Depends-on): Remove progname.
27038         * modules/argmatch (Depends-on): Likewise.
27039         * modules/argmatch-tests (Depends-on): Likewise.
27040         * modules/argp-tests (Depends-on): Likewise.
27041         * modules/argp-version-etc-tests (Depends-on): Likewise.
27042         * modules/array-list-tests (Depends-on): Likewise.
27043         * modules/array-oset-tests (Depends-on): Likewise.
27044         * modules/avltree-list-tests (Depends-on): Likewise.
27045         * modules/avltree-oset-tests (Depends-on): Likewise.
27046         * modules/avltreehash-list-tests (Depends-on): Likewise.
27047         * modules/carray-list-tests (Depends-on): Likewise.
27048         * modules/copy-file-tests (Depends-on): Likewise.
27049         * modules/exclude-tests (Depends-on): Likewise.
27050         * modules/fchownat-tests (Depends-on): Likewise.
27051         * modules/fdopendir-tests (Depends-on): Likewise.
27052         * modules/filenamecat-tests (Depends-on): Likewise.
27053         * modules/fstatat-tests (Depends-on): Likewise.
27054         * modules/fstrcmp-tests (Depends-on): Likewise.
27055         * modules/linked-list-tests (Depends-on): Likewise.
27056         * modules/linkedhash-list-tests (Depends-on): Likewise.
27057         * modules/mkdirat-tests (Depends-on): Likewise.
27058         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
27059         * modules/nonblocking-socket-tests (Depends-on): Likewise.
27060         * modules/obstack-printf-tests (Depends-on): Likewise.
27061         * modules/openat-tests (Depends-on): Likewise.
27062         * modules/parse-datetime-tests (Depends-on): Likewise.
27063         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
27064         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
27065         * modules/quotearg-simple-tests (Depends-on): Likewise.
27066         * modules/quotearg-tests (Depends-on): Likewise.
27067         * modules/rbtree-list-tests (Depends-on): Likewise.
27068         * modules/rbtree-oset-tests (Depends-on): Likewise.
27069         * modules/rbtreehash-list-tests (Depends-on): Likewise.
27070         * modules/spawn-pipe-tests (Depends-on): Likewise.
27071         * modules/system-quote-tests (Depends-on): Likewise.
27072         * modules/uniname/uniname-tests (Depends-on): Likewise.
27073         * modules/uninorm/nfc-tests (Depends-on): Likewise.
27074         * modules/uninorm/nfd-tests (Depends-on): Likewise.
27075         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
27076         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
27077         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
27078         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
27079         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
27080         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
27081         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
27082         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
27083         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
27084         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
27085         * modules/unlinkat-tests (Depends-on): Likewise.
27086         * modules/version-etc-tests (Depends-on): Likewise.
27087         * modules/xalloc-die-tests (Depends-on): Likewise.
27088         * modules/xmemdup0-tests (Depends-on): Likewise.
27089         * modules/xprintf-posix-tests (Depends-on): Likewise.
27090         * modules/xvasprintf-tests (Depends-on): Likewise.
27091         * tests/test-argmatch.c: Do not include progname.h.
27092         (main) Stop calling set_program_name.
27093         * tests/test-argp-version-etc.c: Likewise.
27094         * tests/test-argp.c: Likewise.
27095         * tests/test-argv-iter.c: Likewise.
27096         * tests/test-array_list.c: Likewise.
27097         * tests/test-array_oset.c: Likewise.
27098         * tests/test-avltree_list.c: Likewise.
27099         * tests/test-avltree_oset.c: Likewise.
27100         * tests/test-avltreehash_list.c: Likewise.
27101         * tests/test-carray_list.c: Likewise.
27102         * tests/test-copy-acl.c: Likewise.
27103         * tests/test-copy-file.c: Likewise.
27104         * tests/test-exclude.c: Likewise.
27105         * tests/test-fchownat.c: Likewise.
27106         * tests/test-fdopendir.c: Likewise.
27107         * tests/test-filenamecat.c: Likewise.
27108         * tests/test-fstatat.c: Likewise.
27109         * tests/test-fstrcmp.c: Likewise.
27110         * tests/test-linked_list.c: Likewise.
27111         * tests/test-linkedhash_list.c: Likewise.
27112         * tests/test-mkdirat.c: Likewise.
27113         * tests/test-nonblocking-pipe-main.c: Likewise.
27114         * tests/test-nonblocking-socket-main.c: Likewise.
27115         * tests/test-obstack-printf.c: Likewise.
27116         * tests/test-openat.c: Likewise.
27117         * tests/test-parse-datetime.c: Likewise.
27118         * tests/test-pipe-filter-gi1.c: Likewise.
27119         * tests/test-pipe-filter-gi2-main.c: Likewise.
27120         * tests/test-pipe-filter-ii1.c: Likewise.
27121         * tests/test-pipe-filter-ii2-main.c: Likewise.
27122         * tests/test-quotearg-simple.c: Likewise.
27123         * tests/test-quotearg.c: Likewise.
27124         * tests/test-rbtree_list.c: Likewise.
27125         * tests/test-rbtree_oset.c: Likewise.
27126         * tests/test-rbtreehash_list.c: Likewise.
27127         * tests/test-sameacls.c: Likewise.
27128         * tests/test-set-mode-acl.c: Likewise.
27129         * tests/test-spawn-pipe-main.c: Likewise.
27130         * tests/test-system-quote-main.c: Likewise.
27131         * tests/test-unlinkat.c: Likewise.
27132         * tests/test-version-etc.c: Likewise.
27133         * tests/test-xalloc-die.c: Likewise.
27134         * tests/test-xfprintf-posix.c: Likewise.
27135         * tests/test-xmemdup0.c: Likewise.
27136         * tests/test-xprintf-posix.c: Likewise.
27137         * tests/test-xvasprintf.c: Likewise.
27138         * tests/uniname/test-uninames.c: Likewise.
27139         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27140         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27141         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27142         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27143         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
27144         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
27145         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
27146         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
27147         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
27148         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
27149         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
27150         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
27151         * tests/test-c-stack.c: (program_name): Do not define.
27152         (main): Do not set program_name.
27153         * tests/test-closein.c: Likewise.
27154         * tests/test-xstrtol.c: Likewise.
27155         * tests/test-yesno.c: Likewise.
27157 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27159         Port modules to use getprogname explicitly, instead of requiring
27160         progname to be used (or program_name to be provided).
27161         * lib/argmatch.c: Do not include progname.h.
27162         [TEST] (program_name): Do not define.
27163         [TEST] (main): Call getprogname instead of using program_name.
27164         * lib/c-stack.c: Do not include progname.h.
27165         (program_name): Do not define.
27166         (die): Call getprogname instead of using program_name.
27167         * lib/chdir-long.c: Do not include progname.h.
27168         [TEST_CHDIR] (main): Do not set program_name.
27169         * lib/error.c [!_LIBC]: Include progname.h.
27170         [!_LIBC] (program_name): Define using getprogname.
27171         * lib/euidaccess.c: Do not include progname.h.
27172         [TEST] (main): Do not set program_name.
27173         * lib/git-merge-changelog.c: Include getprogname.h instead of
27174         progname.h.
27175         (usage): Call getprogname instead of using program_name.
27176         (main): Likewise.  Stop calling set_program_name.
27177         * lib/group-member.c: Do not include progname.h.
27178         [TEST] (main): Do not set program_name.
27179         * modules/argmatch (Depends-on): Add getprogname.
27180         * modules/c-stack (Depends-on): Likewise.
27181         * modules/error (Depends-on): Likewise.
27182         * modules/git-merge-changelog (Depends-on): Likewise.
27183         Also remove progname.
27185 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
27187         * NEWS: Document the deprecation of the 'progname' module.
27189 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27191         getprogname: new module
27192         This provides a LGPL module for getting the name of the current
27193         program, using the same API found on *BSD systems.
27194         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
27195         * modules/getprogname: New files.
27196         * MODULES.html.sh (Misc): Add getprogname.
27198 2016-09-02  Jim Meyering  <meyering@fb.com>
27200         manywarnings: add -fno-common
27201         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
27202         to the list.  Quoting the manual, "Compiling with -fno-common is
27203         useful on targets for which it provides better performance, or if
27204         you wish to verify that the program will work on other systems that
27205         always treat uninitialized variable declarations this way [putting
27206         it in the data section]."  If diffutils had been using this sooner,
27207         it would have prevented this duplicate declaration issue:
27208         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
27210 2016-08-31  Simon Josefsson  <simon@josefsson.org>
27212         parse-datetime: Fix typo.
27213         * lib/parse-datetime.y (parse_datetime2): Fix typo.
27215 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
27217         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
27218         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
27219         GCC 5 and 6 that have __builtin_sub_overflow but not
27220         __builtin_sub_overflow_p.  With the recent changes, these
27221         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
27222         implementation than with INT_SUBTRACT_OVERFLOW implementation,
27223         since the former needs just one runtime comparison whereas the
27224         latter needs two.
27226         strverscmp: sync with glibc
27227         Although this doesn't exactly synchronize with glibc
27228         byte-for-byte, it makes the code behave the same as glibc.
27229         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
27230         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
27231         difference shouldn't matter in practical use.  All uses changed
27232         back to isdigit.
27233         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
27234         (next_state): Now unsigned char array; redo elements.
27235         (result_type): Now signed char array; redo elements.
27236         (__strverscmp): Fix glibc bug 9913 by using new states.
27237         * tests/test-strverscmp.c (main): Test glibc bug 9913.
27239 2016-08-29  Jim Meyering  <meyering@fb.com>
27241         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
27242         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
27243         similarly to how it was done to intprops.h.
27245 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
27247         intprops.h: port recent changes to GCC 6.2.0
27248         * lib/intprops.h (__has_builtin): Move earlier.
27249         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
27250         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
27251         the last argument can be null.  All uses changed.
27252         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
27253         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27254         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
27255         and it's not clear which GCC versions it works for.
27256         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
27257         its definiens.
27259         intprops.h: use __typeof__ with GCC 7
27260         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
27261         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
27262         This avoids computing the expression's value (which might overflow!).
27264 2016-08-29  Jim Meyering  <meyering@fb.com>
27266         intprops.h, xalloc-oversized.h: work with gcc 7
27267         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
27268         __builtin_mul_overflow each accept a NULL pointer as the third
27269         argument.  However in gcc 7, that is no longer accepted.
27270         Instead, one must use the "_p"-suffixed names, with which, the
27271         third parameter is no longer a pointer.
27272         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
27273         the definition: not true for gcc 7 and subsequent.
27274         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
27275         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27276         Provide new definitions for gcc 7 and subsequent.
27277         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
27278         that works with gcc-7.
27280         intprops.h: fix missing-backslash problems
27281         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
27282         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
27284 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27286         intprops: fix paren typo on old platforms
27287         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
27288         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
27289         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
27290         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
27291         && !defined LLONG_MAX]:
27292         Remove stray paren.
27294         intprops: port to OpenVMS
27295         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
27296         * doc/posix-headers/limits.texi: Document the problem.
27297         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
27298         Define if not already defined.
27300 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
27302         parse-datetime: improve debug implementation
27303         Follow-up to commit 12ad79069 ("add optional debug printing").
27304         Improve parse-datetime's debug implementation: remove macros,
27305         replace global debug flag variable with a function parameter,
27306         use nstrftime for formatting.
27307         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
27308         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
27309         (parse_datetime2): New function, accepts 'flags' parameter, supporting
27310         debug flag. Existing interface 'parse_datetime' left unmodified.
27311         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
27312         (struct parser_control): add 'parse_datetime_debug' member variable.
27313         (parse_datetime): Call new function 'parse_datetime2' without debug.
27314         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
27315         pc.parse_datetime_debug variable as needed.
27316         (to_year): Accept new flags parameter, instead of using global variable.
27317         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
27318         use struct 'debug' variable instead of global variable.
27319         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
27320         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
27321         correspnding functions directly instead of using macros.
27322         * modules/parse-datetime: Add gnulib's strftime module.
27324 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
27326         c-strcase-tests: port to EBCDIC
27327         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
27328         which assume ASCII encoding semantics to run only in ASCII
27329         mode, as they fail in EBCDIC.
27331         sigpipe-tests: fix typo
27332         * tests/test-sigpipe.sh: C, not B.
27334 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
27336         canonicalize-lgpl: fix errno after malloca fails
27337         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
27338         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
27339         * lib/canonicalize-lgpl.c (__realpath):
27340         Don't assume malloca sets errno on failure.
27342 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27344         strtod: port errno handling to z/OS
27345         * lib/strtod.c (strtod): Save and restore errno more reliably.
27347 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
27349         strtod: port to z/OS
27350         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
27351         implementation.
27353 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27355         strtod: port to z/OS
27356         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
27357         implementation.
27359         regex, string: rename to avoid '__string'
27360         * lib/regex.h, lib/string.in.h: Do not use the identifier
27361         '__string', as it is effectively reserved by string.h on z/OS.
27363         c-strcase-tests, wcwidth-tests: depend on c-ctype
27364         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
27365         Add c-ctype.
27367 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
27369         thread: port to z/OS
27370         * lib/glthread/thread.c, lib/glthread/thread.h:
27371         Rudimentary gl_thread support for z/OS.
27373         maint: port tests to z/OS errno behavior
27374         * tests/test-nonblocking-reader.h:
27375         * tests/test-nonblocking-writer.h:
27376         Accommodate z/OS errno code preferences. (I believe this should
27377         still be within spec; IBM is good at following the letter if not
27378         the spirit of such things.)
27380         maint: preprocessor changes to support z/OS
27381         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
27382         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
27383         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
27384         * tests/test-nonblocking-pipe.h:
27386         fclose, strstr-simple, wchar: port to z/OS
27387         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
27388         Changes to the Autoconf M4 code to support z/OS.  Note that
27389         fclose() is broken in a different way on z/OS than it is on other
27390         systems, thus the special-case in fclose.m4.
27392         iconv_open-utf-tests, iconv-tests: port to EBCDIC
27393         * tests/test-iconv-utf.c, tests/test-iconv.c:
27394         Added appropriately conditional #pragmas so that the test strings
27395         in test-iconv-utf.c are correctly interpreted in ASCII instead of
27396         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
27397         addressed in a more portable way by simply rewriting all the ASCII
27398         literal characters as octal escapes, but then you would lose the
27399         partial readability that the strings have now. Also, iconv_open()
27400         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
27402         c-strcase-tests, wcwidth-tests: port to EBCDIC
27403         * tests/test-c-strcasecmp.c: Include c-ctype.h.
27404         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
27405         * tests/test-wcwidth.c: Likewise.
27407 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27409         stdbool: don't require _Bool for C++
27410         Problem reported by David Seifert in:
27411         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
27412         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
27413         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
27414         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
27415         stricter about checking that bool and _Bool are compatible in C.
27417 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
27419         getdelim: remove dependency on realloc-posix
27420         * lib/canonicalize-lgpl.c (alloc_failed)
27421         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
27422         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
27423         Use __set_errno where needed, for consistency.
27424         * lib/getdelim.c (alloc_failed): New function.
27425         (getdelim): Use it.
27427 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
27429         parse-datetime: add optional debug printing
27430         Print parsing information, warnings, and errors to stderr.
27431         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
27432         * lib/parse-datetime.y:
27433         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
27434         (PROGRESS*): Same as DEBUG, for progress reporting.
27435         (dbg_printf): Print message to stderr, with 'date' prefix.
27436         (struct parser_control): Add 'debug_*_seen' variables.
27437         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
27438         (debug_print_current_time, debug_print_relateive_time): Prints the
27439         current/relative date/time value of parser_control.
27440         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
27441         (to_year): Warn about 2-digit year parsing.
27442         (yylex):   Warn about unrecognized words.
27443         (get_effective_timezone): Returns current timezone in minutes.
27444         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
27445         clearly and unambigiously as possible.
27446         (debug_mktime_not_ok): Print detailed information about failed
27447         date/time values.
27448         (parse_datetime): Add DEBUG messages for failures, warnings. Add
27449         PROGRESS messages for status messages.
27450         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
27452 2016-08-06  Jim Meyering  <meyering@fb.com>
27454         tests/init.sh: exclude dash with bad "local" semantics
27455         * tests/init.sh (gl_shell_test_script_): Add a function to
27456         eliminate a shell like "dash" (unlike bash, zsh) that has
27457         surprising/risky "local var='...'" semantics.  Inspired by
27458         the problem and discussion in https://bugs.gnu.org/24116#11.
27460 2016-08-02  Ján Tomko  <jtomko@redhat.com>
27462         maint.mk: expand the prohibit_doubled_word regex
27463         This check has a static list of words that are checked for
27464         repetitions.  Expand it before running the perl script to
27465         avoid using expensive captures.  This decreases the cost
27466         for libvirt from 1.66s to 0.66s.
27467         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
27468         (sc_prohibit_doubled_word): Use it.
27470 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27472         useless-if-before-free: skip non-matching lines early
27473         * build-aux/useless-if-before-free: First match each line with the
27474         simple/quick /\bif\b/ and reject if there is no match. This often
27475         saves the cost of the much more involved regular expression.
27476         For libvirt, this decreases the cost from 1.44s to 1.02s.
27478 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27480         maint.mk: speed up sc_po_check
27481         sc_po_check would skip files based on their names, or on the
27482         existence of files with derived names. Rewrite it to use perl
27483         instead of shell to make the check faster.
27484         * top/maint.mk (perl_translatable_files_list_): Define.
27485         (sc_po_check): Use it.
27487 2016-07-30  Ján Tomko  <jtomko@redhat.com>
27489         maint.mk: speed up require_config_h_first
27490         Instead of spawning three processes per file,
27491         rewrite the check in perl and run it once for all the files.
27492         * top/maint.mk (perl_config_h_first_): Define.
27493         (sc_require_config_h_first): Use it in place of shell code.
27495 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27497         maint.mk: speed up sc_po_check
27498         sc_po_check would skip files based on their names, or on the
27499         existence of files with derived names. Rewrite it to use perl
27500         instead of shell to make the check faster.
27501         * top/maint.mk (perl_translatable_files_list_): Define.
27502         (sc_po_check): Use it.
27504 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
27506         obstack: pacify GCC 6 with -Wnull-dereference
27507         Problem reported by Assaf Gordon in:
27508         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
27509         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
27510         Declare with __attribute_noreturn__.
27511         * lib/obstack.h (__attribute_noreturn__): New macro.
27513 2016-07-13  Eric Blake  <eblake@redhat.com>
27515         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
27516         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
27517         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
27519 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
27521         doc: mention glibc SSIZE_MAX buglet
27522         * doc/posix-headers/limits.texi (limits.h): Document the bug.
27524 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
27526         printf-posix: Fix mingw build
27527         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
27528         expression for detecting C symbol prefixes but forgot to qoute square
27529         brackets in the command line arguments for grep.  That way when
27530         building with mingw the condition was false although it ought to be
27531         true instead.  In particular scenarios this led to the following
27532         compile error:
27534             Cannot export rpl_printf: symbol not found
27535             Cannot export rpl_scanf: symbol not found
27536             collect2: error: ld returned 1 exit status
27538         Fix this by properly quoting square brackets.
27540 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
27542         mktime: call tzset as per POSIX
27543         Problem reported by Ludovic Courtès in:
27544         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
27545         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
27546         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
27548 2016-06-26  Pádraig Brady  <P@draigBrady.com>
27550         fts: handle readdir() errors
27551         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
27552         but also upon error when it will also set errno.  Therefore
27553         flag the error case from readdir().  We treat the case where
27554         no items are read the same as if the dir can't be accessed,
27555         i.e. by setting fts_errno to FTS_DNR.
27557 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
27559         intprops: port better to GCC 7
27560         GCC 7 __builtin_add_overflow supports a new usage form, where the
27561         last argument is a null pointer, and which merely returns 1 if an
27562         overflow would occur.  This is a constant expression if all
27563         arguments are constants, and should generate faster code when code
27564         needs to be generated.
27565         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
27566         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27567         Use builtin operations if available.
27568         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
27569         operations are available, as it's almost surely faster.
27571 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
27573         intprops-test: port to GCC 6
27574         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
27575         since the bug is not fixed in GCC 6.1.
27577 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
27579         xalloc-oversized: port to GCC 7; fewer warnings
27580         GCC 7 will have a better way to deal with integer overflow.
27581         Plus, fix a warnings problem reported by Tim Ruehsen in:
27582         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
27583         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
27584         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
27585         For GCC 5, use __xalloc_oversized if both args are constants,
27586         or if pedantic.
27588 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
27590         regex: port to Sun C
27591         Reported by Daiki Ueno.
27592         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
27593         __restrict, in prototype.  This fixes a problem I introduced in
27594         the 2016-02-19 merge from glibc.
27596 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
27598         stdbool: Restore __bool_true_false_are_defined check
27599         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
27600         __bool_true_false_are_defined is still defined, even with C++11.
27602 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
27604         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
27605         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
27607 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27609         Use GCC_LINT, not lint
27610         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
27611         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
27612         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
27613         Document problem with lint and _Noreturn.
27614         * lib/diffseq.h (IF_LINT, IF_LINT2):
27615         * lib/fts.c (sccsid):
27616         * lib/getndelim2.c (IF_LINT):
27617         * lib/gl_anylinked_list2.h (gl_linked_iterator)
27618         (gl_linked_iterator_from_to):
27619         * lib/gl_anytree_list2.h (gl_tree_iterator)
27620         (gl_tree_iterator_from_to):
27621         * lib/gl_anytree_oset.h (gl_tree_iterator):
27622         * lib/gl_array_list.c (gl_array_iterator)
27623         (gl_array_iterator_from_to):
27624         * lib/gl_array_oset.c (gl_array_iterator):
27625         * lib/gl_carray_list.c (gl_carray_iterator)
27626         (gl_carray_iterator_from_to):
27627         * lib/idcache.c:
27628         * lib/inet_ntop.c (IF_LINT):
27629         * lib/regcomp.c (build_charclass_op, create_tree):
27630         * lib/regex_internal.c (re_acquire_state)
27631         (re_acquire_state_context):
27632         * lib/trigl.c (rcsid):
27633         * lib/trim.c (IF_LINT):
27634         * lib/vasnprintf.c (IF_LINT):
27635         * lib/verify.h (assume):
27636         Treat GCC_LINT like lint.
27638 2016-05-29  Bruno Haible  <bruno@clisp.org>
27640         secure_getenv: Port to many more platforms.
27641         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
27642         functions.
27643         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
27644         for non-BSD Unix platforms and for native Windows.
27645         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
27646         Prompted by a request from Nikos Mavrogiannopoulos.
27648 2016-05-27  Eric Blake  <eblake@redhat.com>
27650         canonicalize: Fix broken probe for realpath.
27651         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
27652         in logic introduced in 54615b95.
27654 2016-05-26  Eric Blake  <eblake@redhat.com>
27656         unsetenv: relax to LGPLv2+
27657         * modules/unsetenv (License): Match setenv license.
27659 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
27661         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
27662         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
27663         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
27664         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
27665         (commonarg, dirargs, dirs, infoarg, generate_ascii)
27666         (generate_html, generate_info, generate_tex, outdir)
27667         (source_extra, split, srcfile, texarg): Move above 'version'.
27668         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
27670 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27672         manywarnings: update for GCC 6.1
27673         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
27674         Add GCC 6.1 options that apply to C.
27675         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
27676         do not apply to C, are obsolescent, etc.
27678 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
27680         glob: size_t overflow checks
27681         * lib/glob.c (__has_builtin): New macro.
27682         (size_add_wrapv, glob_use_alloca): New static functions.
27683         (glob, glob_in_dir): Check for size_t overflow in several places,
27684         and fix some size_t checks that were not quite right.
27686         glob: don't assume INT_MAX < SIZE_MAX
27687         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
27688         latter is not portable to (probably theoretical) hosts where
27689         SIZE_MAX <= INT_MAX.
27691 2016-05-09  Bruno Haible  <bruno@clisp.org>
27693         Fix undefined behaviour in gettext.h.
27694         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
27695         pointer's value after the storage it points to has been freed.
27696         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
27697         Spotted by Coverity.
27699 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
27701         git-version-gen: avoid undefined shift
27702         Problem reported by Mosè Giordano in:
27703         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
27704         * build-aux/git-version-gen: Avoid undefined behavior if invoked
27705         with --prefix or --fallback but without a later argument.  While
27706         we're at it, omit unnecessary quotes.
27708 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
27710         glob: merge glibc changes into lib/glob.c
27711         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
27712         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
27713         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
27714           struct dirent [BZ #19779]
27715         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
27716           callback gl_readdir
27717         2015-10-20 Convert miscellaneous function definitions to prototype style
27718         2015-10-20 Convert 113 more function definitions to prototype style
27719           (files with assertions)
27720         2015-06-12 Fix getlogin_r namespace (bug 18527).
27721         2014-02-10 Use glibc_likely instead __builtin_expect.
27722         2013-10-20 When glob pattern contains a trailing slash match only
27723           directories. Fixes bug 10278.
27724         2013-09-04 glob: silence -Wattribute warnings
27725         2013-06-07 Avoid use of "register" as optimization hint.
27726         2012-09-25 Use size_t instead of int for internal variables in glob
27727           (bug 14621)
27728         2011-07-20 Check for overflows in expressions
27729         2011-05-28 Remove unused variable
27730         2011-05-22 Add a few more alloca size checks
27731         2010-03-27 Whitespace fixes
27732         2010-03-27 Fix one more issue with the glob patch
27733         2010-03-24 Fix glob with empty pattern
27734         2008-05-27 Remove useless more "if" tests before "free"
27735         * modules/glob (Depends-on): Add stdint.
27737 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
27739         mktime: port to stricter signed overflow checking
27740         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
27741         (long_int): Require width for INT_MAX * 3 * (seconds per year),
27742         instead of merely for INT_MAX * 2.  In practice platforms that
27743         do the latter also do the former.
27744         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
27745         (shr): New static function, replacing SHR.  All uses changed.
27746         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
27747         and TIME_T_MAX.  All uses changed.
27748         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
27749         Use long_int, not time_t.
27750         (long_int_avg): New static function, replacing time_t_avg.
27751         All uses changed.  Round toward positive infinity, as that
27752         generates slightly better code.
27753         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
27754         by INT_ADD_WRAPV.
27755         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
27756         (convert_time): New static function.
27757         (ranged_convert): Use it
27758         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
27759         Use simpler test for loop exit.
27760         (__mktime_internal): Store negative of guessed offset, to simplify
27761         overflow checking.  Remove no-longer-needed test for small time_t
27762         overflows.
27764         mktime: speed up DEBUG_MKTIME benchmarks
27765         Call tzset just once, at the start, rather than for every test
27766         case.  This lets us measure the CPU cost of mktime as opposed to
27767         that of tzset.  This is relevant when TZ is not set and glibc is
27768         being used.  This speeds up tests by a factor of 40 on my Fedora
27769         23 x86-64 platform.
27770         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
27771         to call tzset and as a sanity check.  Later on, use localtime_r
27772         instead of localtime.
27774         mktime: resurrect DEBUG_MKTIME testing
27775         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
27776         Include <string.h>, for strcmp.
27778         mktime: simplify DEBUG_MKTIME
27779         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
27780         Simplify later usage accordingly.
27782         Port mktime_internal offset to unsigned time_t
27783         This avoids some assumptions about wraparound arithmetic on
27784         signed integer overflow.
27785         * lib/mktime-internal.h (mktime_offset_t): New type.
27786         (mktime_internal): Use it in decl.
27787         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
27789         * lib/mktime.c (__mktime_internal, localtime_offset):
27790         * lib/timegm.c (timegm): Use it.
27791         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
27792         (gl_FUNC_MKTIME): Require it.
27794 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
27796         xstrtol: prohibit monstrosities like "1bB"
27797         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
27798         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
27799         "B" only if the first suffix needs a base.
27800         * tests/test-xstrtol.sh: Test this.
27802 2016-04-21  Pádraig Brady  <P@draigBrady.com>
27804         xstrtod: reinstate setting of *result upon ERANGE
27805         * lib/xstrtod.c (XSTRTOD): The user may decide to use
27806         the returned limits upon ERANGE, so allow and document that.
27808 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
27810         xstrtod: modify *result only if no errors
27811         * lib/xstrtod.c (XSTRTOD).
27813 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
27815         btowc: document problems in C locale
27816         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
27817         with mbrtowc.  See: http://bugs.gnu.org/23269#32
27819 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27821         mktime: improve integer overflow checking
27822         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
27823         (WRAPV): Remove; no longer needed.
27824         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
27825         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
27826         Remove.  Use intprops.h defns instead.
27827         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
27828         Use bool for Boolean, for clarity.
27829         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
27830         detect integer overflow.
27831         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
27833         intprops: check two's complement assumption
27834         Suggested by Eric Blake in:
27835         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
27836         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
27837         short, int, long, and (if available) long long are two's complement.
27838         * modules/intprops (Depends-on): Add 'verify'.
27840         intprops, mktime, strtol: assume two's complement
27841         These macros were not portable to every conforming C11 ones'
27842         complement platform.  It's not worth the hassle of porting to some
27843         platforms that use ones' complement or signed magnitude, as such
27844         platforms are almost purely theoretical nowadays and porting even
27845         to some of them makes the code harder to review for little
27846         practical benefit.  Problem reported by Florian Weimer in:
27847         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
27848         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
27849         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
27850         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
27851         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
27852         (TYPE_SIGNED_MAGNITUDE):
27853         Remove.  All uses rewritten to assume two's complement, which is
27854         all we can reasonably test nowadays anyway.
27855         * top/maint.mk (_intprops_names): Remove the removed macros.
27857 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
27859         stdint: port to strict C11 left shift
27860         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
27861         Pacify clang -Wshift-negative-value, which should be an issue only
27862         on clang setups where stdint.h does not conform to C11 or to C++11.
27863         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
27865 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
27867         mbrtowc: work around glibc bug#19932
27868         Fix mbrtowc so that it never returns -1 in the C locale,
27869         as this conflicts with a future version of POSIX
27870         http://austingroupbugs.net/view.php?id=663#c2738
27871         and causes problems with GNU grep: http://bugs.gnu.org/23234
27872         See glibc bug 19932:
27873         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
27874         * doc/posix-functions/mbrlen.texi (mbrlen):
27875         * doc/posix-functions/mbrtowc.texi (mbrtowc):
27876         Document the glibc bug.
27877         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
27878         Include hard-locale.h, locale.h.
27879         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
27880         if the bug is possible.
27881         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
27882         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
27883         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
27884         * modules/mbrtowc (Depends-on): Add hard-locale.
27885         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
27886         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
27887         * tests/test-mbrtowc5.sh: New file.
27889 2016-04-03  Pedro Alves  <palves@redhat.com>
27891         stdint: detect good enough pre-C++11 stdint.h in C++ mode
27892         When gnulib is configured in C++ mode for a system with a working C99
27893         implementation of stdint.h that predates C++11, gnulib ends up
27894         substituting stdint.h anyway.  This works on most targets, but on e.g.,
27895         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
27896         MinGW is LLP64.  Instead of trying to detect the right types, detect
27897         good-enough-pre-C++11 stdint.h and in such case define
27898         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
27899         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
27900         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
27901         conforms to C99.  If it does, check whether it hides symbols
27902         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
27903         does, define those macros in config.h.
27905 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27907         argp: merge changes from glibc
27908         Among other things, this should fix problems found by a Coverity
27909         scan and reported by Andrei Borzenkov:
27910         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
27911         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
27912         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
27913         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
27914         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
27915         * lib/argp.h:
27916         Merge changes from glibc.
27917         * tests/test-argp-2.sh: Adjust to match new behavior.
27919 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
27921         stddef: support configuring with g++
27922         Problem reported by Ángel González in:
27923         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
27924         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
27925         Do not define if _GCC_MAX_ALIGN_T is defined.
27927 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
27929         test-framework-sh: minor cleanups
27930         * tests/init.sh (testdir_prefix_): Output a trailing newline,
27931         since strictly speaking POSIX requires this.
27932         (setup_): Do not use the variable 'fail', as that makes the
27933         trace output harder to read ('fail' is typically used by
27934         tests to mean the test failed).  Treat // portably.
27935         Check that new directory is not merely a sibling of the tmp dir.
27936         Avoid unnecessary invocation of tr.
27938         test-framework-sh: revert port to NetBSD 7.0
27939         It was a false alarm; I misinterpreted Assaf Gordon's report.
27940         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
27941         Restore.
27942         (test_dir_): Adjust to mktempd_ change.
27943         (mktempd_): Restore 2nd arg.  Use -t again.
27944         (base_template_, template_, nx_): Resurrect old code.
27946         Port better to Alpine Linux
27947         Its diff implementation does not support -c, but does support -U3.
27948         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
27949         * tests/init.sh (diff_opt_): New var.
27950         (compare_): Prefer diff -U3 to diff -c to plain diff.
27952 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
27954         test-framework-sh: port to NetBSD 7.0
27955         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
27956         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
27957         Remove.  All uses removed.
27958         (test_dir_): Adjust to mktempd_ change.
27959         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
27960         (base_template_, template_, nx_): Simplify by hardcoding.
27962 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
27964         gitlog-to-changelog: suppress ignored chatter
27965         * build-aux/gitlog-to-changelog: Do not warn about skipping
27966         an SHA if it would have been ignored anyway.
27968 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
27970         setlocale: add "sv" to Windows language table
27971         * lib/setlocale.c (language_table) [W32]: Add "sv".
27972         Reported in <https://savannah.gnu.org/bugs/?44588>.
27974 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27976         sys_select: port to new Cygwin
27977         Problem reported by Ken Brown in:
27978         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
27979         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
27980         diagnostics.
27982 2016-03-17  Jim Meyering  <meyering@fb.com>
27984         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
27985         * tests/test-userspec.c (main): Remove unnecessary braces and fix
27986         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
27987           test-userspec.c:176:9: error: statement is indented as if it were \
27988             guarded by... [-Werror=misleading-indentation]
27989                    {
27990                    ^
27991           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
27992                  if (!diag && !T[i].result)
27993                  ^~
27995 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
27997         time_rz: port to clang -Wunused-const-variable
27998         * lib/time_rz.c (TZ): Remove.  All uses removed.
28000         std-gnu11: improve clang support
28001         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
28002         2016-03-15 Also try clang
28003         2016-03-15 Port C11 and C++11 testing to clang
28005         select: port more to Intel 2016.1.150 compiler
28006         Problem reported by Balázs Hajgató in:
28007         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
28008         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
28010 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
28012         select: try to port to 2016.1.150 compiler
28013         Problem reported by Balázs Hajgató in:
28014         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
28015         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
28016         POSIX specifies 'restrict'.
28018 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
28020         localename-tests: memory allocation fixes
28021         * tests/test-localename.c (test_locale_name)
28022         (test_locale_name_thread): Don't call freelocale on a locale
28023         that was the base of a successful newlocale, as that
28024         results in a double free.  Problem reported by Assaf Gordon.
28025         (test_locale_name_thread): Free saved names after use, to pacify
28026         gcc -fsanitize=address.
28028 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28030         intprops: make .h file license match module
28031         * lib/intprops.h: Change the license wording to match glibc format.
28032         This is what is in modules/intprops anyway.  See:
28033         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
28035 2016-03-08  Eric Blake  <eblake@redhat.com>
28037         acl: fix missing return on Cygwin
28038         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
28039         fall off end of function. Fixes http://bugs.gnu.org/22949
28041 2016-03-05  Bruno Haible  <bruno@clisp.org>
28043         extern-inline: port to PGI CC
28044         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
28045         keyword 'inline'.
28046         Reported by Adam James Stewart in:
28047         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
28049 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
28051         signbit: port back to pre-C++11 GCC
28052         * lib/math.in.h (signbit): Do previous change only if
28053         __cplusplus < 201103.  See Jonathan Wakely in:
28054         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
28056 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
28058         mountlist: recognize autofs-mounted remote file systems, too
28059         Originally reported at: https://bugzilla.redhat.com/1309247
28060         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
28061         "-hosts" because it is used by autofs to mount remote file systems.
28063 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
28065         signbit: port to C++ with GCC 6
28066         * lib/math.in.h (signbit) [__cplusplus]:
28067         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
28068         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
28070         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
28072         regex: make it closer to libc
28073         Make Idx a signed type, rather than possibly unsigned.
28074         The unsignedness was not really buying us anything, since the code
28075         overflows for other reasons before getting to PTRDIFF_MAX.  Making
28076         it signed allows us to use -1 and -2 with abandon, like libc does,
28077         thus lessening the number of differences between gnulib and libc.
28078         Also, it should help avoid gratuitous warnings like the one
28079         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
28080         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
28083         regex: merge patches from libc
28085         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
28086         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
28087         Convert miscellaneous function definitions to prototype style.
28088         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
28089         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
28090         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
28091         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
28092         (re_search_internal):
28093         Convert to prototype-style function definition.
28094         Use internal_function for internal functions.
28096 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
28098         stdalign: port to older HP and IBM cc
28099         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
28100         C compilers, by checking their version numbers.  These version
28101         numbers appear in MariaDB and in Qt code that dates way back and
28102         that conditiionally uses the 'aligned' attribute.
28104 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
28106         stdalign: port to clang 3.7.0
28107         Problem reported by Herbert J. Skuhra in:
28108         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
28109         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
28110         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
28111         https://llvm.org/bugs/show_bug.cgi?id=26547
28113 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
28115         readdir_r: now obsolescent
28116         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
28117         * lib/mountlist.c (read_file_system_list): Add a FIXME.
28119 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
28121         misc: port better to gcc -fsanitize=address
28122         Without these patches, ./configure CFLAGS='-fsanitize=address'
28123         would compute incorrect values.  This patch fixes some (but not all)
28124         test failures with recent glibc, with this configuration.
28125         * m4/acl.m4 (gl_ACL_GET_FILE):
28126         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
28127         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
28128         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
28129         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
28130         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
28131         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
28132         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
28133         * m4/getline.m4 (gl_FUNC_GETLINE):
28134         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
28135         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
28136         * m4/regex.m4 (gl_REGEX):
28137         * m4/strndup.m4 (gl_FUNC_STRNDUP):
28138         * tests/test-calloc-gnu.c (main):
28139         * tests/test-duplocale.c (main):
28140         * tests/test-getgroups.c (main):
28141         * tests/test-getline.c (main):
28142         * tests/test-inttostr.c (main):
28143         * tests/test-localename.c (test_locale_name)
28144         (test_locale_name_thread, test_locale_name_environ)
28145         (test_locale_name_default):
28146         * tests/test-regex.c (main):
28147         * tests/test-setlocale1.c (main):
28148         * tests/test-stat.h (test_stat_func):
28149         Free heap-allocated storage before exiting.
28150         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
28151         Don't match *_foo symbols inserted by AddressSanitizer.
28152         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
28154 2016-02-02  Jim Meyering  <meyering@fb.com>
28156         verify-tests: also remove stray test-verify.Tpo
28157         * modules/verify-tests (Makefile.am): Arrange for "make clean"
28158         to remove the test-verify.Tpo file that is left behind by
28159         the automake-generated rule upon compilation failure.
28160         Otherwise, that .Tpo file would cause a failed "make distcheck"
28161         at least for grep.
28163 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28165         std-gnu11: new module
28166         This makes it easier for applications to prefer C11 and C++11
28167         to older variants, when compiling C and C++ code.
28168         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
28169         a nontrivial chunk of GPLed Autoconf source code.
28170         * COPYING: Mention the m4/*.m4 copyright situation.
28171         * MODULES.html.sh (std-gnu11): New module.
28172         * m4/std-gnu11.m4, modules/std-gnu11: New files.
28174 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28176         get-permissions, strftime: fix grammar in comments
28177         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
28178         some grammar fixes Alan Mackenzie made to GNU Emacs.
28180 2016-01-25  Daiki Ueno  <ueno@gnu.org>
28182         gettext: mark as obsolete
28183         Suggested by Paul Eggert in:
28184         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
28185         * modules/gettext (Status): Mark as obsolete.
28186         (Notice): Suggest to use 'gettext-h' instead.
28187         * modules/gettext-h (Description): Suggest GNU gettext, instead of
28188         the 'gettext' module.
28190 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28192         gnulib-tool: don't give up on ln -s so easily
28193         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
28194         because an earlier one failed.  The targets could be on different
28195         file systems.  Problem reported by KO Myung-Hun in:
28196         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
28198         closedir: fix OS/2-related typos
28199         Problem reported by KO Myung-Hun in:
28200         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
28201         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
28202         in the last couple of changes.
28204 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
28206         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
28207         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
28208         copying a directory.
28210 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28212         regex: treat [x] as x if x is a unibyte encoding error
28213         Problem reported by Aharon Robbins in:
28214         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
28215         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
28216         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
28218         closedir, dirfd, opendir: port to OpenSolaris 5.10
28219         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
28220         * m4/dirfd.m4 (gl_FUNC_DIRFD):
28221         * m4/opendir.m4 (gl_FUNC_OPENDIR):
28222         Don't use ${word##pat} substitution, as it doesn't work in
28223         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
28224         http://bugs.gnu.org/22443#11
28226 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
28228         bootstrap: use American spelling
28229         * build-aux/bootstrap: Honor American spelling.
28231 2016-01-22  Karl Berry  <karl@freefriends.org>
28233         * doc/posix-functions/localtime.texi,
28234         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
28236 2016-01-21  Bruno Haible  <bruno@clisp.org>
28238         hash-pjw-bare: fix comment
28239         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
28241         wcwidth: Replace also on OpenBSD 5.8
28242         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
28243         * doc/posix-functions/wcwidth.texi: Update.
28245 2016-01-20  Pádraig Brady  <P@draigBrady.com>
28247         gnu-web-doc-update: fix addition of new files
28248         If there were already added (emnpty) dirs,
28249         then cvs aborts the add with the message:
28250           cvs [add aborted]: there is a version in <./dirname> already
28251         * build-aux/gnu-web-doc-update: Add directories separately
28252         to the addition of files, to avoid the above issue
28253         impacting the addition of files.
28255 2016-01-19  Daiki Ueno  <ueno@gnu.org>
28257         utimens-tests: avoid pulling gettext .m4 files
28258         Although this is not the right fix to the original problem:
28259         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
28260         it makes it possible again for consumer projects to use arbitrary
28261         version of gettext, through the steps described at:
28262         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
28263         See here for details:
28264         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
28265         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
28266         'gettext'.
28267         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
28268         'gettext'.
28270 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
28272         regex: pacify static checkers
28273         Problem and draft fix reported by Aharon Robbins in:
28274         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28275         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
28276         Clear memory to pacify static checkers.
28278         regex: fix [ diagnostic
28279         Problem and fix reported by Aharon Robbins in:
28280         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28281         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
28283         regex: fix memory leaks
28284         Problem and draft fix reported by Aharon Robbins in:
28285         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28286         * lib/regcomp.c (build_range_exp, build_charclass_op)
28287         * lib/regex_internal.c (re_dfa_add_node):
28288         Fix memory leak on failure.
28290 2016-01-18  Pádraig Brady  <P@draigBrady.com>
28292         fts: don't unconditionally use leaf optimization for NFS
28293         NFS st_nlink are not accurate on all implementations,
28294         leading to aborts() if that assumption is made.
28295         See <https://bugzilla.redhat.com/1299169>
28296         * lib/fts.c (leaf_optimization_applies): Remove NFS from
28297         the white list, and document the issue.
28299 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28300             KO Myung-Hun  <komh@chollian.net>
28302         gnulib-tool: don't assume ln -s works
28303         * gnulib-tool (func_ln_s): New function.
28304         (func_ln): Use it.
28306 2016-01-15  KO Myung-Hun  <komh@chollian.net>
28308         utimes: detect utimes() correctly on OS/2 kLIBC
28309         utimes() of OS/2 kLIBC has some limitations.
28310         1. OS/2 itself supports a file date since 1980 year in local time.
28311         2. OS/2 itself supports only even seconds for a file time.
28312         3. utimes() of OS/2 kLIBC does not work on an opened file.
28313         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
28314         * doc/posix-functions/utimes.texi: Document the above limitations of
28315         utimes() on OS/2 kLIBC.
28317 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28318             KO Myung-Hun  <komh@chollian.net>
28320         openat_proc_name: port to OS/2 kLIBC
28321         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
28322         instead of /proc/self/fd.
28323         * lib/openat-proc.c (openat_proc_name):
28324         Don't assume file name length is less than INT_MAX.
28325         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
28327 2016-01-14  KO Myung-Hun  <komh@chollian.net>
28329         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
28330         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
28331         definitions of intptr_t and uintptr_t (which use int and unsigned)
28332         to avoid clashes with declarations of system functions like sbrk.
28333         * lib/stdint.in.h (intptr_t, uintptr_t): Check
28334         _INTPTR_T_DECLARED before defining them.
28336         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
28337         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
28338         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
28339         Declare on kLIBC.
28340         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
28341         fd associated with dirp.
28342         (_gl_register_dirp_fd): New. Register fd associated with dirp to
28343         dirp_fd_list.
28344         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
28345         (dirfd): Implemented for kLIBC.
28346         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
28347         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
28348         succeeds.
28349         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
28350         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28351         (REPLACE_DIRFD): Define to 1 if replaced.
28352         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
28353         * modules/closedir (Depends-on): Add dirfd.
28354         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
28355         condition.
28356         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
28357         * modules/opendir (Depends-on): Add dirfd.
28359         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
28360         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
28361         * lib/dup.c (dup_nothrow): New.
28362         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
28363         (klibc_dup2): New.
28364         * lib/fcntl.c (klibc_fcntl): New.
28365         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
28366         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
28367         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
28368         fd.
28370         pipe_filter_ii_execute: port to OS/2 kLIBC
28371         Pipes on kLIBC do not support O_NONBLOCK like Win32.
28372         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
28373         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
28374         Reuse Win32 code on OS/2 kLIBC.
28375         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
28376         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
28378         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
28379         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
28380         static inline function.  The implementation of wcwidth in wcwidth.c
28381         causes a "conflicting types" error.
28382         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
28384         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
28385         spawn() on OS/2 kLIBC is not silly like one on Windows
28386         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
28387         empty string on OS/2 kLIBC.
28389         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
28390         On OS/2 kLIBC, select() works only on sockets.
28391         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
28393         binary-io: don't put fd in binary mode if it is a console on EMX
28394         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
28395         a console on EMX.
28397 2016-01-15  Pádraig Brady  <P@draigBrady.com>
28399         doc: mention unfixed issues with unsupported localtime() values
28400         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
28401         returns nonsense for localtime(2^56).
28402         * doc/posix-functions/localtime_r.texi: Likewise.
28404 2016-01-14  Pádraig Brady  <P@draigBrady.com>
28406         doc: mention setlocale() issues on OpenBSD
28407         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
28408         never fails, and the need to check categories individually.
28410 2016-01-14  Pádraig Brady  <P@draigBrady.com>
28412         sig2str: list all signals on FreeBSD >= 7
28413         FreeBSD >= 7 is contravening POSIX by not defining NSIG
28414         to the maximal statically defined signal value.
28415         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
28416         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
28417         where available, even when NSIG is defined.
28419 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
28421         acl-permissions: port to USE_ACL==0 platforms
28422         I ran into this problem when building bleeding-edge GNU Emacs
28423         with gcc -fsanitize=address on Fedora 23.  On this platform
28424         the ACL library does not pass the 'configure' test and Emacs
28425         then does not build due in part to what appear to be typos in the
28426         ACL part of Gnulib.
28427         * lib/acl-internal.c (free_permission_context):
28428         * lib/acl-internal.h (struct permission_context):
28429         Test whether USE_ACL is nonzero, not whether it is defined.
28431 2016-01-12  Martin Sebor  <msebor@redhat.com>
28433         mktime: rename macro to avoid glibc clash
28434         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
28435         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
28437 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
28439         Port "$@" to OpenIndiana ksh93
28440         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
28441         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
28442         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
28443         bug long-dead shells, so remove the workaround.
28444         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
28445         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
28446         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
28447         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
28448         Use "$@" instead of ${1+"$@"}.
28450         Port Universal Time settings to strict POSIX
28451         * build-aux/announce-gen, build-aux/bootstrap:
28452         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
28453         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
28454         * build-aux/gnupload, build-aux/mkinstalldirs:
28455         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
28456         * build-aux/update-copyright, build-aux/useless-if-before-free:
28457         * build-aux/vc-list-files, tests/test-strftime.c:
28458         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
28459         but POSIX says the behavior of TZ="UTC" is undefined.
28461 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
28463         msvc-inval: fix problem with unset shell var
28464         Problem reported by Karl Berry in:
28465         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
28466         * modules/msvc-inval (Depends-on):
28467         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
28468         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
28470 2016-01-01  Pádraig Brady  <P@draigBrady.com>
28472         tests: for compare_(), use cmp -s where available
28473         * tests/init.sh (compare_): Only fall back to cmp without
28474         the POSIX defined -s option, where this is not available.
28476 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
28478         version-etc: new year
28479         * build-aux/gendocs.sh (version):
28480         * doc/gendocs_template:
28481         * doc/gendocs_template_min:
28482         * doc/gnulib.texi:
28483         * lib/version-etc.c (COPYRIGHT_YEAR):
28484         Update copyright dates by hand in templates and the like.
28485         * all files: Run 'make update-copyright'.
28487 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
28489         human: fix output buffer overrun by 1
28490         * lib/human.c (human_readable): Fix off-by-one typo in buffer
28491         calculation that could lead to a one-byte buffer overrun.
28493 2015-12-28  Daiki Ueno  <ueno@gnu.org>
28495         maint: fix operator precedence in mbrtowc test
28496         This is a fix for test breakage introduced by commit 45228d96; the
28497         equality expression must be parenthesized when negated with '!',
28498         otherwise we always get:
28500           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
28502         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
28503         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
28505 2015-12-23  James Youngman  <jay@gnu.org>
28507         regexprops-generic: update from regex.h
28508         * doc/regexprops-generic.texi: update by running the regexprops binary
28509         from findutils (the command line is 'regexprops "Regular Expressions"
28510         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
28511         gnulib with GNU grep had made this document out-of-date.
28513 2015-12-23  Pádraig Brady  <P@draigBrady.com>
28515         strftime-tests: avoid false failure on OS X
28516         * tests/test-strftime.c (struct localtime_rz_test): Add an
28517         ahistorical member which is used to warn rather than fail
28518         when tm_isdst isn't set for such entries.  This is the case for
28519         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
28521 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
28523         fts: ensure leaf optimization is used for NFS
28524         NFS provides usable dirent.d_type but not necessarily for all entries
28525         of large directories.  See <https://bugzilla.redhat.com/1252549>
28526         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
28528 2015-12-20  Pádraig Brady  <P@draigBrady.com>
28530         fts: enable leaf optimization for XFS
28531         XFS provides usable dirent.d_type only for DT_DIR,
28532         but the noleaf optimization still applies.
28533         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
28535 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
28537         intprops: comment fix
28538         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
28539         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
28541         intprops-test: work around GCC bug 68971
28542         Problem reported by Pádraig Brady in:
28543         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
28544         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
28545         (main): Add a case that better tests 64-bit long in this area.
28547 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
28549         gnulib-tool: allow multiple --local-dir usage
28550         * gnulib-tool: Use --local-dir to construct compound
28551         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
28552         PATH_SEPARATOR early.
28553         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
28554         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
28555         func_determine_path_separator because that needs to be detected
28556         earlier now.
28557         (func_determine_path_separator): New function.
28558         (func_path_foreach, func_path_foreach_inner): New functions.
28559         (func_path_prepend, func_path_append): Likewise.
28560         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
28561         (func_lookup_file, func_all_modules): Use new functions to work
28562         with local_gnulib_path.
28563         (func_modules_in_dir, func_exists_module): New callbacks for
28564         func_path_foreach.
28565         (func_exists_module, func_get_tests_module): Likewise.
28566         (func_is_local_file, func_should_symlink): New helper methods.
28567         (func_add_file, func_update_file): Use new func_should_symlink
28568         instead, DRY.
28569         (func_reconstruct_cached_local_gnulib_path): New helper.
28570         (func_reconstruct_cached_dir): New callback.
28571         (func_import): The cached_local_gnulib_dir renamed to
28572         cached_local_gnulib_path similarly to local_gnulib_dir.
28573         Use new func_reconstruct_cached_local_gnulib_path.
28574         (func_count_relative_local_gnulib_path): New sub-method.
28575         (func_create_testdir): Use func_should_symlink, DRY.
28576         (func_create_megatestdir): Use new functions to work with
28577         local_gnulib_path correctly.
28578         (func_append_local_dir): New helper.
28580 2015-12-08  Pádraig Brady  <P@draigBrady.com>
28582         fix freadptr to work with ungetc on all uClibc configs
28583         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
28584         where GNU coreutils cut(1) generates invalid output on uClibc
28585         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
28586         * lib/freadptr.c (freadptr): Return NULL if there are
28587         ungotten chars.  In this case freadseek() will iterate
28588         again to process the ungotten character.
28590 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
28592         xalloc-oversized: improve performance with GCC 5
28593         * lib/xalloc-oversized.h (xalloc_oversized):
28594         Improve performance with GCC 5 by using __builtin_mul_overflow.
28596 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
28598         intprops: new public macro EXPR_SIGNED
28599         Emacs can use this macro, so make it public.
28600         * doc/intprops.texi (Arithmetic Type Properties): Rename from
28601         'Integer Type Determination', since some of these macros apply
28602         to non-integer types.  Clarify what kinds of constant expressions
28603         these macros return.  Say when the arguments can be non-integers.
28604         Mention newly published macro EXPR_SIGNED.
28605         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
28606         make it public.  All uses changed.
28608         intprops: fix typo in clang port
28609         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
28610         '__builtin_add_overflow' that is not caught by compiler.
28612 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
28614         test-timespec: fix typo in previous change
28615         * tests/test-timespec.c (main): Fix typo that reduced test quality.
28617         timespec-sub: fix overflow bug; add tests
28618         * lib/timespec-add.c (timespec_add):
28619         * lib/timespec-sub.c (timespec_sub):
28620         Work even if time_t is narrower than int (a theoretical
28621         possibility).  Redo code for a bit more clarity.
28622         * lib/timespec-sub.c (timespec_sub):
28623         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
28624         * modules/timespec-tests, tests/test-timespec.c: New files.
28626         intprops-test: suppress -Woverlength-strings
28627         Problem reported by Pádraig Brady in:
28628         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
28629         It is not worth the hassle to port this test to compilers that
28630         cannot handle long strings in diagnostics.
28631         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
28633 2015-11-03  Pádraig Brady  <P@draigBrady.com>
28635         quotearg: add quotearg_n_style_colon()
28636         This quotes with default options of the specified style,
28637         but with quoting enabled for instances of ':'.
28638         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
28639         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
28641 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28643         intprops: revise _WRAPV macros, revert _OVERFLOW
28644         The incompatible changes to the _OVERFLOW macros were too much of
28645         a hassle in practice, so revert them.  Instead, change the new
28646         _WRAPV macros to make them closer in behavior to GCC 5's new
28647         builtin_add_overflow etc. functions.  No other software was using
28648         these newly-added macros yet, so this should be OK.
28649         * NEWS: Revert previous change, since the incompatible change
28650         has been reverted, and nobody used the incompatible version.
28651         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
28652         Document revised behavior.
28653         (Integer Range Overflow): Adjust example to match above revisions.
28654         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
28655         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
28656         these can be used in integer constant expressions again.
28657         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
28658         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
28659         needed.
28660         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
28661         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
28662         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
28663         Remove, as they did not seem that useful.
28664         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
28665         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
28666         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
28667         Support new semantics.
28668         (__has_builtin): New macro, if not alreay defined.
28669         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
28670         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
28671         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
28672         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
28673         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
28674         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
28675         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
28676         New macros.
28677         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
28679 2015-11-03  Jim Meyering  <meyering@fb.com>
28681         intprops: add parentheses for when OP has precedence lower than "-"
28682         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
28683         "a OP b" must be parenthesized for when OP is like "<<", which has
28684         lower precedence than the following "-". Reported by Pádraig Brady.
28686 2015-11-03  Pádraig Brady  <P@draigBrady.com>
28688         quotearg: constify get_quoting_style parameters
28689         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
28690         * lib/quotearg.c (get_quoting_style): Likewise.
28692 2015-11-02  Pádraig Brady  <P@draigBrady.com>
28694         quotearg: add support for $'' shell escaping
28695         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
28696         items and descriptions.
28697         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
28698         above types by quoting like "shell", but using $'...' syntax
28699         for non printable characters, which should provide unambiguous
28700         printable output for any input.
28701         * tests/test-quotearg-simple.c: Update accordingly.
28703 2015-11-02  Pádraig Brady  <P@draigBrady.com>
28705         maint: use a more standard return from mbrtowc test
28706         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
28707         from the test program as this is non standard and often
28708         indicates an unhandled case in the test program.
28709         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
28711 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
28713         intprops: add WRAPV and const flavors for GCC 5
28714         If available, use GCC 5's builtin functions for efficient integer
28715         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
28716         and safely compute the low-order bits of the correct answer.
28717         A downside of these efficient functions is that they cannot be
28718         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
28719         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
28720         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
28721         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
28722         Document the changes.
28723         (Wraparound Arithmetic): New section.
28724         (Integer Range Overflow):
28725         Put this subsection last, since it's least useful.
28726         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
28727         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
28728         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
28729         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
28730         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
28731         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
28732         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
28733         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
28734         New macros.
28735         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
28736         Generate calls to GCC builtins if available, for speed.
28737         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
28738         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
28739         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
28740         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
28741         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
28742         (CHECK_QUOTIENT, CHECK_REMAINDER):
28743         Test WRAPV and CONST flavors (when available) too.
28745 2015-10-30  Pádraig Brady  <P@draigBrady.com>
28747         doc: use extended timezone format in iso-8601 example
28748         * doc/parse-datetime.texi: The standard states that extended format
28749         is to be used consistently throughout.
28750         Note that lib/parse-datetime.y can handle either tz format.
28752 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
28754         stdalign: port to Sun C 5.9
28755         * doc/posix-headers/stdalign.texi: Document this.
28756         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
28757         __attribute__ ((__aligned__ (...))).
28759 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
28761         time_rz: fix comment about tzalloc
28762         * lib/time_rz.c (tzalloc): Fix comment.
28764 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
28766         stdalign: work around pre-4.9 GCC x86 bug
28767         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
28768         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
28769         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
28771 2015-10-18  Pádraig Brady  <P@draigBrady.com>
28773         maint.mk: sc_tight_scope: remove extraneous expressions
28774         * top/maint.mk (tight_scope): This is not really required since
28775         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
28776         that matches all nm entries.  But it does remove extraneous entries
28777         that may be confusing or cause issue in future maintenance.
28779 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
28781         time_rz: return NULL if localtime_r fails
28782         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
28783         while still attempting to pacify bleeding-edge GCC.
28785         fts: port to C11 alignof
28786         * doc/posix-headers/stdalign.texi (stdalign.h):
28787         Document the C11 restriction.
28788         * lib/fts.c: Include stddef.h, for max_align_t.
28789         (fts_alloc): Align using max_align_t, not FTSENT.
28790         * modules/fts (Depends-on): Add stddef.
28792 2015-10-18  Jim Meyering  <meyering@fb.com>
28794         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
28795         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
28796         would see this:
28798         lib/time_rz.c: In function 'localtime_rz':
28799         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
28800           [-Werror=nonnull]
28801                    if (tm && !save_abbr (tz, tm))
28802                        ^
28804         That was complaining about "tm" because it is a parameter that was
28805         declared with the __nonnull__ attribute.
28806         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
28807         result of localtime_r.
28809 2015-10-17  Jim Meyering  <meyering@fb.com>
28811         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
28812         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
28813         name-extraction regexp mistakenly used \S+, and would mistakenly
28814         extract "*F" from "extern int *F()" rather than the desired "F".
28815         Use \w+ instead.
28817 2015-10-17  Jim Meyering  <meyering@fb.com>
28819         maint.mk: sc_tight_scope: factor and support OS X
28820         * top/maint.mk (_gl_tight_scope): Address three issues:
28821         - factor out four instances of code that wraps a string in "^...$"
28822         - allow nm-reported symbol names to have an optional leading "_"
28823         - add "main" to the list of ignored variable names, because on os x,
28824         "main" has nm-reported type "S" in the variable-checking section.
28826 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
28828         safe-alloc-tests: fix typo in license header
28829         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
28831 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
28833         copy-file: fix mem leak in error case
28834         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
28835         upon error opening or performing I/O to the src and dest files.
28837 2015-10-15  Mike Frysinger  <vapier@chromium.org>
28839         localename: control langinfo.h inclusion
28840         This header is only used to work around buggy behavior in old
28841         versions of glibc, so do not include it all the time.  Otherwise
28842         we get build failures on systems that do not provide langinfo.h.
28843         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
28844         in the source later on.
28845         The patch was originally submitted to gettext as:
28846         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
28848 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28850         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
28851         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
28852         * lib/u64.c, lib/unistd.c:
28853         Append 'typedef int dummy;', to pacify compilers that are picky
28854         about empty translation units.
28856 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
28858         accept4-tests: fix to avoid non portable flags
28859         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
28860         as they are the only documented ones, and passing others may trigger
28861         EINVAL (seen on FreeBSD 10.1-RELEASE).
28862         * doc/glibc-functions/accept4.texi: Mention that we don't provide
28863         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
28865 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
28867         gnulib-tool: fix tests of 'extensions' module
28868         This complements f8fe25fab60e3c687a124 commit.
28869         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
28870         emitting of initial gl_EARLY macros.
28871         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
28872         replaced with func_emit_pre_early_macros call.
28874 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
28876         unicase/locale-language: fix typo in utf-8 cookie
28877         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
28878         Problem reported by Zbigniew Jędrzejewski-Szmek.
28880 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
28882         xalloc: do not worry about GCC 5 warning on 32 bit
28883         * lib/xalloc.h: Revert previous change.
28884         I found a better way to fix this in coreutils.
28886 2015-10-02  Pádraig Brady  <P@draigBrady.com>
28888         xalloc: avoid GCC 5.1 warning on 32 bit
28889         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
28890         xalloc_oversized(), which was seen to give this warning
28891         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
28892         when simplifying conditional".
28894 2015-10-02  Daiki Ueno  <ueno@gnu.org>
28896         uniname/uniname-tests: avoid compiler warnings
28897         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
28898         unused local variables.
28899         (test_alias_lookup): Fix alias name display in failure cases.
28901 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
28903         c-ctype: do not worry about EBCDIC + char signed
28904         Drop support for EBCDIC with char being signed, as this breaks too
28905         many programs.  Problem reported by Ben Pfaff in:
28906         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
28907         * lib/c-ctype.h: Verify that we are not using EBCDIC with
28908         char being signed.
28909         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
28910         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
28911         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
28912         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
28913         * tests/test-c-ctype.c (test_all):
28914         Simplify by assuming standard char values cannot be negative.
28915         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
28917 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
28919         c-ctype: port better to z/OS EBCDIC
28920         Problems reported by Daniel Richard G. in:
28921         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
28922         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
28923         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
28924         (_C_CTYPE_OTHER_CNTRL): New macro.
28925         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
28926         from SCHAR_MIN, as the functions are defined only from values
28927         promoted from char or from unsigned char, not necessarily from
28928         signed char.
28930 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
28932         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
28934         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
28935         and ARFLAGS variables.  Doing this unconditionally could break
28936         later Automake's AM_PROG_AR invocation (at least it's
28937         AC_CHECK_TOOLS call to detect correct 'ar' binary).
28939         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
28940         Amsterdam Compiler Kit, so make the previous code to have effects
28941         only on ACK, and rather automatically call the Automake's
28942         AM_PROG_AR as soon as possible to decide other cases.
28944         References:
28945         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
28947         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
28948         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
28949         is possible, keep setting AR/ARFLAGS to reasonable defaults.
28950         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
28951         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
28952         'extensions' module is used.
28953         * modules/extensions (configure.ac-early): Remove as this snippet
28954         is added to gnulib-comp.m4 earlier anyway.
28956 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
28958         sockets: MS Windows initalization fixes
28959         Problem reported by Test User in:
28960         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
28961         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
28962         Correct the endianness.
28963         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
28964         number mismatch, not just on <.  Cleanup before any such failure.
28966 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
28968         gc: fix detection of installed libgcrypt version
28969         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
28970         at least as recent as 1.4.4.  The previously used macro is not
28971         available now, since modules were removed in version 1.6.0.
28973 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
28975         c-ctype: rewrite to use inline functions
28976         This simplifies maintenance, since it makes for just one
28977         implementation of each function, letting the compiler have the fun
28978         of optimization.  In practice this works well nowadays with GCC.
28979         E.g., c_isascii might need only three instructions even though the
28980         source code lists every ASCII character individually in a large
28981         switch statement.
28982         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
28983         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
28984         * NEWS: Document the API change.
28985         * lib/c-ctype.c: Drastically simplify, since this now just expands
28986         inline functions.
28987         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
28988         (C_CTYPE_INLINE): New macro.
28989         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
28990         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
28991         Verify that either ASCII or EBCDIC is being used.
28992         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
28993         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
28994         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
28995         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
28996         New private macros.
28997         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
28998         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
28999         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
29000         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
29001         (c_tolower, c_toupper): When converting, return the unsigned char,
29002         as that is what z/OS does.
29003         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
29004         of some c-ctype.h macros.
29005         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
29006         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
29007         c_tolower promotion to be compatible with z/OS.
29009 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
29011         gitlog-to-changelog: trim only trailing whitespaces
29012         This is fix for --format regression introduced by commit
29013         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
29014         doubled %n string) had no effect anymore.  This format
29015         specification has been used e.g. by GNU paxuitils (commit
29016         edfd8bcc3).
29018         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
29019         newlines in commmit messages.
29021 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
29023         Test that c_iscntrl agrees with iscntrl, etc.
29024         Suggested by Daniel Richard G. in:
29025         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
29026         * modules/c-ctype-tests (Depends-on): Add ctype.
29027         * tests/test-c-ctype.c: Include <ctype.h>.
29028         (NCHARS): New constant.
29029         (test_agree_with_C_locale): New function.
29030         (main): Use it.
29031         (test_all): Use named constants.
29033         c-ctype: improve c_isascii testing
29034         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
29035         Add a test to count the number of ASCII characters.
29037 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29039         savewd: remove SAVEWD_CHDIR_READABLE
29040         It was problematic in the light of file systems that ignore umask.
29041         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
29042         * NEWS: Document this.
29043         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
29044         successful, -1 (setting errno) on failure, rather than something
29045         more complicated than that.
29046         * lib/mkdir-p.c (make_dir_parents):
29047         Do not use SAVEWD_CHDIR_READABLE.
29048         * lib/savewd.c (savewd_chdir):
29049         Remove support for SAVEWD_CHDIR_READABLE.
29050         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
29052         c-ctype: port better to EBCDIC
29053         Problems reported by Daniel Richard G. in
29054         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
29055         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
29056         Include "verify.h".
29057         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
29058         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
29059         Define as enum constants with value false, if not defined, so that
29060         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
29061         code more portable, as both branches of the 'if' are compiled on
29062         all platforms.
29063         (C_CTYPE_EBCDIC): New constant.
29064         Verify that the character set is either ASCII or EBCDIC.
29065         (to_char): New static function.
29066         (c_isascii, c_iscntrl):
29067         Assume standard control-character assignments for EBCDIC.
29068         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
29069         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
29070         Rewrite to use 'if' instead of 'ifdef'.
29071         Use to_char if non-ASCII.  Prefer <= to >=.
29072         Prefer true and false to 1 and 0, for booleans.
29073         (c_iscntrl): Use 'if', not 'ifdef'.
29074         * modules/c-ctype (Depends-on): Add verify.
29075         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
29076         (to_char): New function.
29077         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
29079 2015-09-21  Pádraig Brady  <P@draigBrady.com>
29081         nanosleep: fix return code for interrupted replacement
29082         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
29083         that we return -1 in the case the call is interrupted by a signal,
29084         rather than the current value of 1.
29085         Diagnosed and tested by Daniel Richard G.
29087 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
29089         Diagnose ERE '()|\1'
29090         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
29091         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
29092         track of the set of previously-completed subexpressions available
29093         before the first alternative, and restore this set just before
29094         parsing each subsequent alternative.  This lets us diagnose the
29095         invalid back-reference in the ERE '()|\1'.
29097         regex: merge patches from libc
29099         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
29100         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
29101         * lib/regex_internal.h:
29102         Include <libc-lock.h> instead of <bits/libc-lock.h>.
29104         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
29105         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
29106         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
29107         wcscoll.
29108         * lib/regexec.c (check_node_accept_bytes): Likewise.
29110         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
29111         Fix regex wcrtomb namespace (bug 18496).
29112         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
29113         instead of wcrtomb.
29115         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
29116         Fix regex wctype namespace (bug 18495).
29117         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
29118         instead of towlower.
29119         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
29120         instead of iswlower.  Call __towupper instead of towupper.
29121         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
29122         instead of iswalnum.
29124         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
29125         * lib/regcomp.c (parse_bracket_exp): Initialize type to
29126         COLL_SYM in a couple of places to avoid uninitialized variable
29127         wanings on tilegx gcc 4.8.2.
29129         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
29130         * lib/regex_internal.h: Remove NOT_IN_libc.
29132         2014-11-17  Andreas Schwab  <schwab@suse.de>
29133         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
29135         2014-09-11  Roland McGrath  <roland@hack.frob.com>
29136         Move findidx nested functions to top-level.
29137         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
29138         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
29139         Pass new arguments to findidx.
29140         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
29141         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
29142         Don't #include it inside the function.  Pass new arguments to findidx.
29143         * lib/regex_internal.h:
29144         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
29145         (re_string_elem_size_at): Don't #include it inside the function.
29146         Pass new arguments to findidx.
29148         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
29149         Check if DEBUG is defined in regex_internal.c
29150         * lib/regex_internal.c: Check if DEBUG is defined and is set.
29152 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
29154         ceill: detect buggy OpenBSD implementation
29155         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
29156         which returns zero for small values.  Discussed here:
29157         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
29159 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
29161         mountlist: add me_mntroot field on Linux machines
29162         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
29163         mount_entry so Linux machines based on /proc/self/mountinfo can
29164         distinguish between bind mounts and original mounts.  In reality bind
29165         mounts aren't treated differently than mountroot=/ mounts by the
29166         kernel, but the user often wants these bind mounts distinguished.
29167         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
29168         More details at https://pad.lv/1432871
29170 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
29172         doc: Describe to use multiple instances of gnulib
29173         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
29174         instances of gnulib with different modules can be used, for example one
29175         for a lib and another one for associated tools.
29177 2015-09-01  Pádraig Brady  <P@draigBrady.com>
29179         base32: mark function as __attribute__ const
29180         * lib/base32.h (isbase32): Mark __attribute__ const as
29181         suggested by GCC, and consistent with the base64 module.
29183 2015-08-20  Daiki Ueno  <ueno@gnu.org>
29185         gnulib-tool: don't transform binary files with sed
29186         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
29187         .mo and .class files.
29188         Reported by Denis Denisov.
29190 2015-08-10  Daiki Ueno  <ueno@gnu.org>
29192         gperf: respect silent rules
29193         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
29194         V_GPERF_0 for silent rules.
29195         * modules/iconv_open (Makefile.am): Use V_GPERF.
29196         * modules/unicase/locale-language (Makefile.am): Likewise.
29197         * modules/unicase/special-casing (Makefile.am): Likewise.
29198         * modules/unictype/category-byname (Makefile.am): Likewise.
29199         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
29200         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
29201         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
29202         * modules/unictype/property-byname (Makefile.am): Likewise.
29203         * modules/unictype/scripts (Makefile.am): Likewise.
29204         * modules/uninorm/composition (Makefile.am): Likewise.
29206 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
29208         Improve port of stdalign to C++11
29209         Problem reported by Sundaram in:
29210         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
29211         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
29212         (__alignas_is_defined): Define if C++11 or newer.
29214 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
29216         pmccabe2html: fix gawk regex escaping
29217         * build-aux/pmccabe2html: Add one more backslash to properly
29218         escape the gsub replacement value.  Fixes this error:
29219         gawk: ./build-aux/pmccabe2html:425: \
29220         warning: escape sequence `\&' treated as plain `&'
29222 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
29224         time_rz: port to pedantic memcpy
29225         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
29226         that reject memcpy (..., NULL, 0).
29228 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
29230         time_rz: port better to MinGW
29231         Don't change tzname, as this makes MinGW dump core (Bug#21020).
29232         Instead, store the tzname copy in the struct tm_zone object.
29233         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
29234         * lib/strftime.c [!_LIBC]:
29235         * lib/time_rz.c: Include time-internal.h.
29236         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
29237         name from *TZ rather than from TZNAME, doable because *TZ now has
29238         a tzname_copy member.
29239         * lib/time-internal.h: New file, with contents taken from
29240         lib/time_rz.c.  It's separate because strftime.c now accesses
29241         struct tm_zone members.
29242         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29243         New member tzname_copy.
29244         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
29245         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29246         Initialize tzname_copy member.
29247         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
29248         in tzname_copy member.
29249         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
29250         (restore_tzname): Remove; no longer needed.  All calls removed.
29251         * modules/time_rz (Files): Add lib/time-internal.h.
29253         time: port __need_time_t to MinGW
29254         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
29255         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
29257 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
29259         strftime: fix newly-introduced bug on Solaris
29260         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
29261         consistently at the start, rather than doing some of the setup at
29262         the start and some in the %Z format spec.  This is cleaner, and
29263         works better with time_rz on platforms like Solaris where struct
29264         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
29265         mktime_z and localtime_rz can mess up the tzname cache.
29267         test-strftime: test for Solaris bug
29268         * modules/strftime-tests (Depends-on): Add strerror.
29269         * tests/test-strftime.c: Include <errno.h>.
29270         (posixtm_test): New function, containing the old 'main'.
29271         (struct tzalloc_test, struct localtime_rz_test): New types.
29272         (TZ, LT): New static vars.
29273         (tzalloc_test): New function.
29274         (main): Rewrite in terms of posixtm_test and tzalloc_test.
29276         time_rz: port to Solaris etc.
29277         Works around a tzname problem on platforms like Solaris that have
29278         tzname but not tm_zone, by setting tzname at the appropriate time
29279         and restoring it later.
29280         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
29281         New static vars.
29282         (save_abbr) [HAVE_TZNAME]: Set them.
29283         (revert_tz) [HAVE_TZNAME]: Clear or use them.
29284         (restore_tzname): New function.
29285         (localtime_rz, mktime_z): Use it.
29287         time_rz: now LGPL
29288         * modules/time_rz (License): Now LGPL, because strftime depends on it.
29290         time_rz: make a constant 'const'
29291         * lib/time_rz.c (local_tz): Now const.
29293         time_rz: fix off-by-one typo
29294         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
29296 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
29298         fprintftime, strftime: use timezone_t args
29299         * NEWS: Document the change.
29300         * lib/fprintftime.h (fprintftime):
29301         * lib/strftime.c (extra_args) [my_strftime]:
29302         * lib/strftime.h (nstrftime):
29303         Time zone arg is now of type timezone_t, not int.
29304         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
29305         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
29306         (my_strftime) [emacs && !my_strftime]:
29307         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
29308         Remove; Emacs doesn't need this any more.
29309         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
29310         fprintftime and nstrftime to call tzset.
29311         (ut) [!my_strftime]: Remove, replacing with ...
29312         (tz) [!my_stftime]: ... this new macro.  All uses changed.
29313         (strftime_case_): Use localtime_rz and mktime_z instead
29314         of localtime_r and mktime.
29315         * modules/fprintftime (Depends-on): Add time_rz.
29316         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
29317         * tests/test-strftime.c (main): Adjust to new nstrftime API.
29319         time_rz: new module
29320         * MODULES.html.sh: Add time_rz.
29321         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
29322         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
29323         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
29324         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
29325         New var HAVE_TIMEZONE_T (default 0).
29326         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
29327         New var GNULIB_TIME_RZ (default 0).
29328         * modules/time (time.h): Substitute the new vars.
29330         flexmember: license is now unlimited
29331         * modules/flexmember (License): Change to unlimited,
29332         since its only source file gives an unlimited license.
29334 2015-07-15  Eric Blake  <eblake@redhat.com>
29336         maint: update copyright paper procedures
29337         * config/srclist.txt: Drop outdated files.
29338         * doc/Copyright/conditions.txt: Update to latest.
29339         * doc/Copyright/assign.changes.manual: Delete.
29340         * doc/Copyright/assign.future.manual: Likewise.
29341         * doc/Copyright/assign.manual: Likewise.
29342         * doc/Copyright/assign.translation.manual: Likewise.
29343         * doc/Copyright/disclaim.changes.manual: Likewise.
29344         * doc/Copyright/disclaim.manual: Likewise.
29345         * doc/Copyright/disclaim.program: Likewise.
29347 2015-07-07  Daiki Ueno  <ueno@gnu.org>
29349         localename: fix link error on Illumos
29350         Illumos defines __sun, but does not have getlocalename_l nor the
29351         equivalent.  This partially reverts commit 387c214.
29352         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
29353         available, as well as uselocale.
29354         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
29355         use getlocalename_l if it is not available.
29357 2015-07-07  Daiki Ueno  <ueno@gnu.org>
29359         unistr/uN-strtok-tests: avoid a trivial leak
29360         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
29361         input and delim after the multibyte delimiter tests.
29363 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
29365         file-has-acl, acl-permissions: fix HP-UX typos
29366         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
29367         * lib/file-has-acl.c (file_has_acl):
29368         * lib/set-permissions.c (context_acl_from_mode)
29369         (context_aclv_from_mode, set_acls):
29370         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
29371         They were introduced by the recent ACL changes.
29373         regex: match current GNU grep behavior
29374         These symbols have not matched GNU grep behavior for quite some time.
29375         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
29376         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
29377         Change to match current GNU behavior.
29378         Simplify by expressing it as differences from POSIX BREs and EREs.
29379         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
29381 2015-07-03  Jim Meyering  <meyering@fb.com>
29383         set-permissions.c: adjust acl_from_mode's cpp guard
29384         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
29385         directives identical to those guarding the sole use.
29386         Otherwise, on some systems, we'd get a warning about
29387         the function being defined but not used.
29388         Also, filter through cppi to correct misleading indentation
29389         of cpp directives.
29391 2015-07-03  Pádraig Brady  <P@draigBrady.com>
29393         tests: restrict shells to those that support 'local'
29394         The local keyword is very widely supported and used
29395         in tests in coreutils and grep at least.  Therefore
29396         restrict to testing with shells that support it.
29397         This mainly excludes /bin/sh on Solaris.
29398         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
29400 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
29401         and Daiki Ueno  <ueno@gnu.org>
29403         unistr/uN-strtok: handle multibyte delimiters
29404         Previously, uN_strtok moved PTR to the next unit to the token end.
29405         When DELIM contained a multibyte character, the new position could
29406         be a middle of a multibyte character.
29407         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
29408         after the token.
29409         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
29410         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
29411         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
29412         * modules/unistr/u8-strtok (Depends-on): Depend on
29413         unistr/u8-strmblen.
29414         * modules/unistr/u16-strtok (Depends-on): Depend on
29415         unistr/u16-strmblen.
29416         * modules/unistr/u32-strtok (Depends-on): Depend on
29417         unistr/u32-strmblen.
29418         * tests/unistr/test-u-strtok.h: New file.
29419         * tests/unistr/test-u8-strtok.c: New file.
29420         * tests/unistr/test-u16-strtok.c: New file.
29421         * tests/unistr/test-u32-strtok.c: New file.
29422         * modules/unistr/u8-strtok-tests: New file.
29423         * modules/unistr/u32-strtok-tests: New file.
29424         * modules/unistr/u16-strtok-tests: New file.
29426 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
29428         update-copyright: fix test failure with perl >= 5.22 (trivial)
29429         * build-aux/update-copyright: Escape a literal left curly bracket,
29430         required with perl >= 5.22
29432 2015-07-02  Daiki Ueno  <ueno@gnu.org>
29434         u{16,32}-strstr-tests: relax timeout condition
29435         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
29436         tests can take longer than 5 seconds to complete.
29437         Reported by Dagobert Michelsen in:
29438         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
29439         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
29440         seconds to 10 seconds.
29441         * tests/unistr/test-u32-strstr.c (main): Likewise.
29443 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
29445         gnulib-common.m4: change the ARFLAGS default to 'cr'
29446         In some GNU/Linux distributions people started to compile 'ar'
29447         binary with --enable-deterministic-archives (binutils project).
29448         That, however, in combination with previous autotools long time
29449         working default AR{_,}FLAGS=cru causes warnings on such
29450         installations:
29451         ar: `u' modifier ignored since `D' is the default (see `U')
29452         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
29453         set already.
29455 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
29457         selinux-h: avoid double free after *getfilecon()
29458         Originally reported by Ben Shelton on bug-tar:
29459         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
29460         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
29461         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
29462         param should be freed by freecon(3) (regardless the return value).
29464 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
29466         fix pty related tests issues on Windows (trivial)
29467         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
29468         however it's still present in tests/ subdirectory of the final project.
29469         Therefore avoid it to pass `make check`.
29470         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
29471         will just return -ENOSYS, so avoid this non applicable test allowing
29472         the build to proceed.
29474 2015-07-01  Pádraig Brady  <P@draigBrady.com>
29476         acl: fix definition of acl_from_mode on FreeBSD
29477         This was causing basic coreutils copy operations to fail
29478         with ENOTSUP or ENOENT error messages.
29479         * lib/acl-internal.h (acl_from_mode): Only define when
29480         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
29481         of acl_from_mode() defined in lib/set-permissions.c to
29482         be used on FreeBSD at least.
29483         * lib/set-permissions.c: Fix up comment spelling,
29484         and a redundant variable assignment; noticed in passing.
29486 2015-06-30  Pádraig Brady  <P@draigBrady.com>
29488         readutmp: port to FreeBSD >= 9
29489         * lib/readutmp.h: Map utmpxname() to setutxdb().
29490         With that coreutils who(1) and pinky(1) tests pass.
29492 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
29494         mgetgroups: port to strict OS X
29495         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
29496         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
29497         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
29498         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
29500 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
29502         mgetgroups: port to strict OS X
29503         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
29504         Document the getgrouplist problem.
29505         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
29506         New macro.
29507         (mgetgroups): Use it.
29508         * m4/mgetgroups.m4 (gl_MGETGROUPS):
29509         Check for OS X signature for getgrouplist.
29511 2015-06-29  Jim Meyering  <meyering@fb.com>
29513         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
29514         It started like this when building coreutils' latest on OS X,
29515         invoking ./configure with a nonempty --cache=.cache:
29517           lib/linkat.c:46:42: error: operator '||' has no right operand
29518           lib/linkat.c: In function 'rpl_linkat':
29519           lib/linkat.c:330:27: error: #if with no expression
29521         Here's linkat.c's line 46:
29523           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
29525         Here's some context:
29527           $ grep linkat_nofoll .cache
29528           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
29529           $ grep LINKAT_SYM lib/config.h
29530           #define LINKAT_SYMLINK_NOTSUP
29532         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
29533         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
29534         but that violates a tenet of AC_CACHE_CHECK: it must
29535         have no side effect other than setting its cache variable.
29537         What happens is that when the cache is set, we'd skip the
29538         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
29539         defined to whatever value it happened to have in configure's
29540         environment.  In my case, it was not defined, so this later code:
29542           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
29543             [Define to 1 if linkat can create hardlinks to symlinks])
29545         would emit code with an empty RHS.
29547         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
29548         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
29550 2015-06-28  Jim Meyering  <meyering@fb.com>
29552         mountlist: avoid an unused-label warning on OS X
29553         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
29554         Building on OS X, I saw a warning about the "free_then_fail" label
29555         being unused.  Give it the _GL_UNUSED_LABEL attribute.
29557         error.c: correct printf-style format: %d -> %u
29558         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
29559         rather than %d, to match the type of "line_number", unsigned int.
29561 2015-06-25  Pádraig Brady  <P@draigBrady.com>
29563         fts: avoid reading beyond the heap allocation
29564         GCC 5.1.1 with -O2 and -fsanitize=address reports
29565         a read of size 4 from a heap object of size 3 is indeed invalid,
29566         though this may be due to incorrect padding assumptions by GCC, see:
29567         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
29568         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
29569         * modules/fts: Depend on stdalign.
29571 2015-06-24  Pádraig Brady  <P@draigBrady.com>
29573         savedir: avoid undefined behavior in qsort call
29574         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
29575         "runtime error: null pointer passed as argument 1,
29576          which is declared to never be null"
29577         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
29579 2015-06-24  Pádraig Brady  <P@draigBrady.com>
29581         userspec: avoid undefined behavior in gettext call
29582         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
29583         "runtime error: null pointer passed as argument 2,
29584          which is declared to never be null"
29585         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
29587 2015-06-20  Glenn Morris  <rgm@gnu.org>
29589         gitlog-to-changelog: improve gitmerge.el commits
29590         Let the Emacs ChangeLog generation process exclude "skipped"
29591         messages from merge commits (Bug#20717).
29592         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
29594 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
29596         wchar: fix MinGW compilation warnings
29597         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
29598         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
29599         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
29601 2015-06-20  Daiki Ueno  <ueno@gnu.org>
29603         uniname/uniname-tests: use pristine data files
29604         For copyright and maintenance reasons, use the data files from UCD
29605         without modification.
29606         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
29607         (getfield): Remove.
29608         (aliases_count): New global variable.
29609         (fill_names): Skip comments and empty lines in the input.  Don't
29610         use getfield.
29611         (fill_aliases): Likewise.
29612         (main): Change the expected command line arguments to:
29613         NAMES... ["--" ALIASES...].
29614         * tests/uniname/test-uninames.sh: Adjust to the change in
29615         test-uninames.c.
29616         * tests/uniname/UnicodeDataNames.txt: Remove.
29617         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
29618         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
29619         file from Unicode 8.0.0.
29621 2015-06-19  Pádraig Brady  <P@draigBrady.com>
29623         linked-list, linkedhash-list: avoid compiler warnings
29624         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
29625         -Werror=suggest-attribute=pure (from GCC 5.1.1).
29627 2015-06-19  Daiki Ueno  <ueno@gnu.org>
29629         libunistring: bump minimum version to 0.9.6
29630         * all modules depending on updated Unicode data: Regenerate.
29631         The modules are listed by a script that does:
29632         - for each file listed by: git show --oneline --name-only 705f4efc
29633           - deduce the containing modules, based on "Files:"
29634         - deduce the modules which depend on the containing modules, based
29635           on "Depends-on:"
29637 2015-06-18  Daiki Ueno  <ueno@gnu.org>
29639         uniname/uniname: update to Unicode 8.0.0
29640         * lib/uniname/uninames.h: Regenerate.
29641         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
29642         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
29644 2015-06-18  Daiki Ueno  <ueno@gnu.org>
29646         libunistring: update to Unicode 8.0.0
29647         * lib/gen-uni-tables.c (SIZEOF): New macro.
29648         (output_numeric): Increase the maximum number of fractions from
29649         128 to 160.  Increase the level3 value width from 7 bits to 8
29650         bits.  Use SIZEOF instead of a hard-coded integer.
29651         (output_blocks): Decrease the cut-off threshold from 0x30000 to
29652         0x28000.
29653         (fill_blocks): Increase the maximum number of blocks from 256 to
29654         384.  Use SIZEOF instead of a hard-coded integer.
29655         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
29656         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
29657         value width.
29658         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
29659         a new case added to LBP22.
29660         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
29661         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
29662         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
29663         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
29664         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
29665         * tests/uniwidth/test-uc_width2.sh: Same updates as in
29666         lib/uniwidth/width.c.
29667         * all generated files under lib/uni* and tests/uni*: Regenerate.
29669 2015-06-16  Pádraig Brady  <P@draigBrady.com>
29671         gnu-web-doc-update: add --mirror to remove stale files
29672         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
29673         out of date files from the CVS server.  Since this is usually
29674         appropriate, a prompt is given when the option is not specified,
29675         along with the `cvs remove` command that would be run.
29677 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
29679         acl-permissions: pacify -Wsuggest-attribute=const
29680         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
29681         * lib/acl-internal.h (free_permission_context):
29682         Declare with attribute const if ! (defined USE_ACL &&
29683         (HAVE_ACL_GET_FILE || defined GETACL)).
29685         fsync: document AIX misbehavior
29686         * doc/posix-functions/fsync.texi (fsync):
29687         Document failure on AIX with read-only file descriptor.
29689 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
29691         stdio: Don't redefine gets when using C++
29692         * lib/stdio.in.h (gets): Disable warning on C++.
29694 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
29696         acl-permissions: port to AIX, C89 HP-UX
29697         Problems reported by Michael Felt.
29698         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
29699         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
29700         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
29701         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
29702         Add cast for AIX, whose system calls are declared to accept
29703         char * even though the arguments are really char const *.
29704         * lib/get-permissions.c (get_permissions):
29705         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
29706         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
29707         that broke a build.
29708         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
29709         Rework types to pacify xlc.
29711 2015-06-03  Pádraig Brady  <P@draigBrady.com>
29713         vasprintf-posix: avoid compiling vasnprintf where possible
29714         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
29715         module where not required.  For example on a GNU/Linux system
29716         when gnulib-tool is run with the --conditional-dependencies option.
29718 2015-06-02  Pádraig Brady  <P@draigBrady.com>
29720         file-has-acl: fix build on Mac OS X 10
29721         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
29722         which has an incompatible 6 parameter getxattr() call.
29723         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
29724         call on Mac OS X >= 10.4.
29725         * doc/glibc-functions/fgetxattr.texi: Likewise.
29726         * lib/file-has-acl.c: Revert to more complete combined check.
29727         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
29728         Reported by Jack Howarth.
29730 2015-06-02  Pádraig Brady  <P@draigBrady.com>
29732         prefix-gnulib-mk: remove no longer needed special case
29733         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
29734         continued lib_SOURCES lines are no longer present,
29735         so special case handling of such entries is not required.
29737 2015-06-01  Pádraig Brady  <P@draigBrady.com>
29739         acl: don't depend on the deprecated qacl module
29740         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
29742 2015-06-01  Pádraig Brady  <P@draigBrady.com>
29744         gnulib-tool: concatenate lib_SOURCES to a single line
29745         * gnulib-tool: Refactor the line merging sed logic,
29746         and use that to output a single lib_SOURCES line for each module.
29747         gnulib using projects often postprocess this output to prepend
29748         subdir paths to each item, and having a single line simplifies this
29749         processing allowing better decoupling from the gnulib-tool output.
29751 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
29753         pthread_sigmask: discount system version if a simple macro (trivial)
29754         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
29755         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
29756         function to ensure it's available.
29758 2015-05-31  Pádraig Brady  <P@draigBrady.com>
29760         readlinkat: avoid OS X 10.10 trailing slash bug
29761         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
29762         has this bug.
29763         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
29764         that OS X 10.10 has this function.
29765         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
29766         as done for readlink().
29767         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
29768         trailing slash bug, and assume readlinkat() has the same issue.
29769         Also fix a typo where $gl_cv_decl_readlink_works was tested,
29770         rather than the correct $gl_cv_decl_readlinkat_works.
29772 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
29774         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
29775         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
29776         module rewrite.
29778         acl-permissions: Fix build on Solaris and Cygwin
29779         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
29780         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
29781         ace_entries variables have moved into struct permission_context but
29782         they were still accessed as local variables here.
29784 2015-05-29  Pádraig Brady  <P@draigBrady.com>
29786         linkat: avoid OS X 10.10 trailing slash with symlink bug
29787         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
29788         causes the symlink to be dereferenced, and if it points
29789         to a non existent file, that file will be created as
29790         a hard link to "path1".
29791         This fixes a test failure in test-linkat.c.
29792         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
29793         this case.  The existing workaround in linkat.c for
29794         trailing slash issues, suffices for this case.
29795         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
29796         the list of platforms with trailing slash issues.
29798 2015-05-28  Pádraig Brady  <P@draigBrady.com>
29800         unlinkat: handle ignoring of ".." on Darwin 14
29801         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
29802         on Mac OS X 10.10, where it ignores paths with a trailing "..",
29803         so handle in the same manner.
29804         * m4/unlinkat.m4: Comment on this Darwin issue.
29805         * doc/posix-functions/unlink.texi: Update the latest version
29806         where the issue was seen.
29807         * doc/posix-functions/unlinkat.texi: Mention this issue.
29808         Fixes a test failure in test-unlinkat.c.
29810 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
29812         qacl: split into qcopy-acl and qset-acl
29813         Emacs needs the former, but not the latter.
29814         * modules/acl-permissions: New file, containing most of the old qacl.
29815         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
29816         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
29817         * modules/qcopy-acl, modules/qset-acl: New files.
29818         * MODULES.html.sh (File system functions):
29819         Mention the new modules, and mention qacl while we're at it.
29821 2015-05-27  Glenn Morris  <rgm@gnu.org>
29823         gitlog-to-changelog: new option --ignore-line
29824         (This patch is imported from the GNU Emacs master.)
29825         This option ignores individual commit lines matching a pattern.
29826         * build-aux/gitlog-to-changelog: Add --ignore-line option.
29828 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
29830         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
29831         Implement get_permissions and set_permissions primitives for getting all
29832         the permissions of a file, storing them, and later setting them. (In the
29833         minimal case, the permissions consist only of a file mode.) Reimplement
29834         qset_acl and qcopy_acl based on these new primitives: this avoids code
29835         duplication and makes error handling more consistent.
29836         The Solaris and Cygwin code still uses duplicate code paths for setting
29837         a file mode while making sure that no acls exist and setting an explicit
29838         acl; this is no worse than before, but could be cleaned up.  The AIX
29839         code still doesn't read ACLs, it only makes sure that acls don't get in
29840         the way when setting a file mode.
29841         * lib/acl-internal.h (struct permission_context): New data structure.
29842         (get_permissions, set_permissions, free_permission_context): Declare.
29843         * lib/acl-internal.c (free_permission_context): New helper function.
29844         * lib/get-permissions.c (get_permissions): New helper function split off
29845         from qcopy_acl.
29846         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
29847         AIX, set a file's permissions based only on a file mode.
29848         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
29849         other platforms construct a temporary acl from the file mode and set
29850         that acl in the same way as setting an acl read from the source file.
29851         This should help avoid code duplication and inconsistent / buggy
29852         behavior.
29853         (set_acls): New helper function Split off from qcopy_acl.
29854         (chmod_or_fchmod): Moved here from qset-acl.c.
29855         (set_permissions): New helper function.
29856         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
29857         set_permissions.
29858         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
29859         * modules/qacl: Add get-permissions.c and set-permissions.c.
29861         file-has-acl: Split feature tests again (Bug#20667)
29862         * lib/file-has-acl.c: Instead of testing for
29863         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
29864         define them when needed.
29865         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
29866         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
29868 2015-05-27  Pádraig Brady  <P@draigBrady.com>
29870         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
29871         This avoids a conflict with "FORTIFY_SOURCE" variants
29872         of the string functions when they're replaced on NetBSD-6.0.1
29873         and Darwin-14.3.0 at least.
29874         * lib/string.in.h: Avoid including our "lib/string.h" while
29875         including the system <string.h>.
29877 2015-05-26  Eric Blake  <eblake@redhat.com>
29879         stdio: limit __gnu_printf__ witness to gcc 4.4+
29880         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
29881         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
29883         error: use correct printf attributes on mingw
29884         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
29886         inttypes: force correct mingw PRIdMAX even without <stdio.h>
29887         * modules/inttypes (Depends-on): Require extensions, so that mingw
29888         always uses GNU style inttypes.
29889         * lib/inttypes.in.h: On mingw, include <stdio.h>.
29891         stdio: fix probe on mingw under gcc 5.1
29892         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
29893         around new gcc preprocessor rules.
29895 2015-05-07  Glenn Morris  <rgm@gnu.org>
29897         gitlog-to-changelog: parse "Tiny-change"
29898         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
29899         "Copyright-paperwork-exempt".  (Bug#20324)
29901 2015-05-06  Pádraig Brady  <P@draigBrady.com>
29903         doc: document glibc posix_fallocate() issues
29904         * doc/posix-functions/posix_fallocate.texi: Mention the
29905         glibc efficiency problems and issues with NFS.
29907 2015-05-05  Karl Berry  <karl@freefriends.org>
29909         * build-aux/gendocs.sh (usage): document new css default
29910         for HTML (--htmlarg).
29912 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
29914         extern-inline: no need for workaround in GCC 5.1
29915         * doc/extern-inline.texi (extern inline):
29916         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
29917         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
29918         around these bugs in GCC 5.1 and later.  Maybe in a decade or
29919         two we can remove these workarounds.
29921 2015-04-28  Pádraig Brady  <P@draigBrady.com>
29923         eealloc, pagealign_alloc, xalloc: avoid clang warnings
29924         Avoid [-Wunknown-attributes] warnings like:
29925         warning: unknown attribute '__alloc_size__' ignored
29926         * lib/xalloc.h: Don't use the __alloc_size__  attribute
29927         with clang, as support has been fully removed as of clang 3.5:
29928         https://github.com/llvm-mirror/clang/commit/c047507a
29929         * lib/eealloc.h: Likewise.
29930         * lib/pagealign_alloc.h: Likewise.
29932 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
29934         tests: pacify GCC 5.1's stricter printf checking
29935         * tests/test-dirname.c (main):
29936         * tests/test-getaddrinfo.c (simple):
29937         * tests/test-getlogin.c (main):
29938         * tests/test-getndelim2.c (main):
29939         * tests/test-inttostr.c (CK):
29940         * tests/test-md5.c (main):
29941         * tests/test-read-file.c (main):
29942         * tests/test-sha1.c (main):
29943         Fix mismatches between printf format and value signedness.
29944         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
29945         Remove, as CAST_VAL always returned a value of type uintmax_t.
29947         fts: port to GCC 5.1 with --enable-gcc-warnings
29948         Without this fix, GCC 5.1 (correctly) warns about a subscript
29949         error on the fts_name component of FTSENT.  It's actually a
29950         flexible member, so define it that way on C99 or later hosts.
29951         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
29952         structure that now has a flexible array member.
29953         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
29954         (FTSENT): fts_name is now flexible on C99-or-later platforms.
29955         * modules/fts (Depends-on): Add flexmember.
29957 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
29959         file-has-acl: port to CentOS 6
29960         Problem reported by Tom G. Christensen in:
29961         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
29962         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
29963         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
29964         HAVE_GETXATTR.
29965         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
29966         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
29967         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
29968         file-has-acl.c actually needs.
29970 2015-04-26  Pádraig Brady  <P@draigBrady.com>
29972         file-has-acl: always return false when ACLs aren't supported
29973         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
29974         change the GNU/Linux getxattr path, to transform "not supported"
29975         errors to a false return rather than an error.  This is handled
29976         within file_has_acl() due to the platform specific tests to
29977         determine if ACLs are not supported.
29979 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
29981         gettext: propagate po/Makefile.in.in too
29982         * build-aux/po/Makefile.in.in: Copy from latest gettext.
29983         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
29984         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
29985         between Makefile.in.in and the gettext-runtime m4 files.
29987 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
29989         file-has-acl: new module, split from acl
29990         And add a new module file-has-acl-tests to match.
29991         I ran into a problem with the recent changes to the acl module,
29992         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
29993         When using the fixed version with Emacs, I discovered that
29994         file-has-acl wasn't separated out well enough for Emacs (e.g., it
29995         had multiple libraries, but needed only one), so I fixed that too.
29996         * NEWS: Document this incompatible change.
29997         * modules/file-has-acl, modules/file-has-acl-tests: New files.
29998         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
29999         Initialize gl_need_lib_has_acl.
30000         (gl_FUNC_ACL): Require it.
30001         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
30002         Move the file-has-acl.c-relevant stuff to ...
30003         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
30004         use_xattrs = 0' typo, and omit some needless work.  Set
30005         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
30006         when gl_FUNC_ACL is called.
30007         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
30008         (Link): Remove $(LIB_HAS_ACL).
30009         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
30010         (check_PROGRAMS): Move stuff relevant to file-has-acl to
30011         modules/file-has-acl-tests.
30012         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
30014         manywarnings: add GCC 5.1 warnings
30015         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
30016         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
30017         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
30018         -Wsuggest-override, -Wuse-without-only.  Change
30019         -Wnormalized=... operands to match 5.1.
30020         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
30021         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
30022         -Wdiscarded-qualifiers, -Wformat-signedness,
30023         -Wincompatible-pointer-types, -Wint-conversion,
30024         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
30025         -Wshift-count-negative, -Wshift-count-overflow,
30026         -Wsizeof-array-argument, -Wsuggest-final-methods,
30027         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
30028         and add -Warray-bounds=2 as a special case.
30030 2015-04-21  Simon Josefsson  <simon@josefsson.org>
30032         doc: update FDL template to match FDL examples.
30033         * doc/alloca-opt.texi:
30034         * doc/alloca.texi:
30035         * doc/c-ctype.texi:
30036         * doc/c-strcase.texi:
30037         * doc/c-strcaseeq.texi:
30038         * doc/c-strcasestr.texi:
30039         * doc/c-strstr.texi:
30040         * doc/c-strtod.texi:
30041         * doc/c-strtold.texi:
30042         * doc/ctime.texi:
30043         * doc/error.texi:
30044         * doc/gcd.texi:
30045         * doc/gnulib-tool.texi:
30046         * doc/inet_ntoa.texi:
30047         * doc/intprops.texi:
30048         * doc/lib-symbol-visibility.texi:
30049         * doc/maintain.texi:
30050         * doc/parse-datetime.texi:
30051         * doc/quote.texi:
30052         * doc/regexprops-generic.texi:
30053         * doc/standards.texi: Remove spurious 'with' in FDL license
30054         template.
30056 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
30058         lstat: fix cross-compilation 'ln -s' problem
30059         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
30060         Have the test program call 'symlink' rather than a separate
30061         script run 'ln -s'; this is more likely to work in
30062         cross-compilation environments.  Reported by Pavel Fedin in:
30063         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
30065 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
30067         gendocs.sh: default to a common CSS style sheet for HTML output
30068         * build-aux/gendocs.sh (htmlarg): Change default value.
30070 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
30072         gnulib-tool: output bold attribute more portably
30073         * gnulib-tool (func_show_module_list): Change hexadecimal
30074         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
30075         encoded numbers as arguments to `printf' is not portable,
30076         and is not claimed by POSIX.  This is the case with FreeBSD.
30078 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30080         qacl: Simplify HP-UX acl_nontrivial check
30081         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
30082         acl_nontrivial. Check if the acl has at most three entries instead (it must
30083         have exactly three entries according to the HP-UX documentation). Ignore
30084         uids and gids as long as an entry is either for a user (i.e., the owner),
30085         a group (i.e., the owning group), or others.
30086         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
30087         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
30089 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
30091         acl: On Linux, check for acls without libacl
30092         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
30093         library function to check for the presence of acls, avoiding a library.
30094         * lib/file-has-acl.c: Include xattr headers if we have them.
30095         (file_has_acl): On Linux, use getxattr().
30096         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
30097         file_has_acl(). Check for xattr headers and getxattr().
30099 2015-04-14  Ángel González  <keisial@gmail.com>
30101         tempname: avoid unused parameter warnings (trivial)
30102         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
30103         (try_nocreate): Likewise.
30105 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
30107         fseeko: fix build failure on NetBSD >= 6 (trivial)
30108         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
30109         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
30111 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
30113         gitlog-to-changelog: port to MS-Windows
30114         * build-aux/gitlog-to-changelog (git_dir_option):
30115         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
30116         MS-Windows Perl.  Reported by Eli Zaretskii in:
30117         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
30119 2015-04-07  Karl Berry  <karl@gnu.org>
30121         gendocs: new option --tex for passing args to texi2dvi.
30122         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
30123         (TEXI2DVI): cut to just command name.
30124         (usage): mention new option, and update copyright.
30125         <generate_tex>: use it.
30127 2015-04-07  Karl Berry  <karl@gnu.org>
30129         * config/srclistvars.sh (GETTEXT): new definition.
30130         * config/srclist.txt: use it for gettext .m4 files.
30131         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
30132         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
30133         and continuing into April.
30135 2015-04-07  Daiki Ueno  <ueno@gnu.org>
30137         uniname/uniname-tests: fix failure due to alias
30138         Reported by Jack Howarth in:
30139         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
30140         * tests/uniname/test-uninames.c (name_has_alias): New function.
30141         (test_inverse_lookup): Exclude character name with valid alias,
30142         from randomly generated character names.
30143         (main): Fill unicode_aliases before calling test functions.
30145 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
30147         hash: remove deprecated hash_insert0 function
30148         * lib/hash.h (hash_insert0): Remove deprecated function.
30149         * lib/hash.c (hash_insert0): Likewise.
30151 2015-04-02  Pádraig Brady  <P@draigBrady.com>
30153         mountlist: remove dependency on libmount
30154         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
30155         directly, rather than depending on libmount, which has many
30156         dependencies due to its dependence on libselinux, as detailed at:
30157         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
30158         Note we restrict this to __linux__ as that's probably where this
30159         interface will remain.  If ever porting, it would be best
30160         to first pull the makedev() wrapper from coreutils to a gnulib module.
30161         Note also we don't add a getline dependency to the mountlist module,
30162         as all Linux versions are sufficient.
30164 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
30166         stddef: port to pre-C11 GCC on x86
30167         On this platform, max_align_t should have an alignment of 8 even
30168         though the storage alignments of double, long, etc. max out at 4.
30169         Inspired by a comment of Andreas Schwab's here:
30170         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
30171         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
30172         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
30173         * tests/test-stddef.c: Test __alignof__ too, if available.
30175 2015-03-24  Pádraig Brady  <P@draigBrady.com>
30177         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
30178         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
30180 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
30182         yesno: make EOL optional in ENABLE_NLS case also (trival)
30183         * lib/yesno.c (yesno): Check for EOL before replacing.
30184         * tests/test-yesno.sh: Add a test case (test along with gettext).
30186 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
30188         fdopendir-tests: test it does not close its arg
30189         * tests/test-fdopendir.c (main): Test that fdopendir does not
30190         close its argument.  From a suggestion by David Grayson in:
30191         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
30193 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
30195         gitlog-to-changelog: trim trailing white space
30196         * build-aux/gitlog-to-changelog (main):
30197         Trim trailing white space from commit message lines.
30198         This is helpful for processing the GNU Emacs repository,
30199         which dates back to 1985 and contains a lot of such lines.
30201         gitlog-to-changelog: new option --ignore-matching
30202         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
30203         Support new option --ignore-matching=PAT, which ignores all
30204         commit messages whose first line matches PAT.
30206 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
30208         fdopendir: port better to MinGW
30209         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
30210         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
30211         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
30212         * modules/fdopendir (Depends-on): Add dirfd.
30214 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
30216         fdopendir: fix typo in comment
30217         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
30219 2015-03-09  Eric Blake  <eblake@redhat.com>
30221         error: document all entry points provided
30222         * doc/glibc-functions/error_print_progname.texi
30223         (error_print_progname): Mention the error module.
30224         * doc/glibc-functions/error_at_line.texi (error_at_line):
30225         Likewise.
30226         * doc/glibc-functions/error_message_count.texi
30227         (error_message_count): Likewise.
30228         * doc/glibc-functions/error_one_per_line.texi
30229         (error_one_per_line): Likewise.
30231 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
30233         vasnprintf: pacify clang 3.5.0
30234         Problem reported by Werner Lemberg in:
30235         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
30236         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
30237         The casts aren't needed, since the characters in question are ASCII.
30239 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
30241         glob, etc.: port to MSVC v18 on MS-Windows 8.1
30242         * lib/dirent--.h (GNULIB_defined_opendir):
30243         * lib/dirent.in.h (GNULIB_defined_opendir)
30244         (GNULIB_defined_closedir):
30245         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
30246         #undef only if Gnulib defined it.
30248         poll: port to MSVC v18 on MS-Windows 8.1
30249         Problem reported by Gisle Vanem in:
30250         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
30251         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
30252         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
30253         Add sys_socket.
30255 2015-02-24  Pádraig Brady  <P@draigBrady.com>
30257         tests: support stderr verification with returns_()
30258         * tests/init.sh (returns_): Disable tracing for this wrapper
30259         function, so that stderr of the wrapped command is unchanged,
30260         allowing for verification of the contents.
30262 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
30264         passfd: avoid valgrind uninitalised data warning
30265         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
30266         to include just the fd we've initialized, rather than including
30267         the extra space used for alignment.
30269 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
30271         uniwbrk/u32-wordbreaks-tests: fix copyright
30272         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
30274         dup2: doc and test for Android bug
30275         Reported by Kevin Cernekee in:
30276         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
30277         * doc/posix-functions/dup2.texi (dup2): Document the bug.
30278         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
30280 2015-02-23  Kevin Cernekee  <cernekee@google.com>
30282         Replace dup2() on Android
30283         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
30284         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
30285         fails.  Using rpl_dup2() fixes this because it has an explicit test
30286         for this condition.
30288 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
30290         Android doesn't define RLIM_SAVED_*
30291         Portability problem reported by Kevin Cernekee in:
30292         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
30293         * doc/posix-headers/sys_resource.texi (sys/resource.h):
30294         Mention the portability problem.
30295         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
30296         Define if not defined.
30297         * m4/dup2.m4 (gl_FUNC_DUP2):
30298         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30299         Likewise.
30301 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
30303         vasnprintf-posix-tests: use consistent test
30304         * tests/test-vasnprintf-posix.c (test_function):
30305         Use "<" in assert instead of "<=", for consistency with other tests.
30307 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30309         printf, isinf, etc.: noncanonical != NaN
30310         Do not require that isinf, printf, etc. treat noncanonical
30311         values as NaNs.  Instead, require only that they do not crash.
30312         Problem reported by Joseph Myers in:
30313         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
30314         * doc/posix-functions/dprintf.texi (dprintf):
30315         * doc/posix-functions/fprintf.texi (fprintf):
30316         * doc/posix-functions/isfinite.texi (isfinite):
30317         * doc/posix-functions/isinf.texi (isinf):
30318         * doc/posix-functions/isnan.texi (isnan):
30319         * doc/posix-functions/printf.texi (printf):
30320         * doc/posix-functions/snprintf.texi (snprintf):
30321         * doc/posix-functions/sprintf.texi (sprintf):
30322         * doc/posix-functions/vdprintf.texi (vdprintf):
30323         * doc/posix-functions/vfprintf.texi (vfprintf):
30324         * doc/posix-functions/vprintf.texi (vprintf):
30325         * doc/posix-functions/vsnprintf.texi (vsnprintf):
30326         * doc/posix-functions/vsprintf.texi (vsprintf):
30327         Document this.
30328         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
30329         * m4/isinf.m4 (gl_ISINFL_WORKS):
30330         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
30331         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
30332         * tests/test-isfinite.c (test_isfinitel):
30333         * tests/test-isinf.c (test_isinfl):
30334         * tests/test-isnan.c (test_long_double):
30335         * tests/test-isnanl.h (main):
30336         * tests/test-snprintf-posix.h (test_function):
30337         * tests/test-sprintf-posix.h (test_function):
30338         * tests/test-vasnprintf-posix.c (test_function):
30339         * tests/test-vasprintf-posix.c (test_function):
30340         Test only that noncanonical values do not cause crashes, not that
30341         they are treated as NaNs.  In some cases this means a larger
30342         output buffer is needed.
30344 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
30346         fts: remove redundant close() (trivial)
30347         * lib/fts.c (fts_read): Remove redundant call to close().
30348         Spotted by coverity.
30350 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30352         getdtablesize: port better for Android
30353         Problem reported by Kevin Cernekee in:
30354         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
30355         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
30356         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
30357         Instead, just use getrlimit, taking care to avoid Cygwin bug.
30359         poll: fixes for large fds
30360         * lib/poll.c (poll): Don't check directly for NFD too large.
30361         Don't rely on undefined behavior in FD_SET when an arg exceeds
30362         FD_SETSIZE.  Always set revents afterwards, even if to zero.
30363         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
30364         as that makes the test a bit stricter.
30366 2015-02-19  Kevin Cernekee  <cernekee@google.com>
30368         fcntl: Fix cross compiling
30369         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
30370         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
30372 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
30374         dup2, fcntl: cross-compile better for Android
30375         Problem reported by Kevin Cernekee in:
30376         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
30377         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
30378         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
30379         there's little need to cross-compile for older kernels nowadays.
30380         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
30381         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
30383 2015-02-18  Pádraig Brady  <P@draigBrady.com>
30385         getopt: don't crash on memory exhaustion
30386         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
30387         memory exhaustion.  In the _LIBC case we use alloca() as is
30388         already done in glibc, so we don't need to consider the separate
30389         error path in that awkward case.  Also fix a memory leak when
30390         ambiguous options are present.
30391         Reported by Tobias Stoeckmann
30393 2015-02-17  Mike Miller  <mtmiller@ieee.org>
30395         tempname: allow compilation with C++ (trivial)
30396         * lib/tempname.h [C++]: Specify extern "C" linkage.
30397         * lib/tempname.h (try_tempname):
30398         * lib/tempname.c (__try_tempname, __gen_tempname):
30399         Rename 'try' to 'tryfunc'.
30401 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
30403         dup2, fcntl: port to AIX
30404         * m4/dup2.m4 (gl_FUNC_DUP2):
30405         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30406         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
30407         The former works on AIX 7.1 but the latter does not.
30408         Also, this may work better with Android; see:
30409         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
30411 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
30413         getdtablesize, dup2, fcntl: port to Android
30414         Problem reported by Kevin Cernekee in:
30415         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
30416         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
30417         Mention that getdtablesize doesn't work on Android.
30418         * lib/getdtablesize.c: Use getrlimit substitute only if
30419         getdtablesize is declared.  This should suffice for Cygwin
30420         while not breaking Android.
30421         * m4/dup2.m4 (gl_FUNC_DUP2):
30422         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30423         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
30424         standardized but the latter is not, and sysconf works on Android.
30425         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
30426         Also check that getdtablesize is declared.
30427         This removes the need for a special case for Android.
30429 2015-02-16  Kevin Cernekee  <cernekee@google.com>
30431         localename: Implement gl_locale_name_thread_unsafe for Android
30432         * lib/localename.c: Android API level >= 21 supports two hardcoded
30433         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
30434         the internal __locale_t struct.
30436 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
30438         fts: avoid crash when a cycle is added while traversing
30439         This could be triggered by auto-mounting a recursive bind mount.
30440         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
30441         * lib/fts.c (fts_read): Avoid removing the original hash table item
30442         when leaving a directory that caused a cycle, and preserve the FTS_DC
30443         flag.
30445 2015-02-16  Daiki Ueno  <ueno@gnu.org>
30447         uniname/uniname: support character alias
30448         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
30449         Generate one-way mapping from aliases to codepoints in the
30450         generated tables.  Special case variation selectors to reduce
30451         table size.
30452         * lib/uniname/uniname.c (unicode_character_name): Special case
30453         variation selectors.
30454         (unicode_name_character): Special case variation selectors and
30455         their aliases.
30456         * lib/uniname/uninames.h: Regenerate.
30457         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
30458         * modules/uniname/uniname-tests (Files): Add
30459         tests/uniname/NameAliases.txt.
30460         * tests/uniname/test-uninames.c: Mark as static.
30461         (ALIASLEN): Define.
30462         (struct unicode_alias): New struct.
30463         (unicode_aliases): New variable.
30464         (fill_aliases): New function.
30465         (test_alias_lookup): New test function.
30466         (main): Run the 'test_alias_lookup' test if the second argument is
30467         given.
30468         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
30469         second argument.
30471 2015-02-11  Kevin Cernekee  <cernekee@google.com>
30473         Fix FILE struct compatibility with Android API level >= 21
30474         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
30475         __sferror.  Recent versions of Bionic's stdio.h no longer define
30476         __sferror.
30477         * lib/fbufmode.c: Likewise.
30478         * lib/fflush.c: Likewise.
30479         * lib/fpurge.c: Likewise.
30480         * lib/freadable.c: Likewise.
30481         * lib/freadahead.c: Likewise.
30482         * lib/freading.c: Likewise.
30483         * lib/freadptr.c: Likewise.
30484         * lib/freadseek.c: Likewise.
30485         * lib/fseeko.c: Likewise.
30486         * lib/fseterr.c: Likewise.
30487         * lib/fwritable.c: Likewise.
30489         Assume unbroken ungetc() on Android
30490         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
30491         test case passed when running on an Android host, and the code
30492         hasn't really changed since 2009.
30494         getdtablesize: Fix Android build
30495         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
30496         versions have this symbol in the .so library (at least 32-bit
30497         platforms) but are missing the declaration in the header file,
30498         causing the m4 logic to guess incorrectly.
30500         localename: Fix Android build
30501         * modules/localename (Depends-on): Add langinfo.
30503         getugroups: Fix Android build
30504         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
30505         functions.
30507         euidaccess: Fix Android build
30508         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
30509         AT_EACCESS gets declared.
30511         linkat_nofollow: Add fallback case for cross compiling
30512         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
30514         net_if: Handle content-free <net/if.h> system headers
30515         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
30516         struct if_nameindex.  If not, enable the replacement header.
30518         signal_h: Fix Android build
30519         * lib/signal.in.h: Add Android to the list of platforms that declare
30520         pthread_sigmask() in <pthread.h> instead of <signal.h>.
30522         duplocale: Fix Android build of duplocale-tests
30523         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
30524         is included by test-duplocale.c (but not by duplocale.c).
30525         * modules/duplocale-tests (configure.ac): Check for monetary.h.
30526         * tests/test-duplocale.c: Skip test if monetary.h is absent.
30527         * doc/posix-headers/monetary.texi: Add Android to the list of
30528         platforms missing monetary.h.
30530 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30532         tests: avoid recent -Werror=unused-variable regression in test-locale
30533         * tests/test-locale.c (main): Reference the variable to avoid the
30534         "unused variable" warning.
30536 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30538         maint: various whitespace cleanups in tempname
30539         * lib/tempname.c: Normalize spacing and line length.
30540         * lib/tempname.h: Likewise.
30541         * modules/tempname: Likewise.
30543 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30545         tests: provide returns_() to simplify exit status checking
30546         * tests/init.sh (returns_): A new function for use in tests,
30547         to allow for easier checking of return values, where you expect
30548         a command to exit with failure status.  By checking for a particular
30549         exit code, you don't hide any crashes for example.
30551 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30553         mountlist: only use libmount when specified
30554         There are currently many shared libs dependencies introduced by
30555         libmount with associated runtime and virt mem overhead.
30556         Therefore don't enable by default.
30557         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
30559 2015-02-08  Daiki Ueno  <ueno@gnu.org>
30561         uniname/unimame-tests: don't link with -lunistring
30562         * modules/uniname/uniname-tests (Makefile.am): Don't link against
30563         $(LIBUNISTRING).  Document the rationale why we need to
30564         conditionalize the test.
30566 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
30568         fstrcmp: don't assume strlen < INT_MAX
30569         * lib/fstrcmp.c: Include stddef.h and stdint.h.
30570         (uintptr_t): Remove, as we're now assuming stdint.
30571         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
30572         Prefer ptrdiff_t to int when the value could exceed INT_MAX
30573         if the input string is long.
30574         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
30575         uintptr_t to size_t when the underlying value is a pointer casted
30576         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
30577         * modules/fstrcmp (Depends-on): Add stdint.
30579         diffseq: prefer ptrdiff_t to ssize_t
30580         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
30581         ptrdiff_t is the natural type for signed indexes.
30582         On a few older platforms, ssize_t is narrower than size_t.
30584         xalloc: fix typo that suppressed warnings
30585         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
30586         This typo, introduced a couple of years ago, mistakenly suppressed
30587         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
30588         -Wmissing-declarations warnings.
30590         full-read: fix license notice typo
30591         * lib/full-read.h: Remove a stray line in the license notice.
30592         Reported by Sam Ellis in: http://bugs.gnu.org/19808
30594         crypto/gc: fix a -Wswitch warning
30595         Reported by Bruce Korb in:
30596         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
30597         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
30599 2015-02-03  Pádraig Brady  <P@draigBrady.com>
30601         gnulib-tool: fix handling of patch(1) diagnostics
30602         * gnulib-tool: Send diagnostics from patch(1) to stderr,
30603         as otherwise gnulib-tool will reparse that output and attempt
30604         to lookup modules.
30606 2015-02-03  Pádraig Brady  <P@draigBrady.com>
30608         bootstrap: exit immediately upon gnulib-tool failure
30609         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
30610         This was noticed when gnulib-tool exited early due to failure
30611         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
30612         but various confusing errors were then given as the build proceeded.
30614 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
30616         symlinkat: include all required header files
30617         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
30618         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
30619         Reported at https://savannah.gnu.org/bugs/index.php?44151
30620         and by Jack Howarth.
30622 2015-01-29  Pádraig Brady  <P@draigBrady.com>
30624         localename: support Solaris 12 and illumos
30625         * lib/localename.c (gl_locale_name_thread_unsafe): call
30626         getlocalename_l() on newer __sun platforms.
30627         Reported by Alexander Pyhalov.
30628         Fix suggested by Rich Burridge.
30630 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
30632         locale: fix tests on illumos (trivial)
30633         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
30634         so move from global scope to main().
30636 2015-01-24  Daiki Ueno  <ueno@gnu.org>
30638         unictype: avoid undefined left-shift behavior
30639         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
30640         gcc's -fsanitize=shift and running its tests triggered:
30641           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
30642             places cannot be represented in type 'int'
30643         Cast LHS to 'unsigned int' after integer promotion.
30644         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
30645         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
30647 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30649         libunistring: bump version of unitypes dependants
30650         Due to the header file search order, all the headers which depend
30651         on unitypes.h need to be generated, when the preinstalled
30652         libunistring is older.
30653         * modules/unicase/base (configure.ac): Bump minimum version to
30654         0.9.4.
30655         * modules/uniconv/base (configure.ac): Likewise.
30656         * modules/unilbrk/base (configure.ac): Likewise.
30657         * modules/uninorm/base (configure.ac): Likewise.
30658         * modules/unistdio/base (configure.ac): Likewise.
30659         * modules/unistr/base (configure.ac): Likewise.
30660         * modules/uniwbrk/base (configure.ac): Likewise.
30661         * modules/uniwidth/base (configure.ac): Likewise.
30663 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30665         unictype/category-none: fix link with libunistring
30666         Since _UC_CATEGORY_NONE is not a public symbol, it will be
30667         prefixed with "libstring_" when compiled as part of libunistring.
30668         To avoid undefined symbol at link time, increase the minimum
30669         version when the dependant modules are updated.
30670         * modules/unictype/category-none (configure.ac): Bump minimum
30671         version to 0.9.5.
30673 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30675         unitypes: fix build with installed libunistring
30676         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
30677         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
30678         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
30680 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
30682         time: port to MinGW32 3.21
30683         Problem reported by Eli Zaretskii in:
30684         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
30685         * lib/time.in.h:
30686         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
30687         * modules/time (Depends-on):
30688         Fall back on unistd.h if the other include files don't define
30689         struct timespec.
30691         update-copyright: apply to self
30692         * build-aux/update-copyright: Fix copyright date.  How ironic!
30694 2015-01-15  Daiki Ueno  <ueno@gnu.org>
30696         libunistring: update to Unicode 7.0.0
30697         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
30698         Manichaean names.
30699         * lib/unictype/joininggroup_name.h: Likewise.
30700         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
30701         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
30702         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
30703         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
30704         (fill_arabicshaping, joining_group_as_c_identifier): Support those
30705         enum values.
30706         (is_property_alphabetic): Accept newly added characters to
30707         cuneiform numeric signs.
30708         (is_property_default_ignorable_code_point): Reject U+0605.
30709         (FIELDLEN): Increase from 120 to 160.
30710         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
30711         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
30712         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
30713         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
30714         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
30715         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
30716         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
30717         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
30718         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
30719         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
30720         U+1E8D0..U+1E8D6.
30721         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
30722         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30723         lib/uniwidth/width.c.
30724         * all generated files under lib/uni* and tests/uni*: Regenerate.
30726 2015-01-14  Daiki Ueno  <ueno@gnu.org>
30728         libunistring: update to Unicode 6.3.0
30729         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
30730         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
30731         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
30732         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
30733         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
30734         Update WB5, WB9, WB10, WB13a, and WB13b.
30735         * tests/uniwbrk/test-uc-wordbreaks.c
30736         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
30737         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
30738         (UC_BIDI_PDI): New enumeration values.
30739         (bidi_category_byname): Support those enum values.
30740         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
30741         dedicated property assigned.
30742         (is_property_case_ignorable): Check 0x0027.
30743         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
30744         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
30745         (output_wbp): Support those enum values.
30746         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
30747         (UC_BIDI_PDI): New enumeration values.
30748         * lib/unictype/bidi_byname.gperf: Add those property names.
30749         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
30750         U+180E, U+1A1B, and U+2066..U+2069.
30751         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30752         lib/uniwidth/width.c.
30753         * all generated files under lib/uni* and tests/uni*: Regenerate.
30755 2015-01-14  Daiki Ueno  <ueno@gnu.org>
30757         libunistring: update to Unicode 6.2.0
30758         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
30759         (unilbrk_table): Adjust table size.
30760         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
30761         for LBP_RI.
30762         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
30763         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
30764         Normalize table index skipping ignored properties.
30765         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
30766         WBP_EXTEND and WBP_FORMAT, which are now computed without using
30767         the table.
30768         * lib/uniwbrk/wbrktable.h: Adjust table size.
30769         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
30770         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
30771         Support rule GB8a.
30772         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
30773         * tests/unigbrk/test-uc-is-grapheme-break.c
30774         (graphemebreakproperty_to_string): Support GBP_RI.
30775         * tests/uniwbrk/test-uc-wordbreaks.c
30776         (wordbreakproperty_to_string): Support WBP_RI.
30777         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
30778         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
30779         (output_lbp): Support LBP_RI.  Adjust some characters changed from
30780         LBP_AL to LBP_ID.
30781         (output_lbp): Support LBP_RI.
30782         (WBP_RI): New enumeration value.
30783         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
30784         (output_wbp): Support WBP_RI.
30785         (GBP_RI): New enumeration value.
30786         (output_gbp_test, fill_org_gbp): Support GBP_RI.
30787         * all generated files under lib/uni* and tests/uni*: Regenerate.
30789 2015-01-14  Daiki Ueno  <ueno@gnu.org>
30791         libunistring: update to Unicode 6.1.0
30792         * lib/gen-uni-tables.c (output_joining_group): Switch to
30793         3-level table to accommodate joining groups defined with higher
30794         codepoint value.  Since there are only 88 groups defined in
30795         Unicode 7.0.0, use 7-bit packed format for level3 entries.
30796         (get_lbp): Update for Unicode 6.1.0.
30797         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
30798         3-level table.
30799         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
30800         joining group name.
30801         * lib/unictype/joininggroup_name.h: Likewise.
30802         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
30803         (unilbrk_table): Adjust table size.
30804         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
30805         for LBP_HL.
30806         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
30807         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
30808         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
30809         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
30810         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
30811         U+302E..U+302F.
30812         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30813         lib/uniwidth/width.c.
30814         * all generated files under lib/uni* and tests/uni*: Regenerate.
30815         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
30817 2015-01-15  Daiki Ueno  <ueno@gnu.org>
30819         uniwbrk/u32-wordbreaks-tests: add conformance test
30820         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
30821         tests/uniwbrk/test-uc-wordbreaks.c,
30822         tests/uniwbrk/test-uc-wordbreaks.sh, and
30823         tests/uniwbrk/WordBreakTest.txt.
30824         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
30825         test-uc-wordbreaks to $(check_PROGRAMS), and define
30826         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
30827         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
30828         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
30830 2015-01-15  Daiki Ueno  <ueno@gnu.org>
30832         uniwbrk: ignore Extended/Format characters at BOL not BOS
30833         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
30834         characters if the previous character property is one of
30835         WBP_NEWLINE, WBP_CR, and WBP_LF.
30837 2015-01-11  Jim Meyering  <meyering@fb.com>
30839         test-strstr.c: avoid a trivial leak
30840         * tests/test-strstr.c (main): Free haystack.
30842         update-copyright: recognize groff's \(co marker
30843         * build-aux/update-copyright (circle_c_re): Also accept
30844         uses of \(co, as found in gzip.1.
30846 2015-01-08  Pádraig Brady  <P@draigBrady.com>
30848         maint.mk: fix compatibility with OS X nm
30849         * top/maint.mk (_gl_tight_scope): Use the -g option to
30850         show exported items rather than the -e option which is
30851         ignored on all platforms except OS X where it gives an error.
30852         Reported by Assaf Gordon.
30854 2015-01-07  KO Myung-Hun  <komh@chollian.net>
30856         localcharset: improve charset detection on OS/2
30857         Use system codepage when appropriate.  Map OS/2 codepages to
30858         GNU canonical charset names if possible.
30859         * lib/config.charset: Don't output aliases if "$os" is os2*.
30860         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
30861         result for OS/2.
30862         (locale_charset) [OS2]: Use system codepage if codeset is omitted
30863         from the locale name which is neither "C" nor "POSIX".
30865 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
30867         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
30868         This reverts the last patch but one, as it shouldn't be needed now
30869         that the typo is fixed.
30870         * lib/count-leading-zeros.h (count_leading_zeros_ll):
30871         * lib/count-trailing-zeros.h:
30872         * lib/count-one-bits.h:
30873         Go back to using 64-bit intrinsics.
30875         count-leading-zeros: fix pragma typos
30876         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
30877         Fix typos in declaration of intrinsics when _MSC_VER.
30879 2015-01-06  Pádraig Brady  <P@draigBrady.com>
30881         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
30882         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
30883         intrinsics in this case.
30884         * lib/count-trailing-zeros.h: Likewise.
30885         * lib/count-one-bits.h: Likewise.
30887 2015-01-06  Daiki Ueno  <ueno@gnu.org>
30889         uniname/uniname: update to Unicode 7.0.0
30890         To accommodate new characters added since Unicode 5.1.0, this
30891         changes the internal representation of codepoint ranges.
30892         Previously, we grouped codepoint ranges by manually assigned 4-bit
30893         tag, which only allowed 16 groups.  This removes the limitation by
30894         switching to binary search on a table.  For the detail rationale
30895         and the benchmark results, see:
30896         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
30897         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
30898         to INDEX, as it no longer represents a codepoint.
30899         (range): New struct.
30900         (main): Switch to intervals list from a bit-pattern based
30901         classification.
30902         * lib/uniname/uninames.h: Regenerate.
30903         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
30904         * modules/uniname/base (configure.ac): Bump minimum version to
30905         0.9.5.
30906         * modules/uniname/uniname (configure.ac): Bump minimum version to
30907         0.9.5.
30909 2015-01-05  Eric Blake  <eblake@redhat.com>
30911         doc: update INSTALL from autoconf
30912         * doc/install.texi: Resync from autoconf.
30913         * doc/INSTALL: Reflect recent autoconf update.
30914         * doc/INSTALL.ISO: Likewise.
30915         * doc/INSTALL.UTF-8: Likewise.
30917         stdio: fix use of PRIdMAX on modern mingw
30918         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
30919         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
30920         to work with modern mingw.
30922 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
30924         pthread: detect git mingw builds with only partial pollution
30925         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
30926         pollution, as seen temporarily in Fedora 21.
30928 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
30930         lib-symbol-versions: cache script check
30931         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
30932         Cache the check for linker version scripts.
30933         From a suggestion by Christophe Curis in:
30934         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
30936 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
30938         maint: fix grammar nits in propername (trivial change)
30939         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
30940         and use an adequate verb and tense.
30942 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
30944         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
30945         * module/gendocs: Add 'doc/gendocs_template_min'.
30947         * build-aux/gendocs.sh: Change email addresses and upstream URLs
30948         from to Gnulib's.
30949         (scripturl, templateurl): Adjust accordingly.
30951 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30953         gendocs: copyright date and version fix
30954         Reported by Karl Berry in:
30955         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
30956         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
30957         Fix copyright date.
30958         * build-aux/gendocs.sh (scriptversion): Update.
30960 2015-01-01  Karl Berry  <karl@gnu.org>
30962         * doc/install.texi,
30963         * build-aux/mdate-sh,
30964         * build-aux/depcomp,
30965         * build-aux/config.guess,
30966         * build-aux/config.sub,
30967         * build-aux/ar-lib,
30968         * build-aux/compile: revert copyright updates (some from last
30969         year) in slaved files.
30971 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30973         version-etc: new year
30974         * doc/gnulib.texi:
30975         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
30976         * all files: Run 'make update-copyright'.
30978 2014-12-30  Pádraig Brady  <P@draigBrady.com>
30980         xstrtol: ensure errno is reset
30981         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
30982         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
30984         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
30986 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
30988         utimens: fix dependency typo
30989         * modules/utimens (Depends-on): Remove 'assure'.
30990         This bug was introduced in the recent 'assure' patch.
30992 2014-12-22  Eric Blake  <eblake@redhat.com>
30994         docs: mention why libgen.h is bad
30995         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
30997 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
30999         assure: new module
31000         This works better than 'assert' when compiling with -DNDEBUG,
31001         as it avoids some compiler diagnostics in that case.
31002         Reported by Norihiro Tanaka in:
31003         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
31004         * MODULES.html.sh (func_all_modules): Add 'assure'.
31005         * lib/assure.h, modules/assure: New files.
31006         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
31007         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
31008         Prefer 'assure' to 'assert'.
31009         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
31010         * modules/chdir-long, modules/cycle-check, modules/fchdir:
31011         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
31012         Depend on 'assure'.
31014 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
31016         stdalign: port better to HP compilers
31017         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
31018         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
31020         stdalign: work around Apple GCC 4.0 bug
31021         Reported by David Fang in:
31022         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
31023         * lib/stdalign.in.h (_Alignas):
31024         * m4/stdalign.m4 (gl_STDALIGN_H):
31025         Do not use aligned attribute with GCC 4.0 on Apple.
31027 2014-12-16  Pádraig Brady  <P@draigBrady.com>
31029         getcwd: fix test failure on OS X 10.9
31030         * m4/getcwd-path-max.m4: Avoid the replacement if it
31031         won't be effective due to the PATH_MAX limitation of lstat().
31032         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
31033         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
31034         for this case for use in tests, and also exclude this
31035         case when setting REPLACE_GETCWD.
31036         * tests/test-getcwd.c (test_long_name): Restrict the
31037         tested path length so that lstat() will not be passed
31038         a path greater than PATH_MAX.
31039         Also key a test condition on HAVE_OPENAT_SUPPORT rather
31040         than AT_FDCWD, since the latter is set unconditionally
31041         since Sep 2009 in commit 52c658e9.
31043 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
31045         parse-datetime: avoid a compiler warning with byacc (trivial)
31046         * lib/parse-datetime.y (yylex): Use the same prototype in the
31047         function definition as the declaration, to avoid a -Wstrict-prototypes
31048         warning seen when using byacc.
31050 2014-12-12  Daiki Ueno  <ueno@gnu.org>
31052         unicase/locale-language-tests: fix LOCALE_FR test
31053         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
31054         a French locale with traditional encoding.
31055         Reported by umerqayam in:
31056         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
31058 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
31060         stddef: support C11's max_align_t
31061         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
31062         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
31063         Do not undef, as that might cause max_align_t to be defined twice.
31064         Instead, change use to check for _GL_STDDEF_WINT_T too.
31065         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
31066         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
31067         Check for max_align_t.
31068         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
31069         * modules/stddef-tests (Depends-on): Add stdalign.
31070         * tests/test-stddef.c: Test max_align_t.
31072 2014-12-11  Daiki Ueno  <ueno@gnu.org>
31074         unistd: fix iOS check conditional
31075         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
31076         as 0 or 1 in <TargetConditionals.h>, and the previous check always
31077         yielded true on non-iOS environment.
31078         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
31079         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
31080         they are defined.
31082 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
31084         posixtm: avoid compiler warning in a better way
31085         * lib/posixtm.c (IF_LINT): Remove.
31086         (year, posix_time_parse):
31087         Return true (not 0) if successful.  All callers changed.
31088         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
31090 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31092         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
31093         started with '/' on EMX.
31095 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31097         freopen: workaround freopen() on OS/2 kLIBC
31098         * lib/freopen.c (rpl_freopen): Workaround.
31099         * m4/freopen.m4: Add os2* case.
31101         get_shared_library_fullname: port to EMX
31102         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
31103         on EMX, respectively.
31104         (_DLL_InitTerm): New on EMX.
31105         (get_shared_library_fullname): Implement on EMX.
31107         find_executable: port to EMX
31108         * lib/progreloc.c (find_executable): Implement on EMX.
31110         sched: check struct sched_param in spawn.h as well
31111         * lib/sched.in.h: Include spawn.h on kLIBC.
31112         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
31114 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
31116         bootstrap: Allow perl modules in $buildreq
31117         * build-aux/bootstrap: Add case for perl modules.
31119 2014-12-08  Pádraig Brady  <P@draigBrady.com>
31121         apply _GL_ATTRIBUTE_PURE to some inline functions
31122         clang 3.4.2 flagged these inline functions as pure
31123         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
31124         * lib/sig-handler.h (get_handler): Likewise.
31125         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
31126         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
31128 2014-12-06  Pádraig Brady  <P@draigBrady.com>
31130         vasnprintf: fix potential use after free
31131         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
31132         flagged by clang-analyzer 3.4.2.
31134 2014-12-05  Pádraig Brady  <P@draigBrady.com>
31136         filevercmp, posixtm: avoid compiler warnings with -O3
31137         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
31138         * lib/posixtm.c: (IF_LINT): Define.
31139         (posix_time_parse): Use it to void a "may be used uninitialized"
31140         warning, seen only with -O3.
31142 2014-12-05  Bruno Haible  <bruno@clisp.org>
31144         Fix LDBL80_WORDS macro on big endian platforms.
31145         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
31146         LDBL80_WORDS macro.
31147         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31148         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31149         * tests/test-isfinite.c (test_isfinitel): Likewise.
31150         * tests/test-isinf.c (test_isinfl): Likewise.
31151         * tests/test-isnan.c (test_long_double): Likewise.
31152         * tests/test-isnanl.h (main): Likewise.
31153         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
31154         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
31155         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
31156         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
31157         Reported by Pádraig Brady.
31159 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
31161         git-version-gen: do not print new line characters
31162         * build-aux/git-version-gen: Use printf instead of echo and tr.
31164         gnulib-tool: recognize x:* as an absolute path
31165         * gnulib-tool (func_gnulib_dir): Add ?:* case.
31166         (func_relconcat): Likewise.
31168 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
31170         argp: avoid extraneous translation and mem leak with empty pre doc
31171         * lib/argp-help.c (argp_doc): Never translate the empty string,
31172         when "\v" is the first or last character of the string, as that
31173         has a reserved meaning to return the header info from a po file.
31174         This also fixes a small memory leak in the !post case.
31175         The issue can be seen with this command for example:
31176         LC_MESSAGES=en_US grub2-mknetdir --help
31178 2014-11-27  Daiki Ueno  <ueno@gnu.org>
31180         uniname/uniname-tests: skip if system's libunistring is used
31181         * modules/uniname/uniname-tests (Makefile.am): Skip test if
31182         uniname/uniname module is not compiled.
31184 2014-11-27  Pádraig Brady  <P@draigBrady.com>
31186         printf: fix configure check on big endian systems
31187         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
31189 2014-11-22  Daiki Ueno  <ueno@gnu.org>
31191         pipe-filter-gi, pipe-filter-ii: port to AIX
31192         On AIX 7.1, 'select' is defined as static and cannot be referred
31193         to from inline function.
31194         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
31195         the definition...
31196         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
31197         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
31199 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
31201         gitlog-to-changelog: add --until
31202         * build-aux/gitlog-to-changelog: Support new --until option.
31203         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
31205 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
31207         extern-inline: update commentary about GCC bugs
31208         * m4/extern-inline.m4: Add another GCC bug number to comments.
31210 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31212         gen-uni-tables: untabify
31213         * lib/gen-uni-tables.c: Untabify.
31215 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31217         gen-uni-tables: check out-of-range values added to 3-level tables
31218         * lib/gen-uni-tables.c (output_category, output_bidi_category)
31219         (output_joining_type, output_ident_category): Check out-of-range
31220         values added to 3-level tables.
31222 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31224         gen-uni-tables: utilize 'assert'
31225         * lib/gen-uni-tables.c: Include <assert.h>.
31226         (output_category, output_combclass, output_decimal_digit_test)
31227         (output_decimal_digit, output_digit_test, output_digit)
31228         (output_numeric, get_mirror_value, fill_properties)
31229         (fill_property30, is_property_alphabetic)
31230         (is_property_default_ignorable_code_point)
31231         (is_property_uppercase, is_property_lowercase)
31232         (is_property_cased, is_property_case_ignorable)
31233         (is_property_changes_when_lowercased, is_property_iso_control)
31234         (is_property_math, fill_arabicshaping, output_joining_group)
31235         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
31236         (output_wbp, fill_org_gbp, get_decomposition)
31237         (output_decomposition, fill_composition_exclusions)
31238         (debug_output_composition_tables, output_composition_tables)
31239         (redistribute_casefolding_rules, output_casing_rules): Use
31240         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
31241         reporting.
31243 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31245         gen-uni-tables: cosmetic improvements
31246         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
31247         variables specification.
31248         (is_outdigit): Remove unused function.
31250 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
31252         fcntl-h-tests: port to PA-RISC GNU/Linux
31253         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
31255 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
31257         fts: port to C89
31258         Problem reported for MSVC 16 by Gisle Vanem in:
31259         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
31260         * lib/fts.c (fts_build): Avoid declaration before statement.
31262 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31264         unistd: port to iOS
31265         Problem reported by André Klitzing in:
31266         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
31267         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
31269 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
31271         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
31272         Problem reported by Alan Modra in:
31273         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
31274         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
31275         Always cast the function arg, reverting this part of the previous
31276         change.
31278 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
31280         obstack: avoid potentially-nonportable function casts
31281         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
31282         Remove, replacing with ...
31283         (call_chunkfun, call_freefun): New static functions.
31284         All uses changed.  Avoid potentially-nonportable casts.
31285         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
31286         (_obstack_begin_worker): Omit last two args, since they
31287         rely on potentially-nonportable casts.  All callers changed.
31288         * lib/obstack.h (_OBSTACK_CAST): New macro.
31289         Use it everywhere the old API used a potentially-nonportable cast.
31290         The new API doesn't cast.
31291         (struct obstack): Use unions rather than requiring
31292         potentially-nonportable casts.
31293         (obstack_chunkfun, obstack_freefun): Return void.
31295 2014-11-03  Alan Modra  <amodra@gmail.com>
31297         obstack: fix macro return values
31298         * lib/obstack.h (obstack_next_free): Return void *.
31299         (obstack_1grow_fast, obstack_blank_fast): Return void.
31300         For __GNUC__ macros:
31301         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
31302         For !__GNUC__ macros:
31303         (obstack_make_room, obstack_grow, obstack_grow0)
31304         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
31306 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
31308         obstack: do not assume system-supplied obstack is size_t safe
31309         * m4/obstack.m4: New file.
31310         * modules/obstack (Files): Add it.
31312         obstack: port to platforms that #define __alignof__
31313         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
31314         not if !_LIBC.  We don't know of any platforms that #define
31315         __alignof__, but it might be useful in tests.  Conversely,
31316         glibc assumes GCC.
31318 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31320         linkat: don't unconditionally replace on GNU/Linux
31321         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
31322         was redundant for a few reasons.  It was present to support compiling
31323         on new systems but running on the old narrow window of Linux 2.6.1[67].
31324         It setup and cleaned up test files which weren't actually used.
31325         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
31326         implicit in the following check.
31328 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31330         linkat: wrap to handle symlinks on OS X 10.10
31331         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
31332         but not usable because it doesn't support creating hardlinks
31333         to symlinks.  Therefore add a generic test for this capability
31334         and fallback to our emulation if linkat() fails with ENOTSUP.
31336 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
31338         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
31339         * doc/posix-functions/open.texi (open):
31340         * doc/posix-functions/openat.texi (openat):
31341         Document that these functions do not set errno to ELOOP when
31342         a symlink is opened with O_NOFOLLOW.
31344 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
31346         obstack: add NEWS entry for recent incompatible changes
31347         * NEWS: Describe recent changes.
31349 2014-10-30  Pádraig Brady  <P@draigBrady.com>
31351         mountlist: don't use libmount to decide on dummy/remote
31352         * lib/mountlist.c (read_file_system_list): Don't use the libmount
31353         routines to determine whether a file system is dummy or remote,
31354         as they're not currently compatible.  For example the remoteness
31355         is determined on file system type (for which the list seems incomplete),
31356         rather than simply checking for a ':' in the device name.
31357         Also libmount currently determines that 'tmpfs' is a dummy file system
31358         even though it has associated storage.
31360 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
31362         obstack: prefer __alignof__ to alignof
31363         This is for portability to pre-4.7 GCC when compiling glibc.
31364         See Joseph S. Myers in:
31365         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
31366         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
31367         New macro, defined by including and using <alignof.h>.
31368         (MAX): New macro.
31369         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
31370         Do not use enums as they are not portable to some broken compilers.
31371         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
31373         obstack: prefer alignof to calculating alignments by hand
31374         * lib/obstack.c: Include <stdalign.h>.
31375         (struct fooalign): Remove.
31376         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
31377         * modules/obstack (Depends-on): Add stdalign.
31379 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
31381         obstack: use size_t alignments and check for overflow
31382         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
31383         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
31384         * lib/obstack.h (struct obstack.alignment_mask):
31385         Use _OBSTACK_SIZE_T, not int, for alignments.
31386         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
31387         overflows, e.g., when adding the alignment.
31389 2014-10-29  Alan Modra  <amodra@gmail.com>
31391         obstack: 64-bit obstack support, part 3
31392         This finally enables full 64-bit obstack support.  The glibc
31393         shared library specific code is removed from obstack.c too, and
31394         the error handling code conditionally compiled under control of
31395         another macro, _OBSTACK_NO_ERROR_HANDLER.
31396         * lib/obstack.h: Include string.h earlier.
31397         (_OBSTACK_INTERFACE_VERSION): Define.
31398         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
31399         * lib/obstack.c: Don't include shlib-compat.h.
31400         (OBSTACK_INTERFACE_VERSION): Delete.
31401         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
31402         glibc code is compatible with version 2.  Don't include stdio.h for
31403         __GNU_LIBRARY.
31404         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
31405         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
31406         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
31407         glibc shared library specific source.
31409         obstack: 64-bit obstack support, part 2
31410         This gets us 4G obstack support, without changing ABI
31411         compatibility, apart from possibly introducing some
31412         signed/unsigned comparison warnings in code that uses obstack.h.
31413         a) Replace "int" size parameters, return values, and macro local vars
31414            with _OBSTACK_SIZE_T, an "unsigned int" for now.
31415         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
31416         c) Make all obstack macros checking available room use obstack_room.
31417            "next_free + desired > chunk_limit" may wrap the lhs for chunks
31418            allocated near the top of memory.
31419         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
31420         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
31421         in place of "int" size parameters, return values and local vars.
31422         (_CHUNK_SIZE_T): Define.
31423         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
31424         union use an _OBSTACK_SIZE_T integer type.
31425         For __GNUC__ versions of the following macros...
31426         (obstack_room): Rename local var.
31427         (obstack_make_room): Use obstack_room.
31428         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
31429         obstack_int_grow, obstack_blank): Likewise.
31430         (obstack_finish): Use unsigned comparison when comparing aligned
31431         next_free against chunk_limit.
31432         (obstack_free): Cast OBJ to remove possible const qualifier.
31433         For !__GNUC__ versions of the following macros...
31434         (obstack_make_room): Use obstack_room.
31435         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
31436         obstack_int_grow, obstack_blank): Likewise.
31437         (obstack_finish): Use unsigned comparision when comparing aligned
31438         next_free against chunk_limit.
31439         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
31440         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
31441         _OBSTACK_SIZE_T.
31442         (_obstack_begin, _obstack_begin_1): Likewise.
31443         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
31444         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
31446         obstack: 64-bit obstack support, part 1
31447         a) Correct calls to alloc function, to use a size_t arg.  "long" is
31448            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
31449            and "size_t" 64 bits.
31450         b) Consolidate _obstack_begin and _obstack_begin1 code.
31451         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
31452         use "size_t" rather than "long".
31453         (_obstack_begin, _obstack_begin1): Likewise.
31454         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
31455         obstack_chunkfun): Update alloc function casts.
31456         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
31457         (chunkfun_type, freefun_type): New typdefs.
31458         (_obstack_begin_worker): Split out from ..
31459         (_obstack_begin, _obstack_begin_1): ..here.
31461         obstack: tidy part 2
31462         a) Don't be concerned about "not polluting the namespace with stddef.h
31463            symbols" in obstack.h, since gnulib string.h includes stddef.h
31464            anyway, and it seems unlikely that anyone would care.
31465         b) Don't roll our own slow memcpy in _obstack_newchunk.
31466         c) Rename obstack_free to _obstack_free.  This makes the naming
31467            consistent with other obstack functions and obviates the need for
31468            __obstack_free.  Ancient obstack.c defined both obstack_free and
31469            _obstack_free.  We continue to do that for _LIBC via an alias.
31470         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
31471            is clever, but nowadays gcc warns on undefined macros.  You'll get
31472            an undefined macro warning if simulating an old gcc with -U__GNUC__
31473            -U__GNUC_MINOR__ -D__GNUC__=1.
31474         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
31475         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
31476         (__obstack_free): Delete, update refs.
31477         (_obstack_free): Rename from obstack_free.
31478         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
31479         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
31480         * lib/obstack.c: Don't include stddef.h.
31481         (COPYING_UNIT): Delete.
31482         (_obstack_begin): Formatting fix.
31483         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
31484         (_obstack_free): Rename from __obstack_free, update alias.  Move
31485         undef of obstack_free to where it is needed.
31487         obstack: tidy part 1
31488         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
31489            to me, and result in overlong lines after later patches.
31490         b) Move error handling code, to avoid a forward declaration and to
31491            simplify later patches in this series.
31492         * lib/obstack.h (struct obstack <temp>): Rename fields of union
31493         and update all uses.
31494         * lib/obstack.c: Include stdlib.h earlier.
31495         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
31496         in file.
31497         (print_and_abort): Remove now redundant forward declaration.
31499 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31501         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
31502         Without this change, in bleeding-edge fileutils Autoconf complains
31503         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
31504         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
31505         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
31506         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
31508 2014-10-24  Daiki Ueno  <ueno@gnu.org>
31510         iconv: avoid false detection of non-working iconv
31511         The INBUF arguments of iconv can be either 'const char **'
31512         or 'char **'.  If CC is g++, the difference causes a compile error
31513         and thus leads to a false detection of non-working iconv.
31514         Reported by Eli Zaretskii and Werner LEMBERG in:
31515         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
31516         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
31517         iconv.  Bump serial number.
31519 2014-10-23  Pádraig Brady  <P@draigBrady.com>
31521         bootstrap: print more diagnostics for missing programs
31522         * build-aux/bootstrap: only suppress stderr when checking for
31523         alternative program names.  This supports programs issuing non
31524         standard error messages.
31526 2014-10-23  Pádraig Brady  <P@draigBrady.com>
31528         bootstrap: only update the gnulib submodule
31529         * build-aux/bootstrap: Restrict the "submodule update" command
31530         to the gnulib path.
31532 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
31534         symlinkat: port to AIX 7.1
31535         * doc/posix-functions/symlinkat.texi (symlinkat):
31536         Mention AIX porting problem.
31537         * lib/symlinkat.c: Always include errno.h.
31538         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
31539         * lib/unistd.in.h (symlinkat): Add replacement machinery.
31540         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
31541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
31542         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
31543         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
31544         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
31546         readlinkat: port to AIX 7.1
31547         * doc/posix-functions/readlink.texi (readlink):
31548         * doc/posix-functions/readlinkat.texi (readlinkat):
31549         Mention AIX porting problem.
31550         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
31551         New function.
31552         * lib/unistd.in.h (readlinkat): Add replacement machinery.
31553         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
31554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
31555         * modules/readlinkat (configure.ac): Also compile replacement
31556         if REPLACE_READLINKAT.
31557         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
31559 2014-10-12  Karl Berry  <karl@gnu.org>
31561         * doc/posix-functions/dirname.texi: remove spurious {.
31563 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
31565         basename, dirname: Improve documentation.
31566         * doc/posix-functions/basename.texi: Mention dirname module and
31567         base_name() function.
31568         * doc/posix-functions/dirname.texi: Mention dir_name() and
31569         mdir_name() functions.
31570         Suggested by Werner LEMBERG <wl@gnu.org>.
31572 2014-09-24  Jim Meyering  <meyering@fb.com>
31574         exclude: declare exclude_patopts static
31575         * lib/exclude.c (exclude_patopts): Declare static,
31576         to avoid triggering a -Wmissing-prototypes warning.
31577         The alternative (declaring it in the .h file) would
31578         require publicizing the private "struct patopts".
31580 2014-09-21  Werner Lemberg  <wl@gnu.org>
31582         dirname: support compilation with C++
31583         * lib/dirname.h: Add necessary C linkage declarations.
31585 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
31587         qsort_r: include <config.h>
31588         Problem reported by Tom G. Christensen in:
31589         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
31590         * lib/qsort.c [!_LIBC]: Include <config.h> first.
31592 2014-09-16  Dylan Cali  <calid1984@gmail.com>
31594         avltree-list: avoid compiler warnings (trivial)
31595         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
31596         -Werror=suggest-attribute=pure.
31597         * lib/gl_array_list.c: Likewise.
31598         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
31599         declaration to avoid -Werror=missing-prototypes.  This is not added
31600         to a header as only exported for tests.  Add (void) to the
31601         check_invariants() call to indicate we're discarding the result
31602         in this context which avoids -Werror=unused-value.  Note we don't
31603         use ignore_value here to avoid a dependency as we know we'll not
31604         be adding __attribute__((warn_unused_result)) to check_invariants().
31605         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
31607 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
31609         qsort_r: new module, for GNU-style qsort_r
31610         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
31612 2014-09-15  Werner LEMBERG  <wl@gnu.org>
31614         strerror_r-posix: support compilation with C++
31615         * lib/strerror_r.c: Add necessary C linkage declarations.
31617 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
31619         fcntl-h: fix compilation with Intel C++ compiler (trivial)
31620         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
31622 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
31624         mountlist: use /proc/self/mountinfo when available
31625         Use libmount to propagate device IDs provided by Linux in
31626         /proc/self/mountinfo.  This will give more accurate output when
31627         using df in chroot'ed environments as the device IDs are not
31628         determined by stat() which may be inaccurate within the chroot.
31629         * lib/mountlist.c (read_file_system_list): Use the libmount routines
31630         from util-linux to parse "/proc/self/mountinfo" or fall back to
31631         standard getmntent() processing.
31632         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
31633         getmntent() is used, as is the case on GNU/Linux.
31635 2014-09-07  Eric Wong  <normalperson@yhbt.net>
31637         users.txt: add cmogstored
31638         cmogstored has used gnulib since the beginning in 2012 to support
31639         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
31641 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
31643         Trivial change.
31644         * gnulib-tool: Use same options as build-aux/bootstrap to download
31645         PO files.
31647 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
31649         Trivial change.
31650         * gnulib-tool: Fallback to wget when rsync of PO files fails.
31652 2014-09-04  Eric Blake  <eblake@redhat.com>
31654         maintainer-makefile: add syntax check for useless ';;'
31655         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
31657 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
31659         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
31660         Problem reported by Assaf Gordon in:
31661         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
31662         Apparently Ubuntu is doing some fancy link-time optimization
31663         that doesn't work with -lpthread but does work with -pthread.
31664         Work around the bug by preferring -pthread to -lpthread.
31665         * m4/pthread.m4 (gl_PTHREAD_CHECK):
31666         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
31667         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
31668         Treat -pthread like -lpthread.
31670 2014-09-04  Eric Blake  <eblake@redhat.com>
31672         error: drop spurious semicolon
31673         * lib/error.c (__error_at_line): Fix ';;'.
31675 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
31677         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
31678         * m4/gnulib-common.m4 (AC_C_RESTRICT):
31679         Override AC_C_RESTRICT unconditionally.
31680         Update from autoconf, incorporating:
31681         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
31682         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
31684 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31686         manywarnings: add GCC 4.9 warnings
31687         Also, make it easier to maintain this in the future.
31688         * build-aux/gcc-warning.spec: Add -Wabi-tag,
31689         -Wconditionally-supported, -Wdelete-incomplete,
31690         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
31691         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
31692         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
31693         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
31694         only for older GCC versions that need them.  Handle
31695         -Wnormalized=nfc specially, so that the 'comm' command used
31696         for maintenance doesn't get confused.
31698 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
31700         vasnprintf: fix bugs in width computation
31701         * lib/vasnprintf.c (VASNPRINTF):
31702         Rework previous change, which introduced a bug,
31703         to avoid the warning in a different way.
31704         Avoid undefined behavior if the width arg is less than -INT_MAX.
31705         Avoid unnecessary use of HAS_WIDTH local.
31707 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
31709         vasnprintf: Avoid signed/unsigned comparison warning.
31710         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
31711         compare end addr of generated string w/ maximum end addr.
31713 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
31715         parse-datetime: Avoid pointer difference.
31716         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
31717         instead of calculating difference of pointers.  This removes an
31718         annoying warning, devoid of any use.
31720 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
31722         qsort_r: new module, for GNU-style qsort_r
31723         This works even on FreeBSD, which has an incompatible qsort_r API.
31724         * MODULES.html.sh: Add it.
31725         * doc/glibc-functions/qsort_r.texi: It's now supported.
31726         * lib/qsort.c: New file, taken from glibc with minor changes
31727         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
31728         removed.
31729         * lib/qsort_r.c: New file, compiled only on FreeBSD.
31730         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
31731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
31732         * modules/qsort_r, modules/qsort_r-tests: New files.
31733         * modules/stdlib (Makefile): Set up its defaults.
31734         * tests/test-qsort_r.c: New file.
31736 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
31738         vla: new module
31739         GNU RCS can use this, mostly for documentation I expect.  See:
31740         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
31741         * MODULES.html.sh: Add vla.
31742         * lib/vla.h, modules/vla: New files.
31744 2014-08-07  Daiki Ueno  <ueno@gnu.org>
31746         localename: make gl_locale_name_thread really thread-safe on Windows
31747         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
31748         "glthread/lock.h".
31749         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
31750         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
31752 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
31754         getpass: don't assume struct termios
31755         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
31756         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
31757         * lib/getpass.c (getpass): Port to systems lacking struct termios.
31759         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
31760         Problem reported by Jonas 'Sortie' Termansen in:
31761         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
31762         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
31763         Implement via sysconf for platforms that lack getdtablesize.
31765         vararrays: modernize AC_C_VARARRAYS for C11
31766         This backports a change I recently made to Autoconf.
31767         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
31768         VLAs are not supported, as this is what C11 does.  The old macro
31769         HAVE_C_VARARRAYS is still defined if they are supported, but is
31770         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
31772 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
31774         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
31775         * build-aux/install-reloc (func_create_wrapper): Also wrap
31776         strerror-override, stat, stat.
31778 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
31780         sys_select: fix FD_ZERO problem on Solaris 10
31781         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
31782         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
31783         to expand to an expression that invoked memset without necessarily
31784         including <string.h>.  The problem was that the first include
31785         defined _SYS_TIME_H, causing the second include to short-circuit.
31786         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
31787         Also, fix what appears to be a cut-and-paste typo, by replacing
31788         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
31789         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
31791         accept: document Solaris 10 type glitch
31792         * doc/posix-functions/accept.texi (accept): Mention that
31793         Solaris 10 'accept' takes void * last arg, not socklen_t *.
31795 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
31797         extern-inline: port to FreeBSD, DragonFly
31798         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
31799         is present if either __DragonFly__ or __FreeBSD__ is defined.
31800         FreeBSD problem reported by Andrey Borzenkov in:
31801         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
31802         Also, worry about __APPLE__ only if __MACH__ is also defined,
31803         as this is more consistent with the rest of gnulib.
31804         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
31805         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
31807 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
31809         regex: Make #if/#ifdef usage consistent for DEBUG
31810         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
31811         of the inconsistent usage of #if and #ifdef as that works with
31812         both Glibc and Gnulib's style.
31814 2014-07-31  Eric Blake  <eblake@redhat.com>
31816         openat-die: use _Noreturn markup
31817         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
31818         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
31819         _Noreturn.
31821 2014-07-30  Eric Blake  <eblake@redhat.com>
31823         test-open: port to cygwin, which lacks Fortify
31824         * tests/test-open.h (ALWAYS_INLINE): New macro.
31825         (__always_inline): Don't abuse internal symbol on non-glibc.
31827 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
31829         localename: Enforce declarations before statements.
31830         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
31831         first statement.
31833 2014-07-18  Jim Meyering  <meyering@fb.com>
31835         test-userspec: don't look up numeric user names
31836         * tests/test-userspec.c: I found a system for which getpwnam("0")
31837         returned a pointer to a non-root user's entry, and that made the
31838         test fail.
31839         (T): Prefix each numeric input with "+", to inhibit lookup.
31841 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
31843         localcharset, localename: MS-Windows support for non-default locales
31844         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
31845         falling back on the default system codepage, try extracting
31846         the codepage from what 'setlocale' returns.  This allows to
31847         take into account changes of the codeset due to non-default
31848         locale set by a previous call to 'setlocale'.
31849         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
31850         Define if not already defined.
31851         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
31852         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
31853         current locale by calling 'setlocale', then converting the
31854         locale name into LCID by calling 'get_lcid'.  This allows to
31855         take into account changes in the current locale from the
31856         default one, in contrast to GetThreadLocale.
31858 2014-07-14  Daiki Ueno  <ueno@gnu.org>
31860         announce-gen: avoid failure when Digest::SHA is installed
31861         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
31862         Digest::SHA1->new in print_checksums fails.
31863         * build-aux/announce-gen (digest_classes): New associative array
31864         for available message digest implementations.
31865         (print_locations): Use it.
31867 2014-07-13  Pádraig Brady  <P@draigBrady.com>
31869         gettext: revert "update macros to version 0.19"
31870         This reverts commit 9b9370ca, as it currently requires that
31871         developers of any project that explicitly uses the gettext module
31872         or implicitly uses it through the utimens-tests or
31873         futimens-tests modules, use gettext >= 0.19.
31874         However there are some stability and availablity issues with
31875         that version at present.  We can reinstate this soon, when stability
31876         is addressed and packages are more readily available.
31878 2014-07-12  Jim Meyering  <meyering@fb.com>
31880         regex: don't deref NULL upon heap allocation failure
31881         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
31882         failure in one more place.
31883         To trigger the segfault, configure grep -with-included-regex,
31884         build it, and run these commands:
31885         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
31886         I discovered this while replying to a private report from
31887         Jens Schleusener about excessive memory consumption by grep
31888         when using a regular expression like the one above.
31890 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
31892         regex: fix memory leak in compiler
31893         Fix by Andreas Schwab in:
31894         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
31895         * lib/regcomp.c (parse_reg_exp): Deallocate partially
31896         constructed tree before returning error.
31898 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
31900         announce-gen: avoid perl warnings
31901         * build-aux/announce-gen: add two minor checks to avoid
31902         "use of uninitialized value" warnings when command-line parameters are
31903         missing.
31905 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
31907         localename: avoid -Wsuggest-attribute={const,pure} warnings
31908         * lib/localename.c (string_has): Tag internal function as pure.
31909         * lib/localename.h (gl_locale_name_default): Tag extern declaration
31910         as const when appropriate.
31912 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
31914         nl_langinfo: Fix last change.
31915         * lib/nl_langinfo.c (includes): Drop redundant include.
31917 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
31919         error: Fix -Wundef warnings in glibc
31920         * lib/error.c [_LIBC]: Define default macros for
31921         glibc.
31922         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
31923         Check _LIBC before STRERROR_R_CHAR_P.
31925         error: Sync from glibc master
31926         * lib/error.c [_LIBC]: Remove INTUSE usage.
31927         (error_tail): Remove unused macro ALLOCA_LIMIT.
31928         Fix potential buffer overflow.  Fix potential NULL dereference
31929         in strcmp.
31931 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
31933         nl_langinfo: fix build under mingw
31934         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
31936 2014-07-09  Andrew D Warshall  <warshall@99main.com>
31938         mountlist: do not classify a bind-mounted dir entry as "dummy"
31939         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
31940         1-argument getmntent() (instead of assuming absence).
31942 2014-07-08  Eric Blake  <eblake@redhat.com>
31944         maint.mk: less syntax-check noise when SIGPIPE is ignored
31945         * top/maint.mk (_sc_header_without_use)
31946         (sc_require_config_h_first): Parse full list.
31948 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
31949             Paul Eggert  <eggert@cs.ucla.edu>
31951         nl_langinfo: CODESET on MS-Windows and more items from localeconv
31952         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
31953         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
31954         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
31955         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
31956         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
31957         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
31958         Include <stdio.h> if Microsoft Windows.
31959         Include <time.h> if !REPLACE_NL_LANGINFO.
31960         (ctype_codeset): New function, taken from rpl_nl_langinfo,
31961         and with improvements for Microsoft Windows.
31962         (rpl_nl_langinfo): Use it.
31963         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
31964         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
31965         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
31966         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
31967         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
31968         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
31969         corresponding values returned by 'localeconv'.  Compute the values
31970         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
31971         'strftime' with a suitable struct tm value.
31973 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
31975         Bruno Haible has stepped down as maintainer.
31976         See Karl Berry in:
31977         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
31978         Daiki Ueno has volunteered to maintain libunistring; see:
31979         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
31980         * modules/gen-uni-tables, modules/libunistring:
31981         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
31982         * modules/unicase/base, modules/unicase/cased:
31983         * modules/unicase/empty-prefix-context:
31984         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
31985         * modules/unicase/locale-language, modules/unicase/special-casing:
31986         * modules/unicase/tocasefold, modules/unicase/tolower:
31987         * modules/unicase/totitle, modules/unicase/toupper:
31988         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
31989         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
31990         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
31991         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
31992         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
31993         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
31994         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
31995         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
31996         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
31997         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
31998         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
31999         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
32000         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
32001         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
32002         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
32003         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
32004         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
32005         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
32006         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
32007         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
32008         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
32009         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
32010         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
32011         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
32012         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
32013         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
32014         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
32015         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
32016         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
32017         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
32018         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
32019         * modules/unicase/ulc-casexfrm, modules/unicodeio:
32020         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
32021         * modules/uniconv/u16-conv-to-enc:
32022         * modules/uniconv/u16-strconv-from-enc:
32023         * modules/uniconv/u16-strconv-from-locale:
32024         * modules/uniconv/u16-strconv-to-enc:
32025         * modules/uniconv/u16-strconv-to-locale:
32026         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
32027         * modules/uniconv/u32-strconv-from-enc:
32028         * modules/uniconv/u32-strconv-from-locale:
32029         * modules/uniconv/u32-strconv-to-enc:
32030         * modules/uniconv/u32-strconv-to-locale:
32031         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
32032         * modules/uniconv/u8-strconv-from-enc:
32033         * modules/uniconv/u8-strconv-from-locale:
32034         * modules/uniconv/u8-strconv-to-enc:
32035         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
32036         * modules/unictype/bidicategory-all:
32037         * modules/unictype/bidicategory-byname:
32038         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
32039         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
32040         * modules/unictype/bidiclass-byname:
32041         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
32042         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
32043         * modules/unictype/block-all, modules/unictype/block-list:
32044         * modules/unictype/block-of, modules/unictype/block-test:
32045         * modules/unictype/category-C, modules/unictype/category-Cc:
32046         * modules/unictype/category-Cf, modules/unictype/category-Cn:
32047         * modules/unictype/category-Co, modules/unictype/category-Cs:
32048         * modules/unictype/category-L, modules/unictype/category-LC:
32049         * modules/unictype/category-Ll, modules/unictype/category-Lm:
32050         * modules/unictype/category-Lo, modules/unictype/category-Lt:
32051         * modules/unictype/category-Lu, modules/unictype/category-M:
32052         * modules/unictype/category-Mc, modules/unictype/category-Me:
32053         * modules/unictype/category-Mn, modules/unictype/category-N:
32054         * modules/unictype/category-Nd, modules/unictype/category-Nl:
32055         * modules/unictype/category-No, modules/unictype/category-P:
32056         * modules/unictype/category-Pc, modules/unictype/category-Pd:
32057         * modules/unictype/category-Pe, modules/unictype/category-Pf:
32058         * modules/unictype/category-Pi, modules/unictype/category-Po:
32059         * modules/unictype/category-Ps, modules/unictype/category-S:
32060         * modules/unictype/category-Sc, modules/unictype/category-Sk:
32061         * modules/unictype/category-Sm, modules/unictype/category-So:
32062         * modules/unictype/category-Z, modules/unictype/category-Zl:
32063         * modules/unictype/category-Zp, modules/unictype/category-Zs:
32064         * modules/unictype/category-all, modules/unictype/category-and:
32065         * modules/unictype/category-and-not, modules/unictype/category-byname:
32066         * modules/unictype/category-longname, modules/unictype/category-name:
32067         * modules/unictype/category-none, modules/unictype/category-of:
32068         * modules/unictype/category-or, modules/unictype/category-test:
32069         * modules/unictype/category-test-withtable:
32070         * modules/unictype/combining-class:
32071         * modules/unictype/combining-class-all:
32072         * modules/unictype/combining-class-byname:
32073         * modules/unictype/combining-class-longname:
32074         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
32075         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
32076         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
32077         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
32078         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
32079         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
32080         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
32081         * modules/unictype/digit, modules/unictype/joininggroup-all:
32082         * modules/unictype/joininggroup-byname:
32083         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
32084         * modules/unictype/joiningtype-all:
32085         * modules/unictype/joiningtype-byname:
32086         * modules/unictype/joiningtype-longname:
32087         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
32088         * modules/unictype/mirror, modules/unictype/numeric:
32089         * modules/unictype/property-all, modules/unictype/property-alphabetic:
32090         * modules/unictype/property-ascii-hex-digit:
32091         * modules/unictype/property-bidi-arabic-digit:
32092         * modules/unictype/property-bidi-arabic-right-to-left:
32093         * modules/unictype/property-bidi-block-separator:
32094         * modules/unictype/property-bidi-boundary-neutral:
32095         * modules/unictype/property-bidi-common-separator:
32096         * modules/unictype/property-bidi-control:
32097         * modules/unictype/property-bidi-embedding-or-override:
32098         * modules/unictype/property-bidi-eur-num-separator:
32099         * modules/unictype/property-bidi-eur-num-terminator:
32100         * modules/unictype/property-bidi-european-digit:
32101         * modules/unictype/property-bidi-hebrew-right-to-left:
32102         * modules/unictype/property-bidi-left-to-right:
32103         * modules/unictype/property-bidi-non-spacing-mark:
32104         * modules/unictype/property-bidi-other-neutral:
32105         * modules/unictype/property-bidi-pdf:
32106         * modules/unictype/property-bidi-segment-separator:
32107         * modules/unictype/property-bidi-whitespace:
32108         * modules/unictype/property-byname:
32109         * modules/unictype/property-case-ignorable:
32110         * modules/unictype/property-cased:
32111         * modules/unictype/property-changes-when-casefolded:
32112         * modules/unictype/property-changes-when-casemapped:
32113         * modules/unictype/property-changes-when-lowercased:
32114         * modules/unictype/property-changes-when-titlecased:
32115         * modules/unictype/property-changes-when-uppercased:
32116         * modules/unictype/property-combining:
32117         * modules/unictype/property-composite:
32118         * modules/unictype/property-currency-symbol:
32119         * modules/unictype/property-dash:
32120         * modules/unictype/property-decimal-digit:
32121         * modules/unictype/property-default-ignorable-code-point:
32122         * modules/unictype/property-deprecated:
32123         * modules/unictype/property-diacritic:
32124         * modules/unictype/property-extender:
32125         * modules/unictype/property-format-control:
32126         * modules/unictype/property-grapheme-base:
32127         * modules/unictype/property-grapheme-extend:
32128         * modules/unictype/property-grapheme-link:
32129         * modules/unictype/property-hex-digit:
32130         * modules/unictype/property-hyphen:
32131         * modules/unictype/property-id-continue:
32132         * modules/unictype/property-id-start:
32133         * modules/unictype/property-ideographic:
32134         * modules/unictype/property-ids-binary-operator:
32135         * modules/unictype/property-ids-trinary-operator:
32136         * modules/unictype/property-ignorable-control:
32137         * modules/unictype/property-iso-control:
32138         * modules/unictype/property-join-control:
32139         * modules/unictype/property-left-of-pair:
32140         * modules/unictype/property-line-separator:
32141         * modules/unictype/property-logical-order-exception:
32142         * modules/unictype/property-lowercase, modules/unictype/property-math:
32143         * modules/unictype/property-non-break:
32144         * modules/unictype/property-not-a-character:
32145         * modules/unictype/property-numeric:
32146         * modules/unictype/property-other-alphabetic:
32147         * modules/unictype/property-other-default-ignorable-code-point:
32148         * modules/unictype/property-other-grapheme-extend:
32149         * modules/unictype/property-other-id-continue:
32150         * modules/unictype/property-other-id-start:
32151         * modules/unictype/property-other-lowercase:
32152         * modules/unictype/property-other-math:
32153         * modules/unictype/property-other-uppercase:
32154         * modules/unictype/property-paired-punctuation:
32155         * modules/unictype/property-paragraph-separator:
32156         * modules/unictype/property-pattern-syntax:
32157         * modules/unictype/property-pattern-white-space:
32158         * modules/unictype/property-private-use:
32159         * modules/unictype/property-punctuation:
32160         * modules/unictype/property-quotation-mark:
32161         * modules/unictype/property-radical:
32162         * modules/unictype/property-sentence-terminal:
32163         * modules/unictype/property-soft-dotted:
32164         * modules/unictype/property-space:
32165         * modules/unictype/property-terminal-punctuation:
32166         * modules/unictype/property-test, modules/unictype/property-titlecase:
32167         * modules/unictype/property-unassigned-code-value:
32168         * modules/unictype/property-unified-ideograph:
32169         * modules/unictype/property-uppercase:
32170         * modules/unictype/property-variation-selector:
32171         * modules/unictype/property-white-space:
32172         * modules/unictype/property-xid-continue:
32173         * modules/unictype/property-xid-start:
32174         * modules/unictype/property-zero-width, modules/unictype/scripts:
32175         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
32176         * modules/unictype/syntax-c-whitespace:
32177         * modules/unictype/syntax-java-ident:
32178         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
32179         * modules/unigbrk/u16-grapheme-breaks:
32180         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
32181         * modules/unigbrk/u32-grapheme-breaks:
32182         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
32183         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
32184         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
32185         * modules/unigbrk/uc-is-grapheme-break:
32186         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
32187         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
32188         * modules/unilbrk/u16-width-linebreaks:
32189         * modules/unilbrk/u32-possible-linebreaks:
32190         * modules/unilbrk/u32-width-linebreaks:
32191         * modules/unilbrk/u8-possible-linebreaks:
32192         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
32193         * modules/unilbrk/ulc-possible-linebreaks:
32194         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
32195         * modules/uniname/uniname, modules/uninorm/base:
32196         * modules/uninorm/canonical-decomposition:
32197         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
32198         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
32199         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
32200         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
32201         * modules/uninorm/nfkc, modules/uninorm/nfkd:
32202         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
32203         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
32204         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
32205         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
32206         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
32207         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
32208         * modules/unistdio/base, modules/unistdio/u-printf-args:
32209         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
32210         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
32211         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
32212         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
32213         * modules/unistdio/u16-u16-sprintf:
32214         * modules/unistdio/u16-u16-vasnprintf:
32215         * modules/unistdio/u16-u16-vasprintf:
32216         * modules/unistdio/u16-u16-vsnprintf:
32217         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
32218         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
32219         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
32220         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
32221         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
32222         * modules/unistdio/u32-u32-asnprintf:
32223         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
32224         * modules/unistdio/u32-u32-sprintf:
32225         * modules/unistdio/u32-u32-vasnprintf:
32226         * modules/unistdio/u32-u32-vasprintf:
32227         * modules/unistdio/u32-u32-vsnprintf:
32228         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
32229         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
32230         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
32231         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
32232         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
32233         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
32234         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
32235         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
32236         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
32237         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
32238         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
32239         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
32240         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
32241         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
32242         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
32243         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
32244         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
32245         * modules/unistr/u16-check, modules/unistr/u16-chr:
32246         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
32247         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
32248         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
32249         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
32250         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
32251         * modules/unistr/u16-move, modules/unistr/u16-next:
32252         * modules/unistr/u16-prev, modules/unistr/u16-set:
32253         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
32254         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
32255         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
32256         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
32257         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
32258         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
32259         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
32260         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
32261         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
32262         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
32263         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
32264         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
32265         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
32266         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
32267         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
32268         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
32269         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
32270         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
32271         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
32272         * modules/unistr/u32-next, modules/unistr/u32-prev:
32273         * modules/unistr/u32-set, modules/unistr/u32-startswith:
32274         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
32275         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
32276         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
32277         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
32278         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
32279         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
32280         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
32281         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
32282         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
32283         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
32284         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
32285         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
32286         * modules/unistr/u8-check, modules/unistr/u8-chr:
32287         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
32288         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
32289         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
32290         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
32291         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
32292         * modules/unistr/u8-next, modules/unistr/u8-prev:
32293         * modules/unistr/u8-set, modules/unistr/u8-startswith:
32294         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
32295         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
32296         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
32297         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
32298         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
32299         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
32300         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
32301         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
32302         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
32303         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
32304         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
32305         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
32306         * modules/uniwbrk/base, modules/uniwbrk/table:
32307         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
32308         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
32309         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
32310         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
32311         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
32312         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
32313         * modules/uniwidth/width, modules/utf16-ucs4:
32314         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
32315         * modules/utf8-ucs4-unsafe:
32316         Change maintainer from Bruno Haible to Daiki Ueno.
32317         This is my guess at the libunistring modules; please feel free
32318         to fix if I guessed incorrectly.
32319         * modules/accept4, modules/acl, modules/acos, modules/acosf:
32320         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
32321         * modules/areadlink, modules/array-list, modules/array-mergesort:
32322         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
32323         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
32324         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
32325         * modules/binary-io, modules/bison-i18n, modules/btowc:
32326         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
32327         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
32328         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
32329         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
32330         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
32331         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
32332         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
32333         * modules/closedir, modules/concat-filename, modules/copy-file:
32334         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
32335         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
32336         * modules/csharpcomp-script, modules/csharpexec:
32337         * modules/csharpexec-script, modules/ctype, modules/diffseq:
32338         * modules/dprintf, modules/dprintf-posix, modules/dup:
32339         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
32340         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
32341         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
32342         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
32343         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
32344         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
32345         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
32346         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
32347         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
32348         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
32349         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
32350         * modules/findprog, modules/findprog-lgpl, modules/floor:
32351         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
32352         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
32353         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
32354         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
32355         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
32356         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
32357         * modules/freadable, modules/freadahead, modules/freadptr:
32358         * modules/freadseek, modules/freopen, modules/frexp:
32359         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
32360         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
32361         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
32362         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
32363         * modules/ftello, modules/full-read, modules/full-write:
32364         * modules/fwritable, modules/fwriteerror, modules/gcd:
32365         * modules/get-rusage-as, modules/get-rusage-data:
32366         * modules/getdtablesize, modules/getrusage, modules/gettext:
32367         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
32368         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
32369         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
32370         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
32371         * modules/iconv, modules/iconv-h, modules/iconv_open:
32372         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
32373         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
32374         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
32375         * modules/integer_length_ll, modules/ioctl, modules/isatty:
32376         * modules/isblank, modules/isnand, modules/isnand-nolibm:
32377         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
32378         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
32379         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
32380         * modules/javaexec, modules/javaexec-script, modules/javaversion:
32381         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
32382         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
32383         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
32384         * modules/lib-symbol-visibility, modules/libsigsegv:
32385         * modules/linked-list, modules/linkedhash-list, modules/list:
32386         * modules/localcharset, modules/locale, modules/localeconv:
32387         * modules/localename, modules/lock, modules/log, modules/log-ieee:
32388         * modules/log10, modules/log10-ieee, modules/log10f:
32389         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
32390         * modules/log1p, modules/log1p-ieee, modules/log1pf:
32391         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
32392         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
32393         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
32394         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
32395         * modules/logf, modules/logf-ieee, modules/login_tty:
32396         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
32397         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
32398         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
32399         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
32400         * modules/mbscspn, modules/mbsinit, modules/mbslen:
32401         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
32402         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
32403         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
32404         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
32405         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
32406         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
32407         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
32408         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
32409         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
32410         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
32411         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
32412         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
32413         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
32414         * modules/posix_spawn, modules/posix_spawn-internal:
32415         * modules/posix_spawn_file_actions_addclose:
32416         * modules/posix_spawn_file_actions_adddup2:
32417         * modules/posix_spawn_file_actions_addopen:
32418         * modules/posix_spawn_file_actions_destroy:
32419         * modules/posix_spawn_file_actions_init:
32420         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
32421         * modules/posix_spawnattr_getpgroup:
32422         * modules/posix_spawnattr_getschedparam:
32423         * modules/posix_spawnattr_getschedpolicy:
32424         * modules/posix_spawnattr_getsigdefault:
32425         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
32426         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
32427         * modules/posix_spawnattr_setschedparam:
32428         * modules/posix_spawnattr_setschedpolicy:
32429         * modules/posix_spawnattr_setsigdefault:
32430         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
32431         * modules/pow, modules/powf, modules/printf-frexp:
32432         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
32433         * modules/progname, modules/propername, modules/pselect:
32434         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
32435         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
32436         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
32437         * modules/read, modules/readdir, modules/readlink:
32438         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
32439         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
32440         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
32441         * modules/relocatable-script, modules/remainder:
32442         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
32443         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
32444         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
32445         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
32446         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
32447         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
32448         * modules/setlocale, modules/sh-quote, modules/shutdown:
32449         * modules/signal, modules/signbit, modules/sigpipe:
32450         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
32451         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
32452         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
32453         * modules/snippet/link-warning, modules/snippet/unused-parameter:
32454         * modules/snprintf, modules/snprintf-posix, modules/spawn:
32455         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
32456         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
32457         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
32458         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
32459         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
32460         * modules/streq, modules/strerror_r-posix, modules/striconv:
32461         * modules/striconveh, modules/striconveha, modules/strncat:
32462         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
32463         * modules/sublist, modules/sys_resource, modules/sys_utsname:
32464         * modules/sys_wait, modules/system-posix, modules/system-quote:
32465         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
32466         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
32467         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
32468         * modules/truncf, modules/truncf-ieee, modules/truncl:
32469         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
32470         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
32471         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
32472         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
32473         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
32474         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
32475         * modules/wait-process, modules/waitpid, modules/wcpcpy:
32476         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
32477         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
32478         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
32479         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
32480         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
32481         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
32482         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
32483         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
32484         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
32485         * modules/write, modules/xconcat-filename, modules/xlist:
32486         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
32487         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
32488         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
32489         * modules/y0, modules/y1, modules/yn:
32490         Remove Bruno Haible as maintainer; if he's the sole maintainer,
32491         change the maintainer to 'all'.  Let's hope someone volunteers.
32493 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
32495         mktime: merge #if/#ifdef usage from glibc
32496         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
32497         as that works with both Glibc's and Gnulib's style.
32498         See thread starting at Siddhesh Poyarekar's bug report at:
32499         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
32501 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
32503         git-version-gen: improve option descriptions
32504         * build-aux/git-version-gen: Mention that --prefix and --fallback
32505         have a mandatory argument.
32507 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
32509         regex: fix memory leak in compiler
32510         Fix by Andreas Schwab in:
32511         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
32512         * lib/regcomp.c (parse_expression): Deallocate partially
32513         constructed tree before returning error.
32515         regex: merge patch from libc
32516         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
32517         Combine __USE_BSD and __USE_SVID into __USE_MISC.
32518         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
32520 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
32522         acl: port to gcc -Wredundant-decls
32523         From a request by Dmitry Antipov in:
32524         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
32525         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
32526         "#ifndef _GL_ACL_H".
32528 2014-06-11  Bruce Korb  <bkorb@gnu.org>
32529         Jim Meyering  <meyering@fb.com>
32531         parse-duration: eliminate 68-year duration limit
32532         * lib/parse-duration.c: Include "intprops.h".
32533         (TIME_MAX): Rename to MAX_DURATION and define to
32534         TYPE_MAXIMUM(time_t).
32535         * modules/parse-duration (Depends-on): Add intprops.
32536         Reported by Jonas 'Sortie' Termansen.
32538 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32540         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
32541         * modules/pthread (Depends-on): Add 'extensions', as it defines
32542         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
32543         (configure.ac-early): New section.
32544         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
32545         it is no longer needed.
32547 2014-06-14  Pádraig Brady  <P@draigBrady.com>
32549         pthread: define thread-safe macros on some platforms
32550         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
32551         for thread-safe operation on some platforms.
32553 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
32555         regex: don't be multithreaded if USE_UNLOCKED_IO.
32556         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
32557         * lib/regex_internal.h: Do not use multithreaded version if
32558         USE_UNLOCKED_IO is defined.  This is a hack, but it works
32559         around a porting bug with coreutils 8.22 on AIX 7.1.
32561 2014-06-11  Daiki Ueno  <ueno@gnu.org>
32563         gettext: update macros to version 0.19
32564         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
32565         depend on gl_EXTERN_INLINE and drop support for older Bison
32566         versions.
32568 2014-06-10  Pádraig Brady  <P@draigBrady.com>
32570         select,poll: fix console handle check on windows 8
32571         lib/poll.c (IsConsoleHandle): Change from testing the lower
32572         2 bits of the handle to the more expensive but accurate syscall.
32573         lib/select.c: Likewise.
32575 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
32577         select: fix waiting on anonymous pipes on MS-Windows
32578         * lib/select.c (rpl_select): Fall back to polling when select()
32579         indicates there is nothing to check, while due to the timeout not
32580         expiring, activity is indicated on one of the handles.
32581         Also clear the TIMEOUT argument if the timer does expire.
32583 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
32585         times: fix to return non constant value on MS-Windows
32586         * lib/times.c (times): Don't use the process creation time,
32587         rather clock() which on windows returns the number of
32588         clock ticks since the process started.
32590 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
32592         isatty: fix to work on windows 8
32593         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
32594         2 bits of the handle to the more expensive but accurate syscall.
32596 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
32598         maint: fix typo in fdl.texi
32599         * doc/fdl.texi: Fix typo (missing '@').
32600         Somehow this was in fdl.texi but not fdl-1.3.texi.
32602 2014-06-06  Ben Walton  <bdwalton@gmail.com>
32604         mountlist: avoid hasmntopt const type warning on solaris
32605         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
32606         with char * instead of const char *.  Passing the constant string
32607         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
32608         to avoid the warning.
32610 2014-06-04  Eric Blake  <eblake@redhat.com>
32612         maintainer-makefile: delete obsolete code
32613         * top/maint.mk (build_aux): Drop old code, as threatened.
32615         maintainer-makefile: avoid spurious error messages
32616         * top/maint.mk (syntax-check): Guard definition and use of
32617         $(shell) by whether Makefile is present.
32619 2014-06-03  Ben Walton  <bdwalton@gmail.com>
32621         rename: avoid unused-but-set-variable compiler warning
32622         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
32623         it is possible that dst_exists may be set but not used.  Mark it with
32624         the unused attribute to avoid compiler warnings.
32626 2014-06-02  Ben Walton  <bdwalton@gmail.com>
32628         rename: mark a label as potentially unused
32629         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
32630         by marking the out label as potentially unused.
32631         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
32633 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
32635         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
32636         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
32638 2014-06-02  Ben Walton  <bdwalton@gmail.com>
32640         acl: apply pure attribute to two functions
32641         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
32642         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
32644 2014-06-01  Pádraig Brady  <P@draigBrady.com>
32646         gnulib-common.m4: add _GL_UNUSED_LABEL
32647         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
32648         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
32650 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
32652         dup2, fcntl, fcntl-h: port to AIX 7.1
32653         This fixes some porting problems discovered when testing the latest
32654         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
32655         in grep but it could be important for other applications.
32656         * doc/posix-functions/dup2.texi:
32657         * doc/posix-functions/fcntl.texi:
32658         * doc/posix-headers/fcntl.texi:
32659         Document AIX bugs.
32660         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
32661         Define to 0 if outside 'int' range.
32662         * m4/dup2.m4 (gl_FUNC_DUP2):
32663         * m4/fcntl.m4 (gl_FUNC_FCNTL):
32664         Check for getdtablesize.  If it's available, test a value just
32665         outside its range instead of testing 1000000.  When cross-compiling,
32666         guess that AIX will fail this improved test.
32668 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
32670         printf, config.rpath: Port to FreeBSD 10.
32671         Problem reported by Tijl Coosemans in:
32672         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
32673         * build-aux/config.rpath (hardcode_libdir_flag_spec)
32674         (hardcode_direct): Simplify FreeBSD configuration.
32675         (library_names_spec): Don't mishandle FreeBSD 10+.
32676         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
32677         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
32678         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
32679         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
32680         Don't mishandle FreeBSD 10+ when cross-compiling.
32682         ftoastr: work around compiler bug in IBM xlc 12.1
32683         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
32684         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
32685         around a compiler bug in IBM xlc 12.1.0.0: it complains
32686         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
32687         _GL_FLT_PREC_BOUND.'
32689 2014-05-30  Kieran Colford  <colfordk@gmail.com>
32691         valgrind-tests: fixed misleading help message
32692         * m4/valgrind-tests.m4: The help message generated by configure
32693         implied that valgrind was disabled by default, which it wasn't.
32694         Adjusted the help message using s/enable/disable/ to clarify.
32696 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
32698         isfinite, isinf, isnan tests: fix for little-endian PowerPC
32699         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
32700         first double of a PowerPC "double double" pair.
32701         * tests/test-isinf.c (test_isinfl): Likewise.
32702         * tests/test-isnan.c (test_long_double): Likewise.
32703         * tests/test-isnanl.h (main): Likewise.
32704         * tests/test-signbit.c (test_signbitl): Likewise.
32706 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
32708         exclude-tests: port to AIX 7.1
32709         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
32710         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
32711         the regex code uses locks.
32713 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
32715         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
32716         Without this fix, Emacs would sometimes call sigprocmask instead
32717         of pthread_sigmask, which is a no-no in multithreaded applications.
32718         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
32719         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
32720         Suppress check for pthread_sigmask working without -lpthread if
32721         the application always links with -lpthread.  Do not link with
32722         $LIBMULTITHREAD if gl_THREADLIB is not defined.
32723         * m4/timer_time.m4 (gl_TIMER_TIME):
32724         Require gl_THREADLIB only if it is defined.  Do not append
32725         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
32727 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
32729         gnulib-tool: wget translations using --no-verbose rather than --quiet
32730         This allows the user to see error messages if any (--quiet hides them)
32731         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
32733 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
32735         gnulib-tool: adjust translation wget to avoid a https redirection
32736         Context: http://translationproject.org/latest/gnulib redirects to
32737            https://translationproject.org/latest/gnulib/
32738         Rationale: if the user falls back to wget, she doesn't have rsync and
32739         is probably in a minimal build environment, where packages such as
32740         'ca-certificates' are missing as well, resulting in a failed (and
32741         difficult to detect since ignored) translation initial fetch.
32742         Consequently let's avoid https if possible, and add the missing
32743         trailing slash.  This also avoids an unnecessary 302 redirection.
32744         * gnulib-tool: Add trailing slash to gnulib URL.
32746 2014-05-22  Pádraig Brady  <P@draigBrady.com>
32748         getlogin_r-tests: check return value rather than errno
32749         * tests/test-getlogin_r.c (main): As per POSIX we should be
32750         verifying the return value from getlogin_r() rather than errno.
32752 2014-05-22  Pádraig Brady  <P@draigBrady.com>
32754         getlogin_r-tests: fix various issues in recent change
32755         * tests/test-getlogin_r.c: Include required headers that were
32756         missed in recent commit eec20b4e.
32757         Also consistently check the errno rather than the return value from
32758         getlogin_r as POSIX only specifies that non zero is returned on error.
32759         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
32761 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
32763         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
32764         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
32765         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
32766         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
32767         * lib/spawn-pipe.c:
32768         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
32769         and then 'int open64(const char *, int, ...);', which means the
32770         declaration for 'open' gets lost if we later '#undef open'.
32771         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
32772         where the compilation reported the non-fatal error "In function
32773         'openat_proc_name' ... warning: implicit declaration of function
32774         'open'".  In this case the error is relatively harmless, but in
32775         other cases it might not be so minor.
32777 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
32779         xalloc: don't potentially generate invalid code for xmemdup calls
32780         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
32781         this function can initialize the newly-allocated storage with new
32782         pointers, which means this function is not malloc-like.  See:
32783         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
32785 2014-05-19  Pádraig Brady  <P@draigBrady.com>
32787         getlogin_r-tests: avoid false failure under sudo/ssh etc.
32788         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
32789         changes from commit 97249cf29 to not depend on environment variables.
32791 2014-05-18  Pádraig Brady  <P@draigBrady.com>
32793         getlogin-tests: avoid false failure under cron
32794         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
32795         since that's not what's under test.  Centos 6 was seen to return
32796         EINVAL for ttyname() when run from cron.
32798 2014-05-16  Jim Meyering  <meyering@fb.com>
32800         mbrtowc.m4: fix a comment typo
32801         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
32802         emitted documentation string.
32804 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
32806         mbrlen, mbrtowc: fix bug with empty input
32807         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
32808         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
32809         so this is mainly for documentation.
32810         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
32811         (gl_FUNC_MBRTOWC): Use it.
32812         * tests/test-mbrtowc.c (main): Test for the bug.
32814 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
32816         doc: document mbrtowc and mbrlen problem with empty input
32817         * doc/posix-functions/mbrlen.texi (mbrlen):
32818         * doc/posix-functions/mbrtowc.texi (mbrtowc):
32819         Document portability problem when the input string is empty.  See:
32820         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
32822         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
32823         Problem reported by Eli Zaretskii in:
32824         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
32825         * doc/posix-functions/execl.texi (execl):
32826         * doc/posix-functions/execle.texi (execle):
32827         * doc/posix-functions/execlp.texi (execlp):
32828         * doc/posix-functions/execv.texi (execv):
32829         * doc/posix-functions/execve.texi (execve):
32830         * doc/posix-functions/execvp.texi (execvp):
32831         Mention spawn+exit problem on non-Cygwin Windows platforms.
32833 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
32835         getlogin-tests: avoid false failure under sudo/ssh etc.
32836         * modules/getlogin-tests (configure.ac): Check for ttyname().
32837         * tests/test-getlogin.c (main): Don't depend on environment variables
32838         to correlate with getlogin(), since sudo and ssh etc. can tamper
32839         with the LOGNAME and USER env vars.  Instead lookup the name from
32840         the uid associated with the stdin tty.
32842 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
32844         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
32845         These were found when building the latest grep snapshot on IRIX 6.5.
32846         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
32847         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
32848         never used later.
32849         * lib/quotearg.c (quoting_options_from_style):
32850         * lib/xstrtol.c (__xstrtol):
32851         Use enum instead of 0, to pacify IRIX 6.5 cc.
32853 2014-04-18  Pádraig Brady  <P@draigBrady.com>
32855         gitlog-to-changelog: revert inclusion of git-log-fix file
32856         * build-aux/git-log-fix: Delete dummy file.
32857         * modules/gitlog-to-changelog: Don't reference (overwrite)
32858         the project specific git-log-fix file.
32860 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
32862         maint.mk: Relax the copyright check to cater for non FSF projects
32863         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
32864         to not require the "Free" suffix after the copyright years.
32866 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
32868         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
32869         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
32870         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
32871         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
32872         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
32874 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
32876         exclude: port to strict C99
32877         Strict C does not allow converting a function pointer to void *
32878         and vice versa.  Pass a pointer to a function pointer instead.
32879         * lib/exclude.c (add_exclude_file):
32880         Pass the address of the function pointer.
32881         (call_addfn): And deference the address here, to match.
32883 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
32885         regex: do not depend on malloc-gnu
32886         * modules/regex (Depends-on): Remove malloc-gnu.
32887         It's no longer needed, because of the 2012-12-29 patch
32888         "regex: port to hosts where malloc (0) == NULL".
32889         Reported by Nathan Kennedy in:
32890         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
32892 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
32894         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
32895         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
32896         * doc/posix-functions/expl.texi: Mention the workaround.
32898 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
32900         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
32901         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
32902         size to be zero even when the pointer is nonnull.  This
32903         accommodates the use case where P is malloc (0) and *PN is 0 on a
32904         host where malloc (0) yields nonnull.
32906 2014-04-09  Eric Blake  <eblake@redhat.com>
32908         fts: avoid unnecessary strlen calls
32909         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
32911 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
32913         fts: avoid unnecessary strlen calls
32914         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
32915         when that can be faster than strlen.
32917 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
32919         fts: avoid unnecessary strlen calls
32920         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
32921         (fts_build): Store the length of the dp->d_name entry in a local variable
32922         instead of calling strlen() several times via the above, removed macro.
32923         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
32924         run by ~4%, yet this reduces the execution time by about a third if run
32925         via "ltrace -c rm -rf some-dir".
32927 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
32929         obstack: Remove ancient NeXTSTEP gcc support conditional
32930         This change will ease merging with glibc.  The "#if ... __NEXT__"
32931         causes a warning with -Wundef which glibc now enables by default.
32932         Problem reported by Will Newton in
32933         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
32934         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
32935         so go with that.
32936         * lib/obstack.h (__extension__):
32938 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
32940         obstack: merge with glibc changes
32941         * lib/obstack.c, lib/obstack.h: Merge from glibc.
32942         This is mostly indenting and commentary changes.
32943         Instances of 'register' have been removed.
32945 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
32947         strftime: wrap macros in "do {...} while(0)"
32948         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
32949         this macro in "do {...} while(0)" to prevent false use as a
32950         single statement, e.g., in an un-braced "{}" else-block.
32951         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
32952         (strftime_case_): Remove 'else' after 'goto' - which was the
32953         only non-fatal, un-braced use of one of the above macros.
32954         Spotted by coverity (NESTING_INDENT_MISMATCH).
32956 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
32958         modechange: avoid memory leaks for invalid octal modes
32959         * lib/modechange.c (mode_compile): During the parsing of
32960         notations like +40, free the 'mc' buffer for invalid mode
32961         strings like +17777 (greater than the maximum octal mode),
32962         =18 (bad octal mode characters) or u=1 ('affected' with
32963         octal modes).
32964         Reproducer, e.g.:
32965             $ valgrind --leak-check=full chmod +17777 file
32966         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
32967         add notations +40, 00440, etc.".
32968         Spotted by coverity (RESOURCE_LEAK).
32970 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
32972         gitlog-to-changelog: include a dummy git-log-fix file
32973         Problem reported by Nathan Stratton Treadway in:
32974         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
32975         * build-aux/git-log-fix: New file.
32977 2014-03-13  Jim Meyering  <meyering@fb.com>
32979         gitlog-to-changelog: also include the file, git-log-fix
32980         * modules/gitlog-to-changelog (Files): Add git-log-fix.
32981         Reported by Assaf Gordon.
32983 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
32985         regex: port to OS X 10.8.5 en_US.UTF-8 locale
32986         This fixes a bug when ignoring case and when comparing the
32987         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
32988         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
32989         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
32990         titlecase letter is neither lowercase nor uppercase, but
32991         uppercasing the titlecase letter (via towupper) yields the
32992         uppercase letter, so the two letters should match when ignoring case.
32993         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
32994         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
32995         Don't test whether a character is lowercase before uppercasing it.
32997 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
32999         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
33000         This is basically one of the options Bruno Haible proposed in:
33001         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
33002         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
33003         * lib/stdint.in.h: Use it.
33004         * modules/stdint (Depends-on): Add sys_types.
33006 2014-02-26  Pádraig Brady  <P@draigBrady.com>
33008         parse-datetime: fix crash or infloop in TZ="" parsing
33009         * lib/parse-datetime.y (parse_datetime): Break out of the
33010         TZ="" parsing loop once the second significant " is found.
33011         Also skip over any subsequent whitespace to be consistent
33012         with the non TZ= case.
33013         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
33015 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
33017         savedir: new symbol for fast-read version
33018         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
33019         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
33020         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
33021         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
33023 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33025         unistd: port readlink to Mac OS X 10.3.9
33026         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
33027         around self-include problem in Mac OS X 10.3.9 when combined with
33028         readlink module.  Problem reported by Klaus Zietler in
33029         <http://bugs.gnu.org/16825>.
33031 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
33033         diffseq: remove TOO_EXPENSIVE heuristic
33034         Problem with diffutils reported by Vincent Lefevre in
33035         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
33036         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
33037         Although appropriate for circa-1993 hardware, these days the heuristic
33038         seems to be more trouble than it's worth.
33039         * lib/diffseq.h: Modernize citations.
33040         (struct context): Remove member too_expensive.
33041         All uses changed.
33042         (struct partition): Remove members lo_minimal, hi_minimal.
33043         All uses changed.
33044         (diag, compareseq): Remove arg find_minimal.  All uses changed.
33045         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
33046         1993 to make 'diff' run faster (but not as well) on large inputs.
33047         These days, computers are fast enough that it's typically better
33048         to run slower but more accurately.
33049         * lib/fstrcmp.c: Remove duplicate comment.
33050         * lib/fstrcmp.c (strcmp_bounded):
33051         * lib/git-merge-changelog.c (compute_differences):
33052         Adjust to diffseq.h changes.
33053         * NEWS: Document the change.
33055         savedir: simplify by using stpcpy
33056         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
33057         (streamsavedir): Use stpcpy instead.
33058         * modules/savedir (Depends-on): Add stpcpy.
33060 2014-02-21  Pádraig Brady  <P@draigBrady.com>
33062         spawn: fix link error on uclibc
33063         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
33064         to incorporate -lrt if needed (on uclibc for example).
33065         * modules/posix_spawn: Reference the substituted LIB.
33067 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
33068         timer: fix uClibc detection of threading
33069         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
33070         enabled in uClibc.
33072 2014-02-21  Eric Blake  <eblake@redhat.com>
33074         maintainer-makefiles: provide AC_PROG_SED for older autoconf
33075         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
33077 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
33079         exclude: add support for posix regexps
33081         This commit adds support for POSIX extended regular expressions
33082         and fixes a long-standing memory leak (pattern buffer was never
33083         freed).  It also implements a new interface function to read
33084         exclude patterns from a FILE, which passes an additional parameter
33085         to its callback function, thereby allowing to preserve its state
33086         between invocations.
33088         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
33089         (pattern_buffer): New struct.
33090         (exclude): New member patbuf.
33091         (exclude_add_pattern_buffer): New function.
33092         (free_exclude_segment): Free regexps.
33093         (free_exclude): Free allocated pattern buffers.
33094         (exclude_patopts): New function.
33095         (file_pattern_matches): Use exclude_patopts.
33096         (add_exclude): support regexps.
33097         (add_exclude_fp): New function.
33098         (add_exclude_file): Rewrite using add_exclude_fp.
33099         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33100         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33101         (add_exclude_fp)
33102         (add_exclude_file): Rewrite using add_exclude_fp.
33103         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33104         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33105         (add_exclude_fp)
33106         (exclude_add_pattern_buffer): New prototypes.
33107         * modules/exclude: Depends on regex and filename.
33109 2014-02-20  Eric Blake  <eblake@redhat.com>
33111         maintainer-makefiles: use $(SED) for syntax check
33112         * modules/maintainer-makefile (configure.ac): Check for sane sed.
33113         * top/maint.mk: Change sed to $(SED).
33115 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
33116             Paul Eggert  <eggert@cs.ucla.edu>
33118         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
33119         Patch based on an idea by Dick Streefland in
33120         <https://savannah.gnu.org/patch/?7892>.
33121         * NEWS: Document this.
33122         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
33123         (direntry_t, comparison_function): New types.
33124         (direntry_cmp_name): New function.
33125         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
33126         (streamsavedir, savedir): New arg OPTION.
33127         (streamsavedir): Simplify memory allocation.
33128         (fdsavedir): Remove.
33129         * lib/savedir.h (enum savedir_option): New type.
33130         (streamsavedir, savedir): New arg OPTION.
33131         (fdsavedir): Remove.
33133 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
33135         file-type: add support for doors and other less-common file types
33136         Problem with S_ISDOOR reported by Rich Burridge.
33137         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
33138         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
33139         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
33141 2014-01-23  Eric Blake  <eblake@redhat.com>
33143         pthread: work around winpthread header pollution on mingw
33144         * lib/time.in.h: Move pthread workarounds...
33145         * lib/pthread.in.h: ...here.
33146         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
33147         detect macro pollution on mingw.
33148         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
33150 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
33152         qacl: check for fchmod
33153         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
33154         and qset-acl.c both use HAVE_FCHMOD.
33156 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
33158         fdopen-tests: port to Tru64
33159         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
33160         descriptor that is not open, as POSIX doesn't specify the
33161         resulting behavior and the test does not work on Tru64.
33162         Problem reported by Steven M. Schweda in:
33163         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
33165         stdalign: port to HP-UX compilers
33166         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
33167         if __HP_cc or __HP_aCC are nonzero.
33169 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
33171         strtoimax: port to platforms lacking 'long long'
33172         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
33173         check whether strtoll is declared, which causes the C file to
33174         wrongly report an error.  Problem reported by Steven M. Schweda in:
33175         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
33176         * lib/strtoimax.c (strtoull):
33177         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
33178         (strtoll): Declare only if HAVE_LONG_LONG_INT.
33180 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
33182         relocatable-perl: fix texi syntax
33183         * doc/relocatable-maint.texi: Escape braces.
33185 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
33187         relocatable-perl: like relocatable-script, but for Perl scripts
33188         * build-aux/relocatable.pl.in: Add.
33189         * doc/relocatable-maint.texi: Add documentation.
33190         * modules/relocatable-perl: Add.
33192 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
33194         tests: fix export bug in previous patch
33195         Problem reported by Jim Meyering.
33196         * tests/init.sh (re_shell): New var, which is exported instead of
33197         re_shell_.
33199         tests: simplify porting to Solaris 10 /bin/sh
33200         Some test cases in 'grep' need a shell that groks '$(';
33201         export re_shell_ for their benefit.  Problem reported for 'grep'
33202         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
33203         * tests/init.sh (re_shell_): Export if it's used.
33205 2014-01-06  Eric Blake  <eblake@redhat.com>
33207         md5, sha1, sha256, sha512: support older autoconf
33208         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
33209         for autoconf < 2.63b.
33211         include_next: port to autoconf 2.63
33212         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
33214 2014-01-04  Jim Meyering  <meyering@fb.com>
33216         maint: add a gnulib-local rule to keep non-ascii out of .texi files
33217         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
33218         so that "make sc_maint" will ding anyone who puts non-ascii
33219         in any of gnulib's .texi files.
33221 2014-01-03  Jim Meyering  <meyering@fb.com>
33223         freadable, fwritable, fwriting: declare with the "pure" attribute
33224         * lib/freadable.h (freadable): Declare with the "pure" attribute.
33225         * lib/fwritable.h (fwritable): Likewise.
33226         * lib/fwriting.h (fwriting): Likewise.
33227         Suggested by Bruno Haible.
33229         maint.mk: adapt openat.h-include-without-use test
33230         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
33231         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
33232         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
33233         With this change, running "make sc_maint" in gnulib's top-level
33234         directory now passes for me.
33236 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
33238         doc: use ASCII in .texi files where UTF-8 isn't needed
33239         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
33240         * doc/posix-functions/setkey.texi, doc/regex.texi:
33241         Use ASCII input, not UTF-8.
33243 2014-01-02  Jim Meyering  <meyering@fb.com>
33245         freading: declare with the "pure" attribute
33246         * lib/freading.h (freading): Declare with the "pure" attribute.
33248         manywarnings: remove -Wmudflap
33249         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
33250         it is no longer supported in gcc-4.9-to-be.
33252 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33254         relocatable-script: remove unused code
33255         Problem reported by Reuben Thomas in:
33256         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
33257         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
33259 2014-01-01  Jim Meyering  <meyering@fb.com>
33261         maint: fix public-submodule-commit to work with newer git
33262         * top/maint.mk (public-submodule-commit): Remove excess quoting.
33263         We were over-quoting the test arguments, and somewhere prior to
33264         version 1.8.5.2.229, git stopped removing those excess quotes,
33265         which made the test fail, since the unexpanded strings would
33266         always differ; using GIT_TRACE=1 confirmed that the git merge-base
33267         command wasn't even being run.
33269 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33271         doc: update main copyright year
33272         * doc/gnulib.texi: Update copyright date.
33274 2014-01-01  Eric Blake  <eblake@redhat.com>
33276         version-etc: new year
33277         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
33278         * all files: run 'make update-copyright'
33280 2013-12-24  Eric Blake  <eblake@redhat.com>
33282         passfd: give nicer error for recvfd at eof
33283         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
33284         * tests/test-passfd.c (main): Enhance test to cover this.
33286 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33288         gettimeofday: port recent C++ fix to Emacs
33289         Without this further patch, Emacs won't build due to
33290         the portcheck failing.  Also, this simplifies the patch a bit.
33291         * lib/time.in.h (localtime, gmtime): Don't replace unless
33292         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
33293         * lib/time.in.h (localtime, gmtime):
33294         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
33295         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33296         * modules/time (time.h):
33297         Don't worry about the possibility of localtime and gmtime
33298         being absent; they're present in all C libraries we know about.
33299         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33300         Don't assume sys_time is present and has been initialized.
33301         Instead, use a hack that should work even if it hasn't been.
33302         Don't use a portcheck for gmtime or localtime; this supports
33303         the hack.
33304         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
33306 2013-12-17  John W. Eaton  <jwe@gnu.org>
33308         gettimeofday: fix C++ crosscompilation
33310         Never replace gmtime and localtime by macros when compiling with
33311         C++, this prevents <ctime> from being included.
33313         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
33314         define gmtime and localtime as preprocessor macros.  Instead
33315         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
33316         REPLACE_LOCALTIME substitutions.
33317         * lib/time.in.h: Declare gmtime and localtime when needed.
33318         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
33319         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
33320         * modules/time: Depend on gettimeofday, and substitute the above
33321         variables in time.h.
33323 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33325         qacl: port to Windows better
33326         See Eli Zaretskii in
33327         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
33328         * lib/file-has-acl.c (acl_access_nontrivial):
33329         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
33330         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
33332 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
33334         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
33335         * lib/gl_openssl.h: Cast void pointers to a specific type.
33337 2013-12-07  Pádraig Brady  <P@draigBrady.com>
33339         open-tests: fix build failure with -Werror=old-style-declaration
33340         * tests/test-open.h: Reorder the inline to avoid the issue.
33342 2013-12-07  Pádraig Brady  <P@draigBrady.com>
33344         md5, sha1, sha256, sha512: fix link error with partial libcrypto
33345         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
33346         init time, so that if early checks find crypto routines,
33347         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
33348         avoiding link failures.
33350 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33352         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
33353         This provides a new way to specify the default for
33354         gl_CRYPTO_CHECK, one that is reflected in the --help message.
33355         Emacs uses this, as well as the old way.
33356         This attempts to implement a suggestion by Pádraig Brady in
33357         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
33358         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
33359         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
33361         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
33362         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
33363         Add support for a new option, --with-openssl=auto, which causes
33364         the library to be used if available and silently ignored if not.
33365         Add support to allow configure.ac to specify its own
33366         default, by setting with_openssl_default before invoking gl_INIT.
33368 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33370         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
33371         Problem reported by Daiki Ueno in:
33372         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
33373         * tests/test-open.h (__always_inline):
33374         New macro, if not already defined.
33375         (test_open): Use it.
33377 2013-12-04  Eric Blake  <eblake@redhat.com>
33379         include_next: minimize code duplication
33380         * modules/include_next (Depends-on): Add absolute-header.
33381         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
33382         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
33384 2013-12-04  Pádraig Brady  <P@draigBrady.com>
33386         getcwd: fix compile error in configure check
33387         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
33389 2013-12-04  Pádraig Brady  <P@draigBrady.com>
33391         regex: suppress core dumps from detection code
33392         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
33393         to suppress core dumps that may well occur on glibc systems.
33394         These core dumps might not be cleaned up automatically, or could
33395         trigger some system core dump handling logic.
33397 2013-12-03  Pádraig Brady  <P@draigBrady.com>
33399         md5, sha1, sha256, sha512: support mandating use of openssl
33400         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
33401         description, to list the now 3 separate options.  also don't
33402         mention the default=no, since this is implicit given the option
33403         is described as --with-openssl rather than --without-openssl.
33404         If projects change the default they're free to document that.
33405         with --with-openssl[=yes] we now error out when the specified
33406         hash algorithm is not available in libcrypto.
33408 2013-12-03  Ivailo  <xakepa10@gmail.com>
33410         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
33411         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
33412         -Wformat-nonliteral checks, as these edge cases are part of the test.
33414 2013-12-03  Eric Blake  <eblake@redhat.com>
33416         regex: avoid glibc deadlock during configure
33417         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
33418         glibc bug 15078 in turn triggers bug 16159.
33419         Reported by Michal Privoznik.
33421 2013-12-02  Pádraig Brady  <P@draigBrady.com>
33423         md5, sha1, sha256, sha512: use openssl routines if available.
33424         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
33425         routines will be used if available, requiring apps to link @LIB_CRYPTO@
33426         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
33427         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
33428         in the standard system location.
33429         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
33430         * m4/sha256.m4: Likewise with SHA256.
33431         * m4/sha512.m4: Likewise with SHA512.
33432         * m4/md5.m4: Likewise with MD5.
33433         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
33434         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
33435         * lib/sha256.h: Likewise with SHA256.
33436         * lib/sha512.h: Likewise with SHA512.
33437         * lib/md5.h: Likewise with MD5.
33438         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
33439         * lib/sha256.c: Likewise with SHA256.
33440         * lib/sha512.c: Likewise with SHA512.
33441         * lib/md5.c: Likewise with MD5.
33442         * modules/crypto/sha1 (Link:): Add the new optional lib.
33443         (Depends-on:): Add dependency on extern-inline.
33444         * modules/crypto/sha256: Likewise.
33445         * modules/crypto/sha512: Likewise.
33446         * modules/crypto/md5: Likewise.
33447         * modules/crypto/sha1-tests: Reference the lib here too.
33448         * modules/crypto/md5-tests: Likewise.
33449         * modules/crypto/gc-des-tests: Likewise.
33450         * modules/crypto/gc-hmac-md5-tests: Likewise.
33451         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33452         * modules/crypto/gc-hmac-sha256-tests: Likewise.
33453         * modules/crypto/gc-hmac-sha512-tests: Likewise.
33454         * modules/crypto/gc-md5-tests: Likewise.
33455         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33456         * modules/crypto/gc-sha1-tests: Likewise.
33457         * modules/crypto/gc-tests: Likewise.
33458         * modules/crypto/hmac-md5-tests: Likewise.
33459         * modules/crypto/hmac-sha1-tests: Likewise.
33460         * modules/crypto/hmac-sha256-tests: Likewise.
33461         * modules/crypto/hmac-sha512-tests: Likewise.
33463 2013-11-29  RV1971  <rv1971@web.de>
33465         base64: (trivial) fix compilation regression on some compilers
33466         * lib/base64.c: Don't return the void function,
33467         instead split to a separate return statement.
33469 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
33471         ignore-value: revert previous code change
33472         * lib/ignore-value.h (ignore_value): Use __extension__ and
33473         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
33474         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
33475         Change the comment to try to explain this better.
33477 2013-11-27  Pádraig Brady  <P@draigBrady.com>
33479         selinux-h: improve stub types and add more stub functions
33481         * lib/se-selinux.in.h: Change security_context_t to a typedef
33482         rather than a define, as it's a pointer type and so is better
33483         as a typedef to avoid issues declaring multiple variables
33484         with the comma operator.  Also add stub for string_to_security_class().
33485         * lib/se-context.in.h: Add stub functions for
33486         context_{type,range,role,user}_get().
33488 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
33490         ignore-value: prefer GCC version back through 2.0
33491         The code didn't match the comments, so I did a bit of software
33492         archaeology.  GCC 2.0 seems to support __extension__ and
33493         __typeof__, so fix both code and comments to use 2.0.
33494         * lib/ignore-value.h (ignore_value): Use __extension__ and
33495         __typeof__ for GCC 2.0 through 3.3, too.
33497 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
33499         pty: Activate the signature wrapper of forkpty.
33500         The intended preprocessor macro HAVE_FORKPTY is
33501         never defined, yet `lib/forkpty.c' depends on it.
33503         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
33504         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
33505         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
33507 2013-11-18  Jim Meyering  <meyering@fb.com>
33508         and Paul Eggert  <eggert@cs.ucla.edu>
33510         quotearg: don't attempt to store 1 << 31 into an "int"
33511         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
33512         gcc's new -fsanitize=undefined and running its tests triggered some
33513         new test failures due to undefined behavior, all with this diagnostic:
33514           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
33515             cannot be represented in type int
33516         Rather than shifting "1" left to form a mask, shift the bits right and
33517         simply use "1" as the mask.
33519 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
33521         error: depend on stdio
33522         Problem reported by Nikos Mavrogiannopoulos in
33523         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
33524         * modules/error (Depends-on): Add stdio.
33526 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
33528         * doc/relocatable-maint.texi (Supporting Relocation): Improve
33529         wording.
33530         Reported by Reuben Thomas <rrt@sc3d.org>.
33532 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
33534         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
33535         New function and macro, to work around _DARWIN_C_SOURCE problem.
33536         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
33538 2013-11-11  Pádraig Brady  <P@draigBrady.com>
33540         base64: provide a fast path for encoding well sized buffers
33541         Avoid conditionals in the base64 encoding loop,
33542         which was seen to give 60% better throughput.
33543         * lib/base64.c (base64_encode_fast): A new function to be called
33544         when we don't want to NUL terminate, and we have enough space
33545         in the output to encode the given input.
33546         (base64_encode): Call the _fast() version when appropriate.
33547         Also remove a redundant mask with 0x3F on the first encoded byte.
33549 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33551         extern-inline: port better to OS X 10.9
33552         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
33553         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
33554         OS X 10.9, except for g++ where the bug is still present.
33555         See <http://trac.macports.org/ticket/41033>.
33557 2013-11-08  Eric Blake  <eblake@redhat.com>
33559         fpending: fix regression on DragonFly BSD
33560         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
33561         * lib/fpending.h (__fpending): Don't declare twice.
33562         Reported by GW in
33563         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
33565 2013-11-05  Jim Meyering  <meyering@fb.com>
33567         hash: relax license to LGPLv2+, for libguestfs
33568         * modules/hash (License): Change from GPL to LGPLv2+.
33570 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33572         intprops: port to Oracle Studio c99
33573         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
33574         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
33576 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
33578         obstack: pacify HP C
33579         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
33580         warning "conversion from pointer to smaller integer" from HP
33581         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
33582         C89 or later nowadays, so cast to void instead of int.  Privately
33583         reported by H.Merijn Brand.  Also, change header to match glibc's,
33584         to make checking against glibc easier.
33586 2013-10-29  Jim Meyering  <meyering@fb.com>
33588         maint.mk: prefer gpgv2 over gpgv
33589         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
33590         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
33591         Reported by Gary Vaughan.
33593 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
33595         isnan: port to VAX
33596         Reported by John Klos for NetBSD-5/VAX in
33597         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
33598         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
33599         (FUNC): Use it.
33601 2013-10-28  Jim Meyering  <meyering@fb.com>
33603         gnulib-tool: protect against CDPATH
33604         * gnulib-tool: Many "cd" built-in functions print a directory name
33605         to stdout when CDPATH is set, e.g.,
33606           $ bash -c 'CDPATH=/; cd tmp'
33607           /tmp
33608         Unset it, when possible.  Prompted by a comment from Bruce Korb.
33610         maint.mk: restore functionality removed by recent change...
33611         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
33612         the context of a shallow-cloned gnulib repository: "git describe"
33613         would fail in such a directory.  However, that change made it so
33614         the reported gnulib revision no longer includes the version number
33615         or a commit count, even when run from a full clone.
33616         * top/maint.mk (gnulib-version): Use the full "git describe"
33617         output when possible, e.g., the form above, rather than the
33618         abbreviated, no-tag, no-commit-count string, and fall back to
33619         using a 10-byte hash, rather than the default minimal-length
33620         hash prefix, since while the minimal-length one may be fine today,
33621         it is likely not to be unique for very long.
33623 2013-10-26  Jim Meyering  <meyering@fb.com>
33625         maint.mk: fix "release" target to build _version
33626         This fixes a bug in README-release whereby following the outlined
33627         steps, one would publish a tarball whose programs would report
33628         --version output not consistent with the package version number.
33629         This bug caused grep-2.15 to produce a grep program whose
33630         --version option made it print 2.14.56-1e3d rather than 2.15.
33631         * top/maint.mk (release): Making this target build "_version"
33632         ensures that the new version number is reflected in configure.
33634 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
33636         install-reloc: Support multi-binary installation.
33637         * build-aux/install-reloc: Support installing multiple programs in
33638         one invocation, as done by Automake starting with commit
33639         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
33640         Haible <bruno@clisp.org>, archived at
33641         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
33642         Reported by Sylvain <beuc@gnu.org>.
33644 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33646         selinux-h: Really build without selinux when library is missing.
33647         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
33648         continue without selinux, as already told in the warning message.
33650 2013-10-21  Jim Meyering  <meyering@fb.com>
33652         regex: also remove dependency on HAVE_WCSCOLL
33653         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
33655 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
33657         xfreopen: Fix typo. s/frepoen/freopen/
33658         * lib/xfreopen.c: Fix description.
33659         * modules/xfreopen: Likewise.
33661 2013-10-21  Jim Meyering  <meyering@fb.com>
33663         regex: don't depend on wcscoll
33664         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
33665         It is no longer used.
33667 2013-10-20  Jim Meyering  <meyering@fb.com>
33669         error: add the printf attribute to a static function
33670         * lib/error.c (error_tail): Add the printf attribute, to placate
33671         gcc's -Werror=suggest-attribute=format option.
33673 2013-09-30  Jim Meyering  <meyering@fb.com>
33675         fpending, obstack, strerror-override: use pure+const function attrs
33676         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
33677         * lib/obstack.c (_obstack_allocated_p): Likewise.
33678         * lib/obstack.h (_obstack_memory_used): Likewise.
33679         (_obstack_memory_used): Likewise.
33680         * lib/strerror-override.h (strerror_override): Declare with
33681         the "const" attribute.
33683 2013-10-18  Eric Blake  <eblake@redhat.com>
33685         extern-inline: make safe for -Wundef usage
33686         Reported by Vladimir 'phcoder' Serbinenko in
33687         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
33688         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
33690 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33692         mkfifo-tests, etc.: allow HP-UX 11.11 bug
33693         Problem reported by Daniel Richard G. in
33694         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
33695         * doc/posix-functions/mkfifo.texi (mkfifo):
33696         * doc/posix-functions/mkfifoat.texi (mkfifoat):
33697         * doc/posix-functions/mknod.texi (mknod):
33698         * doc/posix-functions/mknodat.texi (mknodat):
33699         Document the HP-UX 11.11 bug.
33700         * tests/test-mkfifo.h (test_mkfifo):
33701         Allow the HP-UX 11.11 bug.
33703 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
33705         acl: allow cross-compilation to Gentoo
33706         Problem reported by Gabriel Marcano in
33707         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
33708         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
33709         test only whether it links.
33711 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
33713         mgetgroups: remove dependency on realloc-gnu
33714         The dependency violates the comment in realloc-gnu, which
33715         says that tests can't depend on realloc-gnu; some tests depend
33716         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
33717         Problem reported by Daniel Richard G. in
33718         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
33719         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
33720         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
33721         not realloc-gnu.
33723 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33725         regex-tests: port to HP-UX 11.11
33726         Problem reported by Daniel Richard G. in
33727         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
33728         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
33730 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
33732         verify: document some 'assume' pitfalls
33733         * doc/verify.texi (Compile-time Assertions):
33734         Mention that 'assume (E)' can sometimes slow things down.
33735         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
33737 2013-10-10  Eric Blake  <eblake@redhat.com>
33739         strtoumax: fix typo in previous commit.
33740         * modules/strtoumax (Depends-on): Fix typo.
33741         * modules/strtoimax (Depends-on): Likewise.
33743 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
33745         strtoumax: port to Solaris 8
33746         This problem was introduced in the recent HP-UX patch.
33747         Reported by Tom G. Christensen in
33748         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
33749         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
33750         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
33752 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
33754         strtoimax, strtoumax: port to HP-UX 11.11
33755         Problem reported by Daniel Richard G. in
33756         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
33757         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
33758         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
33759         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
33760         REPLACE_STRTOUMAX.
33761         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
33762         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
33763         Replace the function if defined as a macro but not as a function.
33764         * modules/inttypes-incomplete (inttypes.h): Substitute
33765         REPLACE_STRTOUMAX.
33766         * modules/strtoumax (configure.ac): Replace strtoumax if
33767         REPLACE_STRTOUMAX.
33769 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
33771         strtoimax: port to HP-UX 11.11
33772         Problem reported by Daniel Richard G.
33773         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
33774         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
33775         they might clash with inttypes.h.
33777 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
33779         New module 'count-trailing-zeros'.
33780         * MODULES.html.sh: Mention it.
33781         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
33782         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
33783         * modules/count-trailing-zeros-tests:
33784         * tests/test-count-trailing-zeros.c:
33785         New files.
33787         count-leading-zeros: port to MSC; support types wider than 64 bits
33788         The ideas behind the MSC port are stolen from Emacs.
33789         * lib/count-leading-zeros.h:
33790         Don't include verify.h: it's no longer needed, as types wider than
33791         64 bits are now supported.
33792         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
33793         performance with MSC.  All uses changed.  Do not assume that TYPE
33794         has at most 64 bits.
33795         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
33796         All uses changed.  Fold the subtraction from 31 into the table.
33798         count-one-bits: port to MSC; support types wider than 64 bits
33799         The ideas behind the MSC port are stolen from Emacs.
33800         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
33801         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
33802         Don't include verify.h: it's no longer needed, as types wider than
33803         64 bits are now supported.
33804         (COUNT_ONE_BITS_GENERIC): New macro.
33805         (popcount_supported) [_MSC_VER]: New inline function.
33806         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
33807         performance with MSC.  All uses changed.  Do not assume that TYPE
33808         has at most 64 bits.
33809         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
33811 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
33813         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
33814         * lib/mountlist.c (read_file_system_list): fix leak of directory
33815         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
33817 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
33819         tests: improve diagnostic when an assertion fails
33820         * tests/macros.h (ASSERT): Report the assertion that failed.
33822 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
33824         verify: new macro 'assume'
33825         This is taken from Emacs, and should be generally useful.
33826         * doc/verify.texi (assume): Document it.
33827         * lib/verify.h (assume): New macro.
33828         (__has_builtin): Expand to 0 if not defined.
33830 2013-09-26  Eric Blake  <eblake@redhat.com>
33832         dup2, dup3: work around another cygwin crasher
33833         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
33834         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
33835         * tests/test-dup2.c (main): Likewise.
33836         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
33837         * lib/dup3.c (dup3): Likewise.
33838         * doc/posix-functions/dup2.texi (dup2): Document it.
33839         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33841         getdtablesize: work around cygwin issue
33842         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
33843         * modules/getdtablesize (configure.ac): Build replacement.
33844         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
33845         * modules/unistd (Makefile.am): Expose the witness.
33846         * lib/unistd.in.h (getdtablesize): Declare replacement.
33847         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
33848         * tests/test-getdtablesize.c (main): Test it.
33849         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
33851 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
33853         pmccabe2html: escaping of special characters
33854         Escape all '<', '>', and '&' in HTML output.
33855         * build-aux/pmccabe2html (html_fnc): Call gsub()
33856         instead of sub() to capture all '<', '>', and '&'.
33857         Neither of '<' and '>' is special in a regexp,
33858         so first arguments to gsub() are corrected. Also,
33859         in replacement strings, ampersand must be escaped.
33860         Finally, '&' must be handled first, then '<' and '>'.
33862 2013-09-24  Eric Blake  <eblake@redhat.com>
33864         manywarnings: enable nicer gcc warning messages
33865         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
33866         some -f options for optimal warnings.
33868 2013-09-21  Jim Meyering  <meyering@fb.com>
33870         timespec: use the new TIMESPEC_RESOLUTION in a few more places
33871         * lib/timespec-add.c (timespec_add): Also replace 999999999
33872         with TIMESPEC_RESOLUTION - 1.
33873         * lib/timespec-sub.c (timespec_sub): Likewise.
33875 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
33877         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
33878         Problem reported by Dagobert Michelsen via Eric Blake in
33879         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
33880         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
33881         not AC_COMPILE_IFELSE.
33883 2013-09-23  Eric Blake  <eblake@redhat.com>
33885         configmake: support new --runstatedir option
33886         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
33887         even if autoconf was too old to provide the command line option.
33888         * modules/configmake (Makefile.am): Propagate it to .h file.
33890 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
33892         ctype, string: depend on extern-inline
33893         This is needed to complete the recent OS X fixes.
33894         Also, fix related documentation as suggested by Eric Blake.
33895         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
33896         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
33897         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
33898         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
33899         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
33900         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
33901         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
33902         * doc/posix-functions/toupper.texi:
33903         List the 'ctype' gnulib module.
33904         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
33905         * doc/posix-functions/strncpy.texi:
33906         List the 'string' gnulib module.
33907         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
33908         Add string.
33909         * modules/ctype, modules/string (Depends-on): Add extern-inline.
33911 2013-09-19  Pádraig Brady  <P@draigBrady.com>
33913         userspec: support optional parameters to parse_user_spec()
33914         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
33915         then avoid group processing and treat the full spec as a user.
33916         (parse_with_separator): Allow the USERNAME and GROUPNAME to
33917         be optional params (NULL), in which case they're ignored.
33919 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
33921         timespec: new function make_timespec, and new constants
33922         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
33923         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
33924         (make_timespec): New function.
33925         * lib/dtotimespec.c (dtotimespec):
33926         * lib/timespec-add.c (timespec_add):
33927         * lib/timespec-sub.c (timespec_sub):
33928         * lib/utimens.c (validate_timespec):
33929         * lib/utimensat.c (rpl_utimensat):
33930         Use these new constants and functions.
33932         stdio: OS X port of putc_unlocked + extern inline
33933         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
33934         * doc/posix-functions/putc_unlocked.texi:
33935         * doc/posix-functions/putchar_unlocked.texi:
33936         Document this portability problem.
33938         signal: OS X port of sigaddset etc. + extern inline
33939         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
33940         (sigismember): #undef on problematic Apple platforms.
33941         * doc/posix-functions/sigaddset.texi:
33942         * doc/posix-functions/sigdelset.texi:
33943         * doc/posix-functions/sigemptyset.texi:
33944         * doc/posix-functions/sigfillset.texi:
33945         * doc/posix-functions/sigismember.texi:
33946         Document this portability problem.
33948         extern-inline: do not always suppress extern inline on OS X
33949         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
33950         extern inline on Apple only if the particular compile-time
33951         configuration is known to have the problem.
33952         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
33953         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
33954         other Gnulib modules.
33956         extern-inline: document fixes for ctype and wctype macros
33957         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
33958         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
33959         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
33960         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
33961         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
33962         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
33963         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
33964         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
33965         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
33966         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
33967         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
33968         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
33969         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
33970         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
33971         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
33972         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
33973         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
33974         * doc/posix-functions/strncpy.texi:
33975         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
33976         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
33977         Document that Gnulib fixes portability problems with these
33978         functions on OS X 10.8 and earlier when called from plain inline
33979         or extern inline functions.
33981 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
33983         fflush, freadahead, fseeko: Fix for Android
33984         Suggested by Bruno Haible in:
33985         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
33986         * lib/stdio-impl.h: Use local __sfileext definition.
33988 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
33990         pmccabe2html: Portability to other awk versions.
33991         The functions systime() and strftime() are available
33992         in Gawk only.  Properly close two HTML-tags 'style'
33993         and 'span'.
33994         * build-aux/pmccabe2html (BEGIN): Store timing
33995         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
33996         systime() in HTML_COMMENT.
33997         (html_header): Correctly close tag 'style'.
33998         (END): Replace strftime() by CHRONOS_TIME.  Close
33999         tag 'span' correctly, not as 'div'.
34001 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
34003         getgroups: statement without effect
34004         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
34005         Change equality conditional to expected assignment.
34007 2013-09-09  Eric Blake  <eblake@redhat.com>
34009         glob: fix compilation
34010         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
34012 2013-09-07  Eric Blake  <eblake@redhat.com>
34014         glob: fix build for platforms without __THROW
34015         * lib/glob.in.h (__THROW): Add definition again.
34017 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
34019         regex-quote: fix buffer access out of bounds
34020         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
34021         * lib/regex-quote.c (regex_quote_spec_pcre):
34022         Fix typo that resulted in an out-of-bounds read.
34024 2013-09-04  Eric Blake  <eblake@redhat.com>
34026         glob: avoid -Wattribute warnings on glibc
34027         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
34028         __THROWNL, not __THROW, on static functions.
34029         * lib/glob.in.h (__THROW): Adjust...
34030         (__THROWNL): ...accordingly.
34032 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34034         headers: check that _GL_INLINE_HEADER_BEGIN is defined
34035         Suggested by Bruce Korb in:
34036         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
34037         * doc/extern-inline.texi (extern inline):
34038         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
34039         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
34040         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
34041         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
34042         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
34043         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
34044         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
34045         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
34046         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
34047         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
34048         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
34049         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
34050         * lib/xtime.h:
34051         Check that _GL_INLINE_HEADER_BEGIN is defined.
34053 2013-08-29  Pádraig Brady  <P@draigBrady.com>
34055         bootstrap: remove the --version requirement from ancillary tools
34056         * build-aux/bootstrap (check_exists): A new refactored function to
34057         determine if a command exists.
34058         (find_tool): Use the new function which does not require the
34059         --version option to be supported.
34060         (check_versions): Use the new function.
34062 2013-08-26  Simon Josefsson  <simon@josefsson.org>
34064         gc: support HMAC-SHA256 and HMAC-SHA512.
34065         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
34066         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
34067         functions.
34068         (gc_hmac_md5): Use symbolic constant.
34069         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
34070         (gc_hmac_sha256, gc_hmac_sha512): New functions.
34071         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
34072         * m4/sha256.m4: Protect against empty expansion.
34073         * m4/sha512.m4: Likewise.
34074         * lib/hmac-sha256.c: New file.
34075         * lib/hmac-sha512.c: Likewise.
34076         * m4/gc-hmac-sha256.m4: Likewise.
34077         * m4/gc-hmac-sha512.m4: Likewise.
34078         * m4/gc-sha256.m4: Likewise.
34079         * m4/gc-sha512.m4: Likewise.
34080         * modules/crypto/gc-hmac-sha256: Likewise.
34081         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34082         * modules/crypto/gc-hmac-sha512: Likewise.
34083         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34084         * modules/crypto/hmac-sha256: Likewise.
34085         * modules/crypto/hmac-sha256-tests: Likewise.
34086         * modules/crypto/hmac-sha512: Likewise.
34087         * modules/crypto/hmac-sha512-tests: Likewise.
34088         * tests/test-gc-hmac-sha256.c: Likewise.
34089         * tests/test-gc-hmac-sha512.c: Likewise
34090         * tests/test-hmac-sha256.c: Likewise.
34091         * tests/test-hmac-sha512.c: Likewise
34093 2013-08-24  Daiki Ueno  <ueno@gnu.org>
34095         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
34096         of AC_CHECK_DECLS.
34098 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
34100         selinux-at: omit unnecessary include
34101         * lib/selinux-at.c: Don't include dosname.h; not needed, since
34102         this source file doesn't use its macros, and subsidiary files that
34103         use the macros already include it.
34105 2013-08-21  Eric Blake  <eblake@redhat.com>
34107         d-ino: avoid false negative on symlink
34108         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
34109         Reported by Stephane Chazelas.
34111 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
34113         bootstrap: port to OpenBSD sed
34114         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
34115         does not interpret `-' as a file argument to mean stdin.
34117 2013-08-15  Eric Blake  <eblake@redhat.com>
34119         warnings: minor optimization
34120         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
34122         warnings: check -Wfoo rather than -Wno-foo
34123         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
34124         -Wno-, test if the compiler recognizes the positive form instead.
34126 2013-08-15  Karl Berry  <karl@gnu.org>
34128         * config/srclist-update: add option "doclicense" to placate
34129         pulling *.texi files from Emacs.  Write terse usage
34130         documentation at the top.
34132 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
34134         xvasprintf-tests: port to GCC with hardening flags
34135         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
34136         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
34137         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
34139 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
34141         fpending: port to recent Cygwin change to stdio_ext.h
34142         Reported by LRN in
34143         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
34144         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
34145         just declare __fpending unless it's a macro.
34146         A duplicate decl shouldn't hurt.
34147         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
34148         call compiles and links, instead of separately checking for
34149         decl and lib function.
34150         * modules/fpending (configure-ac):
34151         Adjust to fpending.m4's renaming of shell variable.
34153 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34155         sys_time: port to OpenBSD
34156         * lib/sys_time.in.h: Simply delegate to the system's header
34157         in the BSDish cases as well.  Problem reported by Mike Miller in
34158         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
34159         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
34160         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
34161         wider than time_t.
34163 2013-08-09  Pádraig Brady  <P@draigBrady.com>
34165         bootstrap: support checksum utils having -c but not --status
34166         * build-aux/bootstrap: Only look for sha1sum if updating po files.
34167         Add sha1 to the list of supported checksum utils since it's now
34168         supported through adjustments below.
34169         (update_po_files): Remove the use of --status
34170         in a way that will suppress all error messages, but since this is
34171         only used to minimize updates, it shouldn't cause an issue.
34172         Exit early if there is a problem updating the po file checksums.
34173         (find_tool): Remove the check for --version support as this
34174         is optional as per commit 86186b17.  Don't even check for the
34175         presence of the command as if that is needed, it's supported
34176         through configuring prerequisites in bootstrap.conf.
34177         Prompt that when a tool isn't found, one can define an environment
34178         variable to add to the hardcoded search list.
34180 2013-08-05  Jim Meyering  <meyering@fb.com>
34182         regex: port to non-glibc/lock-using systems
34183         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
34184         system with GNULIB_LOCK would fail due to absence of the
34185         included "glthread/lock.h".  This would affect any package
34186         for which the "lock" module is used only by the regex module,
34187         and not explicitly used.
34188         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
34189         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
34190         Add a dependency on the "lock" module.
34192 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34194         localecharset: make locale_charset thread-safe on Mac OS X
34195         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
34196         instead of MB_CUR_MAX.
34198 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34200         gettext: update to version 0.18.3
34201         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
34202         require AC_PROG_SED to allow user to specify custom sed command when
34203         generating en@quot PO file.
34205 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
34207         bootstrap: use correct source when copying build-aux files
34208         * build-aux/bootstrap (gnulib_extra_files): This variable is
34209         relative to upstream gnulib layout, not downstream.
34211 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
34213         tmpdir: fix bug in VMS port
34214         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
34215         See Steven M. Schweda in
34216         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
34218 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
34220         tmpdir: port to VMS, to // != /, and to long dirs
34221         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
34222         __secure_getenv, so that we're more like the glibc version.
34223         All uses changed.
34224         (path_search): Don't put slash after directory if __VMS.
34225         Problem reported by Steven M. Schweda in
34226         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
34227         Simplify code to add slash; no need for a loop.
34228         Do not remove trailing slash from "//".
34229         Do not assume dlen <= INT_MAX.
34231 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34233         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
34234         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
34235         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
34236         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
34238         accept4, dup3, pipe2: port to Cygwin
34239         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
34240         * lib/accept4.c (accept4) [O_BINARY]:
34241         * lib/dup3.c (dup3) [O_BINARY]:
34242         * lib/pipe2.c (pipe2) [O_BINARY]:
34243         Use set_binary_mode, not setmode.
34244         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
34245         * modules/binary-io (Depends-on): Remove module indicator.
34246         These last two bits undo the previous change to pipe2 and binary-io.
34248 2013-07-09  Pádraig Brady  <P@draigBrady.com>
34250         mountlist: add support for deallocating returned list entries
34251         * lib/mountlist.c (free_mount_entry): A new exported function
34252         to deallocate a mount list entry.
34253         (read_file_system_list): Refactor to use the new deallocation function.
34254         Suggested by Anton Ovchinnikov.
34256 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
34258         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
34259         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
34260         * lib/stdalign.in.h (_Alignas, _Alignof):
34261         Port to FreeBSD 9.1, and to C11 and C++11.
34262         (_Alignas): Also support ICC.
34263         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
34264         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
34266 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34268         fnmatch: don't goto over declaration
34269         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
34270         undefined behavior for goto over a declaration.
34271         Problem reported by Charlie Brown in
34272         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
34274         pipe2: decouple from binary-io a bit
34275         This is for Emacs, which needs pipe2 but not binary-io.
34276         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
34277         * modules/binary-io (Depends-on): Add module indicator.
34279 2013-07-03  Eric Blake  <eblake@redhat.com>
34281         mgetgroups: relax license to LGPLv2+
34282         * modules/getugroups (License): Change from GPLv3+.
34283         * modules/mgetgroups (License): Likewise.
34284         * modules/getgroups (License): Change from LGPLv3+.
34286         xalloc-oversized: relax license to LGPLv2+
34287         * modules/xalloc-oversized (License): Change from GPLv3+.
34289         nproc: relax license to LGPLv2+
34290         * modules/nproc (License): Change from LGPLv3+.
34292         bootstrap: honor --no-git
34293         * build-aux/bootstrap: Don't even try to use git when user is
34294         pointing to a static checkout.
34296 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34298         ignore-value: port to gcc -pedantic
34299         * lib/ignore-value.h (ignore_value):
34300         Port to gcc -pedantic, by using __extension__.
34301         Reindent as per usual gnulib style nowadays.
34302         Simplify GCC version check.
34304 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34306         extern-inline: port to gcc -std=c89
34307         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
34308         Do not use __gnu_inline__ if pedantic and pre-C99.
34310 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34312         doc: document extern-inline
34313         * doc/extern-inline.texi: New file.
34314         * doc/gnulib.texi (alloca-opt): Include it.
34315         * m4/extern-inline.m4: Move some comments to documentation,
34316         and others closer to what they describe.
34318         doc: chatter less
34319         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
34320         (updated-stamp): Use it.  This causes 'make' to output just
34321         one file name rather than zillions.
34323         fflush, fseeko: port to musl cross-compiles
34324         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
34325         on some implementation that (1) is not known to be buggy,
34326         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
34327         cross-compiled to so we can't easily check for lack of
34328         conformance.  This is for cross-compiling to musl.
34329         Reported by Rich Felker in
34330         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
34331         * m4/fclose.m4 (gl_FUNC_FCLOSE):
34332         * m4/fflush.m4 (gl_FUNC_FFLUSH):
34333         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
34334         Adjust to above change.
34335         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
34336         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
34337         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
34338         known not to work, or unknown.
34340 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34342         msvc-inval: port to mingw-w64
34343         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
34344         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
34345         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
34347 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
34349         getcwd-lgpl: port to Tru64
34350         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
34351         Problem reported by Steven M. Schweda in
34352         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
34354         tests: port large-fd POSIX spawn tests to OS X
34355         Problem reported by Daiki Ueno in
34356         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
34357         * tests/test-posix_spawn_file_actions_addclose.c:
34358         * tests/test-posix_spawn_file_actions_adddup2.c:
34359         * tests/test-posix_spawn_file_actions_addopen.c:
34360         Include <limits.h>, for OPEN_MAX, if available.
34361         (big_fd): New static function.
34362         (main): Use it.
34364 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
34366         tests/nap.h: use an adaptive delay to avoid ctime update issues
34367         The recent change in nap.h (5191133e) decreased the probability of lost
34368         races to about a third, however such problems could still be observed
34369         in virtual machines and openSUSE's OBS.
34370         Before, nap() detected the needed time once empirically and then used
34371         that delay (together with a small correction multiplier) in further
34372         calls.  This problem has been reported and discussed several times,
34373         including guesses about possible kernel issues:
34374         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
34375         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
34376         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
34377         http://bugs.gnu.org/12820
34378         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
34379         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
34380         Now, nap() avoids the race alltogether by verifying on a reference
34381         file whether a timestamp difference has happened.
34382         * tests/nap.h (nap_fd): Define file descriptor variable for the
34383         witness file.
34384         (nap_works): Change return value to bool.  Change passing
34385         the old file's status by value instead of by reference as this function
34386         does no longer update that timestamp; rename the function argument from
34387         st to old_st.  Remove the local variables cdiff and mdiff because that
34388         function now returns true/false instead of the precise delay.
34389         (guess_delay): Remove function.
34390         (clear_tmp_file): Add new function to close and unlink the witness file.
34391         (nap): Instead of re-using the delay which has been calculated during
34392         the first call, avoid the race by actually verifying that a timestamp
34393         difference can be observed on the current file system.  Use an adaptive
34394         approach for the delay to minimize execution time.  Assert that the
34395         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
34396         = 2^31 - 1 = 2.1s.
34397         Use atexit to call clear_tmp_file when the process terminates.
34399 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
34401         sig2str: port to C++
34402         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
34403         Reported by Daniel J Sebald in
34404         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
34406 2013-05-30  Eric Blake  <eblake@redhat.com>
34408         docs: mention cygwin shortcoming in <sys/un.h>
34409         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
34411         vasnprintf: silence mingw compiler warning
34412         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
34414 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34416         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
34417         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
34418         This fixes a porting bug I recently reintroduced in regex, and
34419         some other instances that I discovered while testing the fix.
34420         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
34421         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
34422         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
34423         with an empty argument if this is a pedantic pre-C99 GCC.
34424         * lib/verify.h: Do not use _Static_assert if this is a pedantic
34425         pre-C11 GCC.
34427         regex: adapt to locking regime instead of depending on pthread
34428         Instead of depending on pthread, adapt to whatever thread
34429         modules are in use.  Problem reported by Ludovic Courtès in
34430         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
34431         and by Mats Erik Andersson in
34432         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
34433         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
34434         Support either the 'lock' module, or the 'pthread' module, or
34435         no module.
34436         (lock_lock, lock_unlock): New macros.
34437         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
34438         * modules/lock, modules/pthread (configure.ac): Add module indicator.
34439         * modules/regex (Depends-on): Remove pthread.
34441 2013-05-22  Eric Blake  <eblake@redhat.com>
34443         getgroups: document portability issues
34444         * doc/glibc-functions/initgroups.texi (initgroups): Mention
34445         multithread safety.
34446         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
34447         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
34448         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
34449         getugroups.
34450         * doc/posix-functions/getgroups.texi (getgroups): Mention
34451         multithread safety and mgetgroups.
34453 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
34455         test-lchown, test-chown: also skip test if chown fails with EPERM
34456         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
34457         skip this test, to handle FAT file systems.
34458         * tests/test-chown.h (test_chown): Likewise.
34460 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
34462         regex: fix dfa race in multithreaded uses
34463         Problem reported by Ludovic Courtès in
34464         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
34465         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
34466         New macros.  All uses of __libc_lock_define, __libc_lock_init
34467         changed to use the first two of these.
34468         (__libc_lock_lock, __libc_lock_unlock): New macros, for
34469         non-glibc platforms.
34470         (struct re_dfa_t): Define the lock unconditionally.
34471         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
34472         '#ifdef _LIBC"s.
34473         * modules/regex (Depends-on): Add pthread, if we use the
34474         included regex.
34476         * lib/regcomp.c: Do actions that are not needed for glibc,
34477         but may be needed elsewhere.
34478         (regfree, re_compile_internal): Destroy the lock.
34479         (re_compile_internal): Check for lock-initialization failure.
34481         malloca: port to compilers that reject size-zero arrays
34482         This fixes a bug introduced in my previous patch.
34483         * lib/malloca.c (struct preliminary_header): Use an int
34484         rather than a character array of size int; that's simpler.
34485         (struct header): Remove, replacing with ...
34486         (union header): New type.  This avoids the need for declaring a
34487         character array of size zero, which is not allowed on some platforms.
34488         All uses changed.
34490 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
34492         parse-datetime, tests: don't use "string" + int
34493         Recent versions of 'clang' complain about C source code that
34494         uses expressions of the form '"string literal" + integer',
34495         I guess on the theory that it's confusing for readers who are
34496         used to C++.  On those grounds I suppose it's OK to make this
34497         minor style change.
34498         * lib/parse-datetime.y (parse_datetime):
34499         * tests/test-fchdir.c (main):
34500         * tests/test-snprintf-posix.h (test_function):
34501         * tests/test-snprintf.c (main):
34502         * tests/test-vasnprintf-posix.c (test_function):
34503         * tests/test-vasnprintf.c (test_function):
34504         * tests/test-vsnprintf.c (main):
34505         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
34506         Rewrite '"str" + E' to '&"str"[E]'.
34508 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34510         argmatch: port to C++
34511         * lib/argmatch.h [__cplusplus]: Add extern "C".
34513         argp: typo fix
34514         * lib/argp-help.c: Typo in comment.
34516 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
34518         manywarnings: update for GCC 4.8.0
34519         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
34520         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
34521         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
34522         -Wmissing-noreturn, as they are duplicates of other warnings.
34523         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
34524         was documented to be flaky in earlier versions of GCC.
34526         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
34527         * tests/test-spawn.c (main):
34528         * tests/test-sys_socket.c (main):
34529         * tests/test-sys_wait.c (main):
34530         Don't have a switch value that isn't covered by a case.
34532         getaddrinfo-tests: port --enable-gcc-warnings to clang
34533         * tests/test-getaddrinfo.c (simple):
34534         Avoid casts from looser to stricter-aligned pointers.
34536         thread: port --enable-gcc-warnings to clang
34537         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
34538         Include <signal.h>, to pacify a warning about pthread_sigmask.
34540         stdio: use __REDIRECT for fwrite, fwrite_unlocked
34541         * lib/stdio.in.h (fwrite):
34542         When working around bug 11959, use __REDIRECT rather than '#define
34543         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
34544         fix the -Wunused-value issue with clang, and it works with GCC too.
34545         Problem with targeting reported by Eric Blake in
34546         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
34547         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
34548         debugging the fwrite issue.
34550         stdio: port --enable-gcc-warnings to clang
34551         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
34552         since the GCC workaround for fwrite does not pacify clang.
34554         sig2str: port --enable-gcc-warnings to clang
34555         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
34557         obstack: port --enable-gcc-warnings to clang
34558         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
34559         Avoid casts from looser to stricter-aligned pointers.
34561         memchr2: port --enable-gcc-warnings to clang
34562         * lib/memchr2.c (memchr2):
34563         Avoid casts from looser to stricter-aligned pointers.
34565         mbsstr: port --enable-gcc-warnings to clang
34566         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
34567         Avoid casts from looser to stricter-aligned pointers.
34569         malloca: port --enable-gcc-warnings to clang
34570         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
34571         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
34573         inttostr: port --enable-gcc-warnings to clang
34574         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
34576         warnings: port to clang
34577         Problem reported by Daniel P. Berrange via Eric Blake in
34578         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
34579         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
34580         (gl_WARN_ADD): Use it.
34582 2013-05-11  Jim Meyering  <meyering@fb.com>
34584         quotearg: do not read beyond end of buffer
34585         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
34586         end of an ARG for which no length was specified.  With an N-byte
34587         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
34588         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
34589         via coreutils' misc/sort-debug-keys.sh test and detected by running
34590         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
34591         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
34592         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
34593         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
34594         characters correctly."
34596 2013-05-11  Daiki Ueno  <ueno@gnu.org>
34598         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
34599         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
34600         compilation target is Mac OS X 10.6.
34601         Problem reported by parafin and Andoni Morales in
34602         <http://savannah.gnu.org/bugs/?37844> and
34603         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
34605 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
34607         mkdir-p: remove assumptions about umask and mode
34608         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
34609         umask is 0, or that MODE is a subset of MODE_BITS.
34611 2013-05-10  Eric Blake  <eblake@redhat.com>
34613         maint.mk: catch more abuse of HAVE_DECL in syntax-check
34614         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
34616 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
34618         deps: require Automake >= 1.9.6 in generated Makefile fragments
34620         That is the same minimal version required in the DEPENDENCIES file.
34621         Moreover, the old code generated a requirement of Automake >= 1.5,
34622         and that is an insanely outdated version.
34624         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
34625         * tests/havelib/rpathlx/Makefile.am: Likewise.
34626         * tests/havelib/rpathly/Makefile.am: Likewise.
34627         * tests/havelib/rpathlyx/Makefile.am: Likewise.
34628         * tests/havelib/rpathlz/Makefile.am: Likewise.
34629         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
34630         * tests/havelib/rpathx/Makefile.am: Likewise.
34631         * tests/havelib/rpathy/Makefile.am: Likewise.
34632         * tests/havelib/rpathz/Makefile.am: Likewise.
34634 2013-05-08  Eric Blake  <eblake@redhat.com>
34636         bootstrap: AC_INIT may have more than four parameters
34637         * build-aux/bootstrap (extract_package_name): Correctly extract
34638         non-empty tarname field.  Avoid range in regex.
34639         Based on a report by Sami Kerola <kerolasa@iki.fi>.
34641 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
34643         qacl: port to MS-Windows port of GNU Emacs
34644         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
34645         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
34646         port of GNU Emacs.  Problem reported by Eli Zaretskii in
34647         <http://bugs.gnu.org/14295#14>.
34649 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
34651         acl: include quote.h
34652         * lib/copy-acl.c: Include quote.h.
34653         * lib/set-acl.c: Likewise.
34655 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
34657         fchownat, renameat, unlinkat: update statat dependencies
34658         These modules use statat and lstatat, not fstatat; so depend on
34659         the statat module, which was split out recently from fstatat.
34660         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
34661         * modules/renameat: Likewise.  Also delete fstat.
34662         URL: http://bugs.gentoo.org/468790
34664 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
34666         Assume gnulib is checked out from Git, not CVS
34668         In fact, access to the gnulib repository through CVS has been
34669         disabled, or more precisely, got broken and was never restored; see:
34670         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
34672         Note that support for CVS is not removed completely and unthinkingly
34673         by this change: only support for CVS checkouts of gnulib itself is
34674         removed.  For example, the 'bootstrap' script still cater to .cvsingore
34675         files and CVS directories, for the benefit of those poor gnulib clients
34676         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
34678         * gnulib-tool: Simplify accordingly.
34679         * posix-modules: Likewise.
34680         * MODULES.html.sh: Likewise.
34681         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
34682         repository.
34683         * doc/gnulib-intro.texi: Likewise.
34684         * doc/gnulib-readme.texi: Likewise.
34685         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
34686         sample '.gitignore' file rather than a sample '.cvsignore'.
34687         * NEWS: Update.
34688         * m4/extensions.m4: While at it, remove a comment mistakenly referring
34689         to "CVS Autoconf" rather than "git Autoconf".
34691 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
34693         utimensat-tests, etc.: try to fix some races
34694         Problem reported by Bernhard Voelker in
34695         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
34696         I don't know whether this patch fixes that race condition, but it
34697         fixes *some* race conditions, so it should be a win.
34698         * modules/chown-tests (Depends-on):
34699         * modules/fchownat-tests (Depends-on):
34700         * modules/fdutimensat-tests (Depends-on):
34701         * modules/futimens-tests (Depends-on):
34702         * modules/lchown-tests (Depends-on):
34703         * modules/stat-time-tests (Depends-on):
34704         * modules/utimens-tests (Depends-on):
34705         * modules/utimensat-tests (Depends-on):
34706         Depend on nanosleep, not usleep.
34707         * modules/chown-tests (test_chown_LDADD):
34708         * modules/lchown-tests (test_lchown_LDADD):
34709         * modules/stat-time-tests (test_stat_time_LDADD):
34710         New macro.
34711         * modules/fchownat-tests (test_fchownat_LDADD):
34712         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
34713         * modules/futimens-tests (test_futimens_LDADD):
34714         * modules/utimens-tests (test_utimens_LDADD):
34715         * modules/utimensat-tests (test_utimensat_LDADD):
34716         Add $(LIB_NANOSLEEP).
34717         * modules/stat-time-tests (Files): Add tests/nap.h.
34718         * tests/nap.h: Include <limits.h>, for INT_MAX.
34719         (lt_mtime): Remove.
34720         (diff_timespec): New function.
34721         (get_stat): Rename from get_mtime.  All callers changed.
34722         (nap_works): Determine the needed delay by inspecting the
34723         file system's timestamp jumps; this should be more reliable.
34724         Look at both mtime and ctime, and take the maximum of the two jumps.
34725         (nap_works, guess_delay):
34726         Return a nanosecond count, not a microsecond count.
34727         All callers changed.
34728         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
34729         failure.
34730         (nap): Multiply the guess by 1.125, to accommodate the case where
34731         the file system's clock is a bit slower than nanosleep's clock.
34732         * tests/test-stat-time.c (BASE): New macro.
34733         Include nap.h.
34734         (nap): Remove; nap.h now defines this.  This removes a duplicate
34735         implementation of 'nap'.
34737         utimens, utimensat: work around Solaris UTIME_OMIT bug
34738         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
34739         Linux kernel 2.6.32 does.  Work around it in the same way.
34740         * doc/posix-functions/futimens.texi (futimens):
34741         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
34742         * lib/utimens.c (fdutimens, lutimens):
34743         * lib/utimensat.c (rpl_utimensat): Work around the bug.
34745         gettext: now it's your responsibility to add -I$(top_builddir)/intl
34746         Formerly, it was your responsibility to do this for all Makefile.ams
34747         other than Gnulib's.  Now it's your responsibility to do it for
34748         Gnulib's Makefile.am, too.
34749         * NEWS: Document this.
34750         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
34752         acl: include errno.h to get errno
34753         Reported by Daiki Ueno in
34754         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
34755         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
34757 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
34759         tests: don't assume getdtablesize () <= 10000000
34760         * modules/cloexec-tests:
34761         * modules/dup2-tests:
34762         * modules/dup3-tests:
34763         * modules/nonblocking-tests:
34764         * modules/posix_spawn_file_actions_addclose-tests:
34765         * modules/posix_spawn_file_actions_adddup2-tests:
34766         * modules/posix_spawn_file_actions_addopen-tests:
34767         * modules/unistd-safer-tests:
34768         Depend on the getdtablesize module.
34769         * tests/test-cloexec.c:
34770         * tests/test-dup-safer.c:
34771         * tests/test-dup2.c:
34772         * tests/test-dup3.c:
34773         * tests/test-fcntl.c:
34774         * tests/test-nonblocking.c:
34775         * tests/test-posix_spawn_file_actions_addclose.c:
34776         * tests/test-posix_spawn_file_actions_adddup2.c:
34777         * tests/test-posix_spawn_file_actions_addopen.c:
34778         Don't assume getdtablesize () <= 10000000.
34780 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
34782         extern-inline: work around bug in Sun c99
34783         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
34784         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
34786 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
34788         qacl: new module, broken out from the acl module
34789         This is for GNU Emacs, which wants the acl functions but does
34790         not want 'error' invoked when they fail.
34791         * lib/acl-internal.h: Do not include error.h, quote.h.
34792         (ENOSYS, ENOTSUP): Remove; no longer needed.
34793         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
34794         * lib/acl.h: Include <stdbool.h>.
34795         (acl_errno_valid): New function.
34796         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
34797         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
34798         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
34799         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
34800         (ACL_INTERNAL_INLINE): Remove; no longer needed.
34801         * lib/file-has-acl.c (file_has_acl):
34802         * lib/qcopy-acl.c (qcopy_acl):
34803         * lib/qset-acl.c (qset_acl):
34804         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
34805         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
34806         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
34807         lib/file-has-acl.c, m4/acl.m4 to qacl module.
34808         Add lib/set-acl.c.
34809         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
34810         Add qacl.
34811         (configure.ac): Move gl_FUNC_ACL to qacl module.
34812         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
34813         Rename set-mode-acl.c to set-acl.c.
34814         * lib/acl-errno-valid.c: New file.
34815         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
34816         copy_acl function remains in copy-acl.c.
34817         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
34818         (_): Remove; not needed.
34819         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
34820         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
34821         * modules/qacl: New file, moved from the old modules/acl.
34822         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
34823         Remove set-mode-acl.c, copy-acl.c.
34824         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
34826         alignof, intprops, malloca: port better to IBM's C compiler
34827         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
34828         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
34829         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
34831 2013-04-25  Daiki Ueno  <ueno@gnu.org>
34833         wctype-h: fix gettext link error on mingw
34834         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
34835         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
34836         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
34837         rpl_towupper and rpl_towupper.
34839 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
34841         regex-tests, regex: allow glibc re_search behavior
34842         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
34843         re_search input data to make the multi-character collating element
34844         in it clearly visible, and treat re_search return code 0 as valid.
34845         * m4/regex.m4 (gl_REGEX): Likewise.
34847 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
34849         stdalign: doc fix
34850         * doc/posix-headers/stdalign.texi (stdalign.h):
34851         Gnulib doesn't support '_Alignof expr'.
34853 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
34855         stdalign: port to stricter ISO C11
34856         ISO C11 says that _Alignof's operand must be a parenthesized type.
34857         Problem reported by Eli Zaretskii in
34858         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
34859         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
34860         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
34862 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
34864         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
34865         Problem reported by Marco Atzeri in
34866         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
34867         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
34868         Simply delegate to the system <sys/select.h> in this case too.
34869         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
34870         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
34871         be needed on Solaris either.
34872         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
34873         Simply delegate to the system <sys/time.h> in this case.
34875 2013-03-19  Karl Berry  <karl@gnu.org>
34877         * build-aux/gnupload: check for erroneous (with gnupload) use of
34878         ftp-upload.gnu.org, tweak help.
34880 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34882         copy-file, rpmatch: fix problems found by cppcheck
34883         Reported by Arno Onken in
34884         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
34885         * lib/rpmatch.c (try): Fix memory leak.
34886         * lib/copy-file.c: Include "ignore-value.h".
34887         (qcopy_file_preserving): Ignore chown value.
34888         * modules/copy-file (Depends-on): Add ignore-value.
34890 2013-01-27  Jim Meyering  <jim@meyering.net>
34892         prefix-gnulib-mk: give better diagnostics
34893         * build-aux/prefix-gnulib-mk: Don't just "die".
34894         Give better diagnostics upon failure.
34896 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
34898         putenv: port to Solaris 10
34899         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
34900         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
34901         is not what is wanted here.
34902         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
34903         declaration, not for its existence.
34905 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
34907         mktime: fix configure typo
34908         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
34910 2013-03-12  Eric Blake  <eblake@redhat.com>
34912         regex-tests: skip UTF-8 test on mingw
34913         * modules/regex-tests (Depends-on): Add localcharset.
34914         * tests/test-regex.c (main): Use it to skip test on mingw.
34916 2013-03-11  Eric Blake  <eblake@redhat.com>
34918         tests: make it easier to bypass alarm time in debugger
34919         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
34920         * tests/test-memmem.c (main): Likewise.
34921         * tests/test-passfd.c (main): Likewise.
34922         * tests/test-ptsname.c (main): Likewise.
34923         * tests/test-ptsname_r.c (main): Likewise.
34924         * tests/test-strcasestr.c (main): Likewise.
34925         * tests/test-strstr.c (main): Likewise.
34927         regex: port to mingw's recent addition of undeclared alarm
34928         * doc/posix-functions/alarm.texi (alarm): Document that alarm
34929         exists but still doesn't work in newer mingw.
34930         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
34931         not existence.  Ensure SIGALRM is not trapped.
34932         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
34933         * m4/regex.m4 (gl_REGEX): Likewise.
34934         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
34935         * tests/test-regex.c (main): Use correct probe for alarm.
34937         putenv: avoid compilation warning on mingw
34938         * lib/putenv.c (_unsetenv): Protect variable declaration.
34939         (putenv): Fix indentation.
34941 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
34943         unistd: don't prevent Tru64 Unix from using gnulib strtod.
34944         * lib/unistd.in.h: be careful not to include un-needed system
34945         stdlib.h from here, because that prevents gnulib stdlib.h from
34946         defining rpl_strtod correctly.
34948 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
34950         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
34951         changesets, but for the 'precision 0' test.
34952         * tests/test-vasprintf-posix.c (test_function): Don't insist on
34953         round-to-even, since POSIX says rounding is implementation-defined
34954         and OS X 10.8.2 rounds 1.51 to 1 here.
34956         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
34957         changeset.
34958         * tests/test-vasprintf-posix.c (test_function): Don't insist on
34959         round-to-even, since POSIX says rounding is implementation-defined
34960         and OS X 10.8.2 rounds 1.5 to 1 here.
34962 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34964         vasnprintf-posix-tests: allow rounding 1.5 to 1
34965         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
34966         round-to-even, since POSIX says rounding is implementation-defined
34967         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
34968         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
34970         bootstrap: port to FreeBSD
34971         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
34972         that treat '--' differently.  Reported by Mats Erik Andersson in
34973         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
34975 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
34977         regex: rename remaining __attribute calls to __attribute__.
34978         2012-02-25 changed definition of __attribute, but left some uses
34979         unchanged, preventing compilation of regex module on most non-gcc
34980         environments.
34981         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
34982         (lookup_collation_sequence_value, build_range_exp)
34983         (build_collating_symbol): Set attributes with newly renamed
34984         __attribute__ decorator.
34985         * lib/regex_internal.c (re_string_peek_byte_case)
34986         (re_node_set_compare, re_node_set_contains): Likewise.
34987         * lib/regexec.c (acquire_init_state_context): Likewise.
34989 2013-03-06  Bruno Haible  <bruno@clisp.org>
34991         execute: Revert last change, but use a different condition.
34992         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
34993         on Windows.
34995 2013-03-05  Eric Blake  <eblake@redhat.com>
34997         execute: drop dead code
34998         * lib/execute.c (nonintr_close, nonintr_open): Delete.
35000 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
35002         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
35003         * m4/non-recursive-gnulib-prefix-hack.m4
35004         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
35005         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
35006         <http://bugs.gnu.org/10305#237>.
35008 2013-03-04  Eric Blake  <eblake@redhat.com>
35010         test-getsockopt: avoid compiler warning
35011         * tests/test-getsockopt.c (includes): Ensure close is declared.
35013 2013-03-02  Bruno Haible  <bruno@clisp.org>
35015         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
35016         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
35018 2013-03-02  Bruno Haible  <bruno@clisp.org>
35020         gettext: Update to version 0.18.2.
35021         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
35022         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
35023                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
35025 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35027         regex: merge patches from libc
35029         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
35030         * lib/regex_internal.h (__attribute__): Rename from __attribute.
35031         All uses changed.
35032         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
35033         (re_string_wchar_at, re_string_elem_size_at):
35034         Mark function as possibly unused.
35036         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
35037         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
35038         elements compare against the byte sequence of it, not its name.
35040 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35042         putenv: port better to native Windows
35043         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35044         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
35045         (_unsetenv): Use _putenv if available.
35046         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
35047         a bit less likely to cause damage.
35048         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35049         Fix the wrong value with SetEnvironmentVariable.
35050         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
35051         code better.
35053 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35055         regex: ignore old-style-definition warnings
35056         * lib/regex.c: Add pragma to ignore these warnings.
35057         Problem reported for GNU tar by Pavel Raiskup.
35059 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
35061         getcwd: support coreutils better
35062         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
35063         but this might not be correct in coreutils, which disables
35064         the raw decl checks.  Problem reported by Nagendra in
35065         <http://bugs.gnu.org/10305#192>.
35066         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
35067         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
35068         Test the getcwd function, not any macro, since getcwd.c wants the
35069         function.
35070         * m4/getcwd.m4 (gl_FUNC_GETCWD):
35071         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
35072         compile, as might happen if there's a macro but no function.
35074         strtod: support coreutils better
35075         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
35076         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
35077         disables the raw decl checks.  This assumes there is an underlying
35078         strtod, but that's a safe assumption these days.
35079         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
35081         mountlist: port to HP NonStop
35082         Reported by Joachim Schmitz in
35083         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
35084         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
35085         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
35087 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
35089         extern-inline: avoid compilation error with HP-UX cc
35090         Reported by Richard Lloyd in
35091         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
35092         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35093         Suppress extern inline with HP-UX cc.  This should be safe,
35094         though it may hurt performance.  Perhaps someone with some HP-UX
35095         experience can come up with a higher-performance fix.
35097 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
35099         putenv: fix heap corruption with mixed putenv/_putenv
35100         Problem reported by Michael Goffioul in
35101         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
35102         * lib/putenv.c (putenv) [HAVE__PUTENV]:
35103         Rely on _putenv to allocate the new environment.
35104         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
35105         * modules/putenv (configure.ac): Use it.
35107 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
35109         unsetenv etc.: port to Solaris 11 + GNU Emacs
35110         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
35111         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
35112         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
35113         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
35114         idea but is too painful to fix right now), and without this gnulib
35115         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
35116         compiling unsetenv.c on Solaris 11.  Fix the problem for
35117         unsetenv.c, and fix other similar occurrences.
35119 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
35121         secure_getenv: fix C++ declaration typo
35122         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
35123         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
35124         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
35126 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
35128         careadlinkat: stop exporting careadlinkatcwd
35129         Only Emacs used it directly, and Emacs no longer needs it.
35130         * NEWS: Document this simplification.
35131         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
35132         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
35133         for readlink.
35134         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
35135         Don't include stdlib.h; no longer needed.
35136         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
35137         * lib/relocwrapper.c: Adjust comment to match new dependencies.
35138         * modules/areadlink (Depends-on): Add readlink.
35139         (Maintainer): Add self.
35140         * modules/careadlinkat (Depends-on): Remove readlink.
35142         extensions: port better to HP-UX
35143         This is merged from git Autoconf.
35144         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35145         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
35146         so that it's compatible with the value used when compiling.
35148         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
35149         Problem reported by Mats Erik Andersson in
35150         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
35151         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35152         openpty function exists, not merely when we intend to replace it.
35153         This corrects the 2013-01-31 patch, which mistakenly defined
35154         HAVE_OPENPTY even on hosts that lacked it.
35156 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
35158         secure_getenv: fix include typo
35159         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
35161         secure_getenv: port better to FreeBSD and Solaris
35162         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
35163         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
35164         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
35165         This works better on BSDish platforms.
35166         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
35167         Test for issetugid if __secure_getenv is missing.
35169 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
35171         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
35172         Some of these changes are merged in from git Autoconf.
35173         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35174         When deciding whether to define _XOPEN_SOURCE, inspect the
35175         preprocessor macro __hpux instead of the more-heavyweight
35176         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
35177         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
35178         as the key for __EXTENSIONS__.
35180         unistd: avoid namespace pollution on non-glibc systems
35181         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
35182         This avoids namespace pollution on non-glibc systems, by causing
35183         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
35184         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
35185         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
35187 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35189         tmpdir: use secure_getenv
35190         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
35191         Define to secure_getenv, not getenv.
35192         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
35193         as that's now secure_getenv's job.
35194         * modules/tmpdir (Depends-on): Add secure_getenv.
35196         tempname: use secure_getenv
35197         * lib/tempname.c (__secure_getenv) [!_LIBC]:
35198         Define to secure_getenv, not getenv.
35199         * modules/tempname (Depends-on):
35200         Add secure_getenv.
35202         secure_getenv: new module
35203         * MODULES.html.sh (Extra functions based on ANSI C 89):
35204         Add secure_getenv.
35205         * doc/glibc-functions/secure_getenv.texi: New file.
35206         * doc/gnulib.texi: Include it.
35207         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
35208         New files.
35209         * lib/stdlib.in.h (secure_getenv): New decl.
35210         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
35211         * modules/stdlib (stdlib.h):
35212         Add secure_getenv checks.
35214 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
35216         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
35217         Reported for OS X 10.8.2 by Assaf Gordon in
35218         <http://bugs.gnu.org/13516>.
35219         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
35220         !HAVE_OPENAT && !HAVE_FDOPENDIR.
35221         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
35222         so that they can be kept in sync more easily.  Avoid PATH_MAX
35223         test on the Hurd.  Sync from test-getcwd.c for errno tests after
35224         mkdir or chdir failure.
35225         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
35226         lib/getcwd.c.
35227         (test_abort_bug): Do not test for the deep directory bug unless we
35228         have openat support.  Avoid PATH_MAX test on the Hurd.
35230         regex-tests, regex: fix bug: memset undeclared
35231         * tests/test-regex.c: Don't include regex.h twice.  Include
35232         string.h, to declare memset.  Christensen's report also mentioned
35233         this issue.
35234         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
35235         test-regex.c, to avoid future problems like this.  Remove
35236         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
35237         twice.
35239         regex-tests: fix link errors on older Solaris
35240         These need to link with @LIBINTL@ to get libintl_gettext.
35241         Problem reported by Tom G. Christensen in
35242         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
35243         * modules/regex-tests (test_regex_LDADD): New macro.
35245 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
35247         regex-tests: new module
35248         * modules/regex-tests, tests/test-regex.c: New files.
35250         regex: fix off-by-one error in configure test
35251         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
35253 2013-01-31  Eric Blake  <eblake@redhat.com>
35255         regex: avoid infinite configure test
35256         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
35258 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
35260         openpty: fix bug where HAVE_OPENPTY wasn't defined
35261         See the thread starting at:
35262         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
35263         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35264         openpty function exists, not merely when we intend to replace it.
35266 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
35268         sys_time: port to Solaris 2.6
35269         There is a circularity problem on Solaris 2.6, where <time.h> includes
35270         <sys/time.h> for struct timespec.  The include nesting is gnulib
35271         <time.h>, system <time.h>, gnulib <sys/time.h>, system
35272         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
35273         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
35274         <sys/siginfo.h>; the last, innermost file needs struct
35275         timestruc_t, which is defined in <sys/time.h>, which has not been
35276         fully parsed.  Problem reported by Tom G. Christensen in
35277         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
35278         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
35279         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
35280         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
35281         uses split double-inclusion guards.
35283 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
35285         regex: test for buffer overrun
35286         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
35287         for the just-fixed regex bug.
35289 2013-01-29  Andreas Schwab  <schwab@suse.de>
35291         regex: fix buffer overrun in regexp matcher [BZ #15078]
35292         * lib/regexec.c (extend_buffers): Add parameter min_len.
35293         (check_matching): Pass minimum needed length.
35294         (clean_state_log_if_needed): Likewise.
35295         (get_subexp): Likewise.
35297 2013-01-28  Pádraig Brady  <P@draigBrady.com>
35299         mountlist: don't consider "devtmpfs" as dummy
35300         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
35301         as there is storage associcated with it.
35303 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
35305         futimens-tests, utimens-tests: Depend on gettext.
35306         This works around a problem introduced in my 2013-01-12 patch,
35307         which added @LIBINTL@ to these modules.
35308         * modules/futimens-tests (Depends-on):
35309         * modules/utimens-tests (Depends-on): Add gettext.
35311 2013-01-26  Eric Blake  <eblake@redhat.com>
35313         test-getpeername: fix typo
35314         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
35316 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
35318         bootstrap: remove the need for a sorted .gitignore file
35319         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
35320         rename to insert_if_absent(), so that we don't need or generate
35321         a sorted .gitignore file.  We do require a .gitignore with no
35322         existing duplicate entries and enforce that.
35323         (sort_patterns): Remove this function as we now use the simpler
35324         technigue of inserting blacklist entries at the top of the file,
35325         assuming gnulib won't be inserting !whitelist entries.
35327 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35329         readlinkat: don't depend on gl_FUNC_OPENAT
35330         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
35331         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
35332         renameat.m4, symlinkat.m4; but one thing at a time.
35334         statat: new module, split out from fstatat
35335         GNU Emacs needs the POSIX-specified fstatat, but not the
35336         gnulib-specified statat and lstat.  Split the latter two into a
35337         new module 'statat'.
35338         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
35339         * lib/openat.h, lib/statat.c (STATAT_INLINE):
35340         Rename from FSTATAT_INLINE. All uses changed.
35341         * modules/fstatat (Files): Remove lib/statat.c.
35342         (gl_MODULE_INDICATOR([fstatat])): Remove.
35343         (lib_SOURCES): Remove.
35344         (Maintainer): Add self.
35345         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
35346         * tests/test-fstatat.c (BASE): Don't define if already defined.
35347         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
35349 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
35351         tests: don't assume fd 99 is closed
35352         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
35353         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
35354         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
35355         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
35356         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
35357         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
35358         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
35359         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
35360         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
35361         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
35362         * tests/test-fwrite.c, tests/test-getpeername.c:
35363         * tests/test-getsockname.c, tests/test-getsockopt.c:
35364         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
35365         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
35366         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
35367         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
35368         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
35369         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
35370         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
35371         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
35372         * tests/test-unlinkat.c, tests/test-unlockpt.c:
35373         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
35374         Close file descriptor 99, instead of assuming it's already closed.
35376 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
35378         stpncpy: port to OS X 10.8
35379         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
35380         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
35382 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
35384         unistd: port to recent mingw
35385         * lib/unistd.in.h: Remove special invocation convention for mingw,
35386         which breaks for the latest mingw version.  See John W. Eaton in
35387         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
35389         largefile: port better to Mac OS X 10.5
35390         This patch is backported from Autoconf git.
35391         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
35392         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
35393         with ino_t size being different for configuration time versus
35394         build/run time.  Problem reported by PHO in
35395         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
35397 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
35399         doc: clarify -Werror
35400         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
35401         clarify that it's intended for developers, not for ordinary builds,
35402         and mention --enable-gcc-warnings as one possible use.
35404 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
35406         stdint: fix build with Android's Bionic fox x86
35407         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
35408         was already included as _SSIZE_T_DEFINED_ might also be defined
35409         in include/machine/_types.h, which is included by stdio.h
35411 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
35413         net_if-tests: port to Solaris 7 + GCC 3.4.6
35414         Problem reported by Tom G. Christensen in
35415         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
35416         * tests/test-net_if.c (ni): Move to next the code that uses it,
35417         so that it's declared only if needed.
35419 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
35421         net_if-tests: port to older Solaris
35422         Problem reported by Tom G. Christensen in
35423         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35424         * modules/net_if-tests (NET_IF_LIB): New substitution.
35425         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
35426         (HAVE_IF_NAMEINDEX): New C macro.
35427         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
35429         system-quote-tests: port to older Solaris
35430         Problem reported by Tom G. Christensen in
35431         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35432         * tests/test-system-quote-child.c (fopen, fread): Undef.
35434         c-xvasprintf etc.: fix link errors on older Solaris
35435         These need to link with @LIBINTL@ to get libintl_gettext.
35436         Problem reported by Tom G. Christensen in
35437         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35438         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
35439         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
35440         * modules/futimens-tests (test_futimens_LDADD):
35441         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
35443 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35445         locale: port to Solaris 2.6 and 7 + GNU gettext
35446         * lib/locale.in.h: Just include_next <locale.h> when
35447         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
35448         when combining the localename module with GNU gettext 0.18.2.
35449         Problem reported by Tom G. Christensen in
35450         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
35452 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35454         stdlib: port to Solaris 2.6
35455         Also, the code worked on Solaris 7 through 9 only by accident.
35456         Problem reported by Tom G. Christensen in
35457         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
35458         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
35459         simply include the system stdlib.h.
35460         * lib/getopt.in.h (__need_system_stdlib_h):
35461         * lib/pthread.in.h (__need_system_stdlib_h):
35462         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
35463         Define when including <stdlib.h>, to avoid problems at least for
35464         the pthread case on Solaris 2.6 and 7.  These .h files can get by
35465         with the system stdlib.h.
35467 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
35469         doc: update main copyright year
35470         * doc/gnulib.texi: Update copyright date.
35472         doc: improve ISO 8601 discussion
35473         * doc/parse-datetime.texi (Combined date and time of day items):
35474         Specify more carefully what formats are supported and what is
35475         done with excess precision.
35477 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
35479         doc: avoid small caps
35480         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
35481         they're more trouble than they're worth.  Suggested by Karl Berry
35482         in <http://bugs.gnu.org/13360>.
35484         regex: conform to strict C
35485         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
35486         From Aharon Robbins.
35488         gnulib-tool: fix incompatibility with autopoint 0.18.2
35489         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
35490         Problem reported by Tom G. Christensen in
35491         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
35493 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35495         fprintftime: bring back and reword fwrite comment
35496         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
35498         stdio: remove now-unnecessary stdio.c
35499         Since stdio.in.h no longer uses inline functions, we no longer
35500         need to compile the extern versions.
35501         * lib/stdio.c: Remove.
35502         * modules/stdio (Files): Remove lib/stdio.c.
35503         (lib_SOURCES): Remove.
35505         unicodeio: depend on stdio, not ignore-value
35506         * lib/unicodeio.c: Do not include ignore-value.h.
35507         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
35508         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
35510         fprintftime: depend on stdio, not ignore-value
35511         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
35512         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
35513         since the stdio module arranges to silence that warning now.
35514         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
35516 2012-10-04  Simon Josefsson  <simon@josefsson.org>
35518         stdint-tests: Fix expanded-before-required-warning.
35519         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
35521 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
35523         fwrite: silence __wur only for older glibc versions
35524         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
35525         This will help us remove this workaround some time in the far future.
35527 2013-01-03  Eric Blake  <eblake@redhat.com>
35529         fwrite: silence __wur without using inline
35530         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
35531         just gcc, and in a way that avoids inline issues.
35532         * modules/stdio (Depends-on): Drop extern-inline.
35534 2013-01-03  Jim Meyering  <jim@meyering.net>
35536         update-copyright: avoid copyright notice date corruption
35537         Given a sequence of copyright year numbers in which the final
35538         one was a two-digit number that happened to be a substring of
35539         a preceding four-digit year number, we would mistakenly update
35540         the substring (from two- to four-digit) rather than the two-digit
35541         number at the end, which, combined with the addition of the current
35542         4-digit year number would yield two 5-digit year numbers, e.g.,
35543         here, it would convert the first "99" to "1999, 2013" rather than
35544         the final one:
35545           1991, 99
35546           11999, 20131, 1999
35547         * build-aux/update-copyright: Tighten a regexp.
35548         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
35549         Reported by Joseph Myers in
35550         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
35552 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35554         regex: omit needless signed-pointer casts
35555         * lib/regcomp.c (build_charclass, build_charclass_op):
35556         Use char *, not unsigned char *, for class name and extra.
35557         The char values are always nonnegative so there's no need to
35558         insist on unsigned char * here, and using char * removes the need
35559         for casts.  Reported by Aharon Robbins in
35560         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35562         regex: support Gawk, which never uses alloca
35563         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
35564         Do not include in this case.  Gawk doesn't supply a substitute
35565         alloca.h and doesn't need one.
35567         regex: port __libc_lock_define usage to C89
35568         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
35569         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
35570         does not conform to C89, as it has an empty macro argument.
35571         Reported by Aharon Robbins in
35572         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35574 2013-01-01  Eric Blake  <eblake@redhat.com>
35576         maint: update all copyright year number ranges
35577         Run "make update-copyright".
35579         version-etc: bump copyright year reported in --version
35580         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
35582 2012-12-31  Eric Blake  <eblake@redhat.com>
35584         sigprocmask-tests: skip test if pid is unexpectedly large
35585         * tests/test-sigprocmask.c (main): Add range check.
35587         git-version-gen: avoid test -z portability glitch
35588         * build-aux/git-version-gen: Prefer portable test spelling, since
35589         git-version-gen is run on more than just developer machines.
35591 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
35593         git-version-gen: add --fallback option to use if git is not present
35594         * build-aux/git-version-gen: Add support for the new option --fallback,
35595         which comes into play when there is no $tarball_version_file and
35596         git is not working.
35597         (scriptversion): Update.
35599         maint.mk: handle missing git with more grace
35600         * top/maint.mk (no-submodule-changes, public-submodule-commit):
35601         Quietly proceed if git is not present.
35603 2012-12-31  Eric Blake  <eblake@redhat.com>
35605         dup2: work around cygwin bug
35606         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
35607         * lib/dup2.c (rpl_dup2): Work around it.
35608         * doc/posix-functions/dup2.texi (dup2): Document it.
35610 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35612         regex: remove unnecessary dependency on localcharset.h
35613         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
35614         hasn't been needed for years.
35615         * modules/regex (Depends-on): Remove localcharset.
35617         regex: revert single-byte change
35618         * lib/regexec.c (check_node_accept_bytes): Revert previous change
35619         to this function.  This was alredy fixed in a different way, at
35620         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
35621         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
35622         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
35624         regex: simplify based on Gawk version
35625         * lib/regex_internal.c (re_dfa_add_node): Simplify.
35626         Reported by Aharon Robbins in
35627         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35629 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
35631         regex: check that pattern char is single-byte
35632         Reported by Aharon Robbins in
35633         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35634         * lib/regexec.c (check_node_accept_bytes):
35635         Return 0 if the pattern string has a multibyte character here.
35637         regex: implement rational ranges
35638         Reported by Aharon Robbins in
35639         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35640         * lib/regcomp.c (build_range_exp) [!_LIBC]:
35641         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
35642         Implement rational ranges.
35644         regex: avoid redefining __wctype
35645         Reported by Aharon Robbins in
35646         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35647         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
35648         #undef before defining.
35650         regex: port to hosts where malloc (0) == NULL
35651         Reported by Aharon Robbins in
35652         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35653         * lib/regex_internal.c (re_node_set_alloc):
35654         Don't assume that malloc (0) yields nonnull.
35655         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
35656         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
35657         * modules/regex (Files): Add m4/eealloc.m4.
35659         regex: port to C89
35660         Reported by Aharon Robbins in
35661         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35662         * lib/regcomp.c (init_word_char): Declaration before statement.
35664         regex: merge glibc changes
35665         Also, copy the license wording from glibc.  This simplifies
35666         merging changes.  gnulib-tool will change the wording to GPL as
35667         appropriate, when importing it to other packages.  The only
35668         glibc change made since the last merge, which needs merging, is:
35669         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
35670         * lib/regex_internal.h (gettext): Remove use of INTUSE.
35672         * users.txt: Add Emacs.
35674         doc: omit mention of version when not needed
35675         * doc/gnulib-intro.texi (Portability and Application Code):
35676         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
35677         Don't mention particular dates or versions when not necessary, so
35678         that the documentation won't go out of date so quickly.
35680         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
35682 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
35684         bootstrap: pass --force to autoreconf.
35685         * build-aux/bootstrap (AUTORECONFFLAGS): New.
35686         Add "--force" so that Automake's ylwrap and other such tools
35687         be updated at each bootstrap invocation.
35688         Use it.
35690 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
35692         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
35693         The earlier patch forgot to update one of the #if conditions, causing
35694         a problem on Debian testing i386 reported by Mats Erik Andersson
35695         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
35696         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
35697         (__argp_fmtstream_puts, argp_fmtstream_puts)
35698         (__argp_fmtstream_write, argp_fmtstream_write)
35699         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
35701         * doc/gnulib-readme.texi: Minor fixups.
35702         (Portability guidelines): Modernize URLs.  Remove some repetition.
35703         (Indent with spaces not TABs): Reword to avoid too-long lines.
35704         Remove some '@ifset standalone' stuff that isn't used.
35706         * doc/gnulib-readme.texi (Portability guidelines):
35707         ctype.h, not ctime.h.
35709         Correct name of POSIX.1-2001.
35710         * doc/posix-functions/fgetc.texi (fgetc):
35711         * doc/posix-functions/fgets.texi (fgets):
35712         * doc/posix-functions/fread.texi (fread):
35713         * doc/posix-functions/fscanf.texi (fscanf):
35714         * doc/posix-functions/getc.texi (getc):
35715         * doc/posix-functions/getchar.texi (getchar):
35716         * doc/posix-functions/scanf.texi (scanf):
35717         POSIX.1-2001, not POSIX-2001.
35719         doc: move README into manual
35720         * README: Move contents to new file doc/gnulib-readme.texi.
35721         Replace with a one-line summary.
35722         * doc/gnulib.texi (Brief Overview): New section,
35723         with old intro preface.  Include gnulib-readme.texi for contents.
35724         (Philosophy): Rename from "Introduction", since this
35725         section no longer introduces the rest.  Write a new preface.
35726         * doc/gnulib-readme.texi: New file, with the old contents of
35727         README texinfo-ized.  This way, the README info appears
35728         in the online and printed manual.
35730 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
35732         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
35733         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
35734         c_vasprintf() prototype.
35736 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
35738         c-vasprintf: Fix "empty declaration" warning reported by GCC.
35739         * lib/c-vasprintf.h: Remove stray semicolon.
35741 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
35743         gettext: avoid obsolete macro AM_PROG_MKDIR_P
35744         It is obsolete and is planned to be removed from Automake 1.14; see
35745         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
35746         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
35747         (installdirs-data, installdirs-data-yes):
35748         Use $(MKDIR_P), not $(mkdir_p).
35749         * m4/intl.m4 (AM_INTL_SUBDIR):
35750         * m4/po.m4 (AM_PO_SUBDIRS):
35751         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
35753 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
35755         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
35756         On this platform, we are not optimizing but we are using
35757         the substitute for extern inlines, so compile as if
35758         C99-style extern inline, or a substitute, is available.
35759         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
35760         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
35761         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
35762         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
35763         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
35764         Declare as ARGP_FS_EI, not as extern.
35765         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
35766         (__option_is_short, _option_is_end, __option_is_end)
35767         [!_LIBC && __USE_EXTERN_INLINES]:
35768         Declare as ARGP_EI, not as extern.
35770 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
35772         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
35773         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
35774         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
35775         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
35776         ...), as the latter is fatal with older Autoconfs.
35777         Problem reported and fix suggested by Eric Blake in thread starting at
35778         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
35780 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
35782         AC_PROG_MKDIR_P: don't workaround if not buggy
35783         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
35784         Define only for Autoconf versions before 2.62.
35785         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
35786         undocumented m4_PACKAGE_VERSION, for consistency with the
35787         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
35788         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
35789         was introduced in 2.62.
35791 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
35793         New 'c-*printf' modules for formatted output in C locale.
35795         New module 'c-vasnprintf'.
35796         * modules/c-vasnprintf: New file.
35797         * lib/c-vasnprintf.c: New file.
35798         * lib/c-vasnprintf.h: New file.
35800         New module 'c-snprintf'.
35801         * modules/c-snprintf: New file.
35802         * modules/c-snprintf-tests: New file.
35803         * lib/c-snprintf.c: New file.
35804         * lib/c-snprintf.h: New file.
35805         * tests/test-c-snprintf.c: New file.
35806         * tests/test-c-snprintf.sh: New file.
35808         New module 'c-vsnprintf'.
35809         * modules/c-vsnprintf: New file.
35810         * modules/c-vsnprintf-tests: New file.
35811         * lib/c-vsnprintf.c: New file.
35812         * lib/c-vsnprintf.h: New file.
35813         * tests/test-c-vsnprintf.c: New file.
35814         * tests/test-c-vsnprintf.sh: New file.
35816         New module 'c-vasprintf'.
35817         * modules/c-vasprintf: New file.
35818         * modules/c-vasprintf-tests: New file.
35819         * lib/c-asprintf.c: New file.
35820         * lib/c-vasprintf.c: New file.
35821         * lib/c-vasprintf.h: New file.
35822         * tests/test-c-vasprintf.c  +: New file.
35823         * tests/test-c-vasprintf.sh: New file.
35825         New module 'c-xvasprintf'.
35826         * modules/c-xvasprintf: New file.
35827         * modules/c-xvasprintf-tests: New file.
35828         * lib/c-xasprintf.c: New file.
35829         * lib/c-xvasprintf.c: New file.
35830         * lib/c-xvasprintf.h: New file.
35831         * tests/test-c-xvasprintf.c: New file.
35832         * tests/test-c-xvasprintf.sh: New file.
35834 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
35836         argp: better 'inline'
35837         Use extern-inline module to declare extern inline functions.
35838         This avoids some bogus warning diagnostics.  Problem discovered
35839         when modifying GNU tar to use the manywarnings module.
35840         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
35841         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
35842         Define based on extern-inline.
35843         * modules/argp (Depends-on): Add extern-inline.
35845 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
35847         filemode, sys_stat: Handle MPX files a la AIX.
35848         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
35849         * lib/sys_stat.in.h (S_ISMPX): New macro.
35850         * tests/test-sys_stat.c: Add tests for MPX files.
35852 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35854         x-to-1: honor $PERL
35855         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
35856         a chance to use his preferred version of Perl.  This is typically
35857         required by Darwin users whose default /usr/bin/perl does not have all
35858         the libraries required by help2man, and who need to use their MacPorts
35859         installation of Perl instead.
35861 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
35863         gnu-web-doc-update: add all the new files, even in new directories
35864         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
35865         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
35866         Use it.
35867         (main): Don't use cvsutils to get the list of unknown files,
35868         just add all the existing files and directories.
35870 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
35872         gnu-web-doc-update: improve --help
35873         * build-aux/gnu-web-doc-update: Move comments into --help.
35875 2012-12-07  Eric Wong  <normalperson@yhbt.net>
35877         mountlist: recognize more "dummy" file systems
35878         * lib/mountlist.c (ME_DUMMY_0):
35879         Add these dummy FS names to the list:
35880         - "debugfs" virtual filesystem for kernel debugging
35881         - "devpts" PTY slave filesystem
35882         - "devtmpfs" device filesystem on top of tmpfs/ramfs
35883         - "fusectl" control filesystem for FUSE
35884         - "mqueue" enumerates POSIX message queues
35885         - "rpc_pipefs" kernel <-> userspace bridge for NFS
35886         - "sysfs" is for exporting kernel objects
35887         - "devfs" device filesystem for Linux 2.4 and FreeBSD
35889 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
35891         extern-inline: avoid incompatibility with Darwin Libc
35892         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
35893         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
35894         Problem reported by Akim Demaille in
35895         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
35897 2012-12-11  Simon Josefsson  <simon@josefsson.org>
35899         gnupload: Work with GnuPG using gpg-agent (for smartcards).
35900         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
35901         let it handle password prompting.
35903 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
35905         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
35906         * lib/canonicalize.c (canonicalize_filename_mode):
35907         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
35908         fetching the current directory.  Don't overrun the beginning of
35909         rpath if there's no slashes after the MS-Windows drive letter.
35911 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
35913         maint.mk: avoid extra forks
35914         * top/maint.mk (_cfg_mk): The GNU make manual documents that
35915         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
35916         So use that instead of "$(shell test -f FILE && echo FILE)".
35918 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
35920         vasnprintf: fix ASCII_ONLY typo
35921         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
35922         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
35923         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
35924         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
35925         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
35927 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
35929         list, oset, xlist, xoset: fix extern inline issue with C99
35930         This was introduced by my recent changes for 'inline'.
35931         Problem reported for gettext by Daiki Ueno in
35932         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
35933         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
35934         (gl_list_nx_create, gl_list_size, gl_list_node_value)
35935         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
35936         (gl_list_previous_node, gl_list_get_at)
35937         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
35938         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
35939         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
35940         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
35941         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
35942         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
35943         (gl_list_iterator_free, gl_sortedlist_search)
35944         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
35945         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
35946         (gl_sortedlist_remove):
35947         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
35948         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
35949         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
35950         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
35951         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
35952         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
35953         (gl_list_add_at, gl_sortedlist_add):
35954         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
35955         Wrap these extern decls inside "#if 0", because they are implemented
35956         as inline functions, and extern inline is not what's wanted here.
35957         It would simplify these .h files to remove the extern decls entirely,
35958         although a downside would be less-clear separation between
35959         specification and implementation.
35961 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
35963         sys_stat: no 'static inline'
35964         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
35965         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
35967         extern-inline: no 'static inline'
35968         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
35969         Do not require AC_C_INLINE.
35970         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
35971         'static inline', for older compilers.
35973         snippet/warn-on-use: no 'static inline'
35974         * build-aux/snippet/warn-on-use.h:
35975         Remove unnecessary 'inline' in comment.
35977         rbtree-list, rbtreehash-list: no 'static inline'
35978         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
35979         * lib/gl_anytree_list2.h (node_at):
35980         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
35981         (gl_oset_first, add_nodes_to_buckets):
35982         Now static, not static inline.
35984         regex: no 'static inline'
35985         * lib/regex_internal.c (calc_state_hash):
35986         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
35987         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
35988         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
35989         Now static, not static inline.
35990         (inline) [__GNUC__ < 3 && _LIBC]:
35991         Remove macro; no longer needed.
35993         xvasprintf: no 'static inline'
35994         * lib/xvasprintf.c (xstrcat):
35995         Now static, not static inline.
35996         * m4/xvasprintf.m4 (gl_XVASPRINTF):
35997         Do not require AC_C_INLINE.
35999         parse-datetime, parse-duration: no 'static inline'
36000         * lib/parse-datetime.y (to_uchar):
36001         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
36002         (scale_n_add):
36003         Now static, not static inline.
36004         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
36005         * modules/parse-duration (configure.ac):
36006         Do not require AC_C_INLINE.
36008         getaddrinfo: no 'static inline'
36009         * lib/getaddrinfo.c (validate_family):
36010         Now static, not static inline.
36011         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
36012         Do not require AC_C_INLINE.
36014         ftruncate, fts, lstat, openat, raise: no 'static inline'
36015         * lib/ftruncate.c (chsize_nothrow):
36016         * lib/fts.c (opendirat, diropen):
36017         * lib/lstat.c (orig_lstat):
36018         * lib/openat.c (orig_openat):
36019         * lib/raise.c (raise_nothrow):
36020         Now static, not static inline.
36021         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
36022         * m4/fts.m4 (gl_FUNC_FTS_CORE):
36023         * m4/lstat.m4 (gl_PREREQ_LSTAT):
36024         * m4/openat.m4 (gl_PREREQ_OPENAT):
36025         * m4/raise.m4 (gl_PREREQ_RAISE):
36026         Do not require AC_C_INLINE.
36028         fflush, stat: no 'static inline'
36029         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36030         (clear_ungetc_buffer, disable_seek_optimization)
36031         (restore_seek_optimization, update_fpos_cache):
36032         * lib/stat.c (orig_stat):
36033         Now static, not static inline.
36034         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
36035         (update_fpos_cache):
36036         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
36037         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
36038         * m4/stat.m4 (gl_PREREQ_STAT):
36039         Do not require AC_C_INLINE.
36041         error, filevercmp: no 'static inline'
36042         * lib/error.c (is_open, flush_stdout):
36043         * lib/filevercmp.c (order):
36044         Now static, not static inline.
36045         * m4/error.m4 (gl_PREREQ_ERROR):
36046         * modules/filevercmp (configure.ac):
36047         Do not require AC_C_INLINE.
36049         dup, execute, fatal-signal, etc.: no 'static inline'
36050         * lib/dup.c (dup_nothrow):
36051         * lib/execute.c (nonintr_close, nonintr_open):
36052         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
36053         * lib/fopen.c (orig_fopen):
36054         * lib/freadseek.c (freadptrinc):
36055         * lib/freopen.c (orig_freopen):
36056         * lib/fstat.c (orig_fstat, fstat_nothrow):
36057         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
36058         (get_rusage_as_via_iterator):
36059         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
36060         * lib/getdtablesize.c (_setmaxstdio_nothrow):
36061         * lib/isatty.c (_isatty_nothrow):
36062         * lib/open.c (orig_open):
36063         * lib/read.c (read_nothrow):
36064         * lib/sigprocmask.c (signal_nothrow):
36065         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
36066         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
36067         * lib/wait-process.c (unregister_slave_subprocess):
36068         * lib/write.c (write_nothrow):
36069         Now static, not static inline.
36070         * lib/spawn-pipe.c (nonintr_open): Define only if
36071         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
36072         * m4/dup.m4 (gl_PREREQ_DUP):
36073         * m4/execute.m4 (gl_EXECUTE):
36074         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
36075         * m4/fopen.m4 (gl_PREREQ_FOPEN):
36076         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
36077         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
36078         * m4/fstat.m4 (gl_PREREQ_FSTAT):
36079         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
36080         * m4/isatty.m4 (gl_PREREQ_ISATTY):
36081         * m4/open.m4 (gl_PREREQ_OPEN):
36082         * m4/read.m4 (gl_PREREQ_READ):
36083         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
36084         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
36085         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
36086         * m4/wait-process.m4 (gl_WAIT_PROCESS):
36087         * m4/write.m4 (gl_PREREQ_WRITE):
36088         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
36089         Do not require AC_C_INLINE.
36091         c-strtod, memcoll, readutmp: no 'static inline'
36092         * lib/c-strtod.c (c_locale):
36093         * lib/memcoll.c (strcoll_loop):
36094         * lib/readutmp.c (desirable_utmp_entry):
36095         Now static, not static inline.
36096         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
36097         * m4/memcoll.m4 (gl_MEMCOLL):
36098         * m4/readutmp.m4 (gl_READUTMP):
36099         Do not require AC_C_INLINE.
36101         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
36102         * lib/arctwo.c (to_uchar):
36103         * lib/md4.c (set_uint32):
36104         * lib/md5.c (set_uint32):
36105         * lib/sha1.c (set_uint32):
36106         * lib/sha256.c (set_uint32):
36107         * lib/sha512.c (set_uint64):
36108         Now static, not static inline.  This is a bit simpler, and doesn't
36109         affect performance with GCC and default optimization.
36110         * m4/arctwo.m4 (gl_ARCTWO):
36111         * m4/md4.m4 (gl_MD4):
36112         * m4/md5.m4 (gl_MD5):
36113         * m4/sha1.m4 (gl_SHA1):
36114         * m4/sha256.m4 (gl_SHA256):
36115         * m4/sha512.m4 (gl_SHA512):
36116         Do not require AC_C_INLINE.
36118         cond, lock, thread: better 'inline'
36119         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
36120         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
36121         New macros.  Use them instead of static inline, for header functions.
36122         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
36123         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
36124         * lib/glthread/lock.c (gl_waitqueue_init)
36125         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
36126         * lib/glthread/thread.c (get_current_thread_handle):
36127         Change 'static inline' to 'inline'.
36128         * lib/glthread/cond.h, lib/glthread/thread.h:
36129         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36130         * m4/cond.m4 (gl_COND):
36131         * m4/lock.m4 (gl_PREREQ_LOCK):
36132         * m4/thread.m4 (gl_THREAD):
36133         Do not require AC_C_INLINE.
36134         * modules/cond, modules/thread (Depends-on): Add extern-inline.
36136         chdir-long, cycle-check, savewd: better 'inline'
36137         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
36138         (find_non_slash):
36139         * lib/cycle-check.c (is_zero_or_power_of_two):
36140         * lib/savewd.c (savewd_delegating):
36141         Change 'static inline' to 'inline'.
36142         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
36143         Replace all remaining uses of 'static inline' with it.
36144         * lib/savewd.h:
36145         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36146         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
36147         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
36148         * m4/savewd.m4 (gl_SAVEWD):
36149         Do not require AC_C_INLINE.
36150         * modules/savewd (Depends-on): Add extern-inline.
36152         base32, base64: no need for 'inline'
36153         * lib/base32.c (to_uchar, get_8, decode_8):
36154         * lib/base64.c (to_uchar, get_4, decode_4):
36155         Change 'static inline' to 'inline'.
36156         * m4/base32.m4 (gl_PREREQ_BASE32):
36157         * m4/base64.m4 (gl_PREREQ_BASE64):
36158         Do not require AC_C_INLINE.
36160         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
36161         * lib/gl_array_oset.c (gl_array_nx_add_at):
36162         (gl_array_remove_at):
36163         * lib/gl_linkedhash_list.c (hash_resize_after_add)
36164         (add_to_bucket, remove_from_bucket):
36165         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
36166         Change 'static inline' to 'static', as it's simpler to omit
36167         'inline' unless there's a significant performance advantage.
36169         list, oset, xlist, xoset, xsublist: simplify via extern inline
36170         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
36171         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
36172         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
36173         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
36174         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
36175         New macro.  Replace all uses of 'static inline' with it.
36176         [HAVE_INLINE]: Implement functions as *_INLINE functions,
36177         instead of as macros FOO that are defined to static inline
36178         functions FOO_inline.
36179         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
36180         * lib/gl_xsublist.c:
36181         Reimplement from scratch, by defining the corresponding *_INLINE
36182         macro and including the corresponding .h file.  This is simpler.
36183         * modules/list, modules/oset, modules/xlist, modules/xoset:
36184         (Files): Remove m4/gl_list.m4.
36185         (configure.ac): Remove gl_LIST.
36186         * m4/gl_list.m4: Remove.
36187         * modules/list, modules/oset, modules/xlist, modules/xoset:
36188         * modules/xsublist:
36189         (Depends-on): Depend on extern-inline, not inline.
36191         xalloc: better 'inline'
36192         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
36193         New macro.  Replace all uses of 'static inline' with it.
36194         (static_inline): Remove.
36195         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
36196         Let 'extern inline' do the work automatically, instead of doing
36197         it by hand.
36198         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
36199         Remove.  All uses removed.
36200         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
36202         gethrxtime: better 'inline'
36203         * lib/xtime.c: New file.
36204         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
36205         * lib/xtime.h (XTIME_INCLUDE):
36206         New macros.  Replace all uses of 'static inline' with them.
36207         * lib/gethrxtime.c (gethrxtime): Define only if
36208         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
36209         this source file is now always compiled, because of the extern inline.
36210         * lib/gethrxtime.h, lib/xtime.h:
36211         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36212         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
36213         if gethrtime works, as they're not needed in that case.
36214         (gl_XTIME): Do not require AC_C_INLINE.
36215         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
36216         compiled now.  Move the check into gl_GETHRXTIME.
36217         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
36218         (Depends-on): Add extern-inline.
36219         (configure.ac): gethrxtime is always compiled now.
36220         (lib_SOURCES): Add gethrxtime.c.
36222         wctype-h: better 'inline'
36223         * lib/wctype-h.c: New file.
36224         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
36225         New macro.  Replace all uses of 'static inline' with it.
36226         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36227         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
36228         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
36229         (Depends-on): Add extern-inline.
36231         unistd: better 'inline'
36232         * lib/unistd.c: New file.
36233         * lib/unistd.in.h (_GL_UNISTD_INLINE):
36234         New macro.  Replace all uses of 'static inline' with it.
36235         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36236         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
36237         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
36238         (Depends-on): Add extern-inline.
36240         sys_socket: better 'inline'
36241         * lib/sys_socket.c: New file.
36242         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
36243         New macro.  Replace all uses of 'static inline' with it.
36244         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36245         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
36246         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
36247         (Depends-on): Add extern-inline.
36249         stdio: better 'inline'
36250         * lib/stdio.c: New file.
36251         * lib/stdio.in.h (_GL_STDIO_INLINE):
36252         New macro.  Replace all uses of 'static inline' with it.
36253         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36254         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
36255         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
36256         (Depends-on): Add extern-inline.
36258         sigaction: better 'inline'
36259         * lib/sig-handler.c: New file.
36260         * lib/sig-handler.h (SIG_HANDLER_INLINE):
36261         New macro.  Replace all uses of 'static inline' with it.
36262         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36263         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
36264         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
36265         (Depends-on): Add extern-inline.
36267         selinux-h: better 'inline'
36268         * lib/se-context.c, lib/se-selinux.c: New files.
36269         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
36270         * lib/se-context.in.h (SE_CONTEXT_INLINE):
36271         New macro.  Replace all uses of 'static inline' with it.
36272         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36273         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
36274         New macro.  Replace all uses of 'static inline' with it.
36275         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36276         * modules/selinux-h (Files, lib_SOURCES):
36277         Add lib/se-context.c, lib/se-selinux.c.
36278         (Depends-on): Add extern-inline.
36279         (configure.ac): Do not require AC_C_INLINE.
36281         pthread: better 'inline'
36282         * lib/pthread.c: New file.
36283         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
36284         New macro.  Replace all uses of 'static inline' with it.
36285         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36286         * m4/pthread.m4 (gl_PTHREAD_CHECK):
36287         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
36288         * modules/pthread (Files): Add lib/pthread.c.
36289         (Depends-on): Add extern-inline.
36291         math: better 'inline'
36292         * lib/math.c: New file.
36293         * lib/math.in.h (_GL_MATH_INLINE):
36294         New macro.  Replace all uses of 'static inline' with it.
36295         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36296         * m4/math_h.m4 (gl_MATH_H):
36297         Do not require AC_C_INLINE.
36298         * modules/math (Files, lib_SOURCES):
36299         Add lib/math.c.
36300         (Depends-on): Add extern-inline.
36302         count-one-bits: better 'inline'
36303         * lib/count-one-bits.c: New file.
36304         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
36305         New macro.  Replace all uses of 'static inline' with it.
36306         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36307         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
36308         Do not require AC_C_INLINE.
36309         * modules/count-one-bits (Files, lib_SOURCES):
36310         Add lib/count-one-bits.c.
36311         (Depends-on): Add extern-inline.
36313         count-leading-zeros: better 'inline'
36314         * lib/count-leading-zeros.c: New file.
36315         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
36316         New macro.  Replace all uses of 'static inline' with it.
36317         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36318         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
36319         Do not require AC_C_INLINE.
36320         * modules/count-leading-zeros (Files, lib_SOURCES):
36321         Add lib/count-leading-zeros.c.
36322         (Depends-on): Add extern-inline.
36324         bitrotate: better 'inline'
36325         * lib/bitrotate.c: New file.
36326         * lib/bitrotate.h (BITROTATE_INLINE):
36327         New macros.
36328         Replace all uses of 'static inline' with them.
36329         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36330         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
36331         (Depends-on): Add extern-inline.
36332         (configure.ac): Do not require AC_C_INLINE.
36334 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
36336         maint.mk: avoid gratuitous failure
36337         Reported by Stefano Lattarini in
36338         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
36339         * top/maint.mk (public-submodule-commit): Quote more safely.
36341 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
36343         canonicalize, canonicalize-lgpl: support MS-Windows file names
36344         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
36345         for test cases, which it'd be nice to add at some point.
36346         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
36347         * lib/canonicalize.c (canonicalize_filename_mode):
36348         * lib/canonicalize-lgpl.c (__realpath):
36349         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
36350         slash is at the beginning of the file name.  Use ISSLASH, instead
36351         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
36352         the first character with '/'.  Test for
36353         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
36354         with a drive letter.
36355         * lib/canonicalize.c (SLASHES): New macro.
36356         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
36358 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
36360         fts: introduce FTS_VERBATIM
36361         * lib/fts_.h (FTS_VERBATIM): New bit flag.
36362         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
36363         * lib/fts.c (fts_open): Honor it.
36365 2012-11-09  Pádraig Brady  <P@draigBrady.com>
36367         getlogin-tests: allow errno == ENXIO
36368         * tests/test-getlogin.c (main): Skip tests if getlogin fails
36369         with errno == ENXIO (No controlling tty).
36370         getlogin_r-tests: Likewise. Also allow errno == ENOENT
36371         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
36372         with errno == ENOENT.  This was reported to happen in various
36373         situations on GNU/Linux.
36375 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
36377         getlogin-tests: allow errno == ENOENT
36378         * tests/test-getlogin.c (main): Skip tests if getlogin fails
36379         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
36380         when running a test in an Emacs shell buffer.
36382 2012-11-08  Jim Meyering  <jim@meyering.net>
36384         tests/nap.h: avoid warning about unused variable
36385         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
36387         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
36388         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
36389         white space before each of the special-cased file names, to avoid
36390         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
36391         in http://bugs.gnu.org/12830.
36393 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
36395         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
36396         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
36397         fails with errno == EBADF when fd is opened with O_PATH.
36398         Reported by Jim Meyering in
36399         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
36400         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
36401         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
36403 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36405         test-utimens: speed up by taking shorter naps
36406         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
36407         New functions.
36408         (nap): Use them, to do a better job of guessing the delay.
36409         On Fedora 17 with ext4 atop md atop hard disks, this made
36410         test-utimens run 10x faster, because the test napped for
36411         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
36412         <http://bugs.gnu.org/12820#11>.
36414 2012-11-07  Jim Meyering  <jim@meyering.net>
36416         mountlist.c: fix a compilation failure
36417         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
36418         I introduced while transforming commit v0.0-7683-g613bcb6
36420 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
36422         errno: port to LynxOS 178 2.2.2
36423         Problem reported by Joel Brobecker in
36424         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
36425         * doc/posix-headers/errno.texi (errno.h): Document this.
36426         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
36427         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
36428         Supply a string for EILSEQ.
36429         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
36431 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
36433         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
36434         Linux kernel 2.6.39 introduced O_PATH (see
36435         <http://lwn.net/Articles/433854/>) and this is a better fallback
36436         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
36437         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
36438         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
36439         * lib/fcntl.in.h (O_ACCMODE):
36440         * tests/test-fcntl-h.c (main):
36441         Do not reject O_ACCMODE merely because it has more than the
36442         minimal number of bits, as POSIX allows extensions here.
36444 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
36446         mountlist: do not classify a bind-mounted dir entry as "dummy"
36447         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
36448         the "none"-testing clause.
36449         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
36450         exception for bind-mounted directories.
36452 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
36454         quote: provide a means to escape strings with nul characters
36455         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
36456         (quote, quote_n): Rename formal arguments for consistency with
36457         quotearg.
36459 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
36461         test-raise: don't assume 199 is an invalid signal
36462         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
36464         sh-quote-tests: port to Solaris 9
36465         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
36466         Problem reported by Dagobert Michelsen in
36467         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
36469 2012-10-28  Jim Meyering  <jim@meyering.net>
36471         maint.mk: rename a new configurable variable
36472         * top/maint.mk (_gl_translatable_string_re): Rename from
36473         translation-markers: _gl_ prefix to insulate from user Makefile code,
36474         and the _re suffix to inform that it's a regular expression.
36476 2012-10-26  Eric Blake  <eblake@redhat.com>
36478         maint.mk: let packages tweak sc_po_check pattern
36479         * top/maint.mk (sc_po_check): Add translation-markers, to allow
36480         finding files with other translation markers.
36482 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36484         euidaccess: speed up 'configure' on GNU hosts
36485         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
36486         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
36487         it's needed only in this case.  Use AC_CHECK_DECLS, not
36488         AC_CHECK_DECLS_ONCE.
36489         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
36490         or AC_REQUIRE for AC_FUNC_GETGROUPS.
36492         * lib/regexec.c (re_search_internal): Fix grammar in comment.
36494 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
36496         fchmodat, fchownat, fstatat: port to non-inlining compilers
36497         Problem reported for FreeBSD 9 by Jim Meyering in
36498         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
36499         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
36500         New files, which define FCHMODAT_INLINE etc.
36501         * lib/fchmodat.c (FCHMODAT_INLINE):
36502         * lib/fchownat.c (FCHOWNAT_INLINE):
36503         * lib/fstatat.c (FSTATAT_INLINE):
36504         Remove, as chmodat.c etc. now do this.
36505         * modules/fchmodat (Files): Add lib/chmodat.c.
36506         * modules/fchownat (Files): Add lib/chownat.c.
36507         * modules/fstatat (Files): Add lib/statat.c.
36509 2012-10-15  Jim Meyering  <jim@meyering.net>
36511         fchmodat.c, fchownat.c: compile-impeding typos
36512         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
36513         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
36514         Introduced in commit v0.0-7636-gd202279.
36516 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
36518         fcntl-h: support GNU flags like O_IGNORE_CTTY
36519         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
36520         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
36521         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
36522         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
36523         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
36524         Define to 0 if not already defined.
36525         * tests/test-fcntl-h.c: Test these new flags.
36527 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
36529         faccessat, etc.: support AT_FDCWD-only use
36530         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
36531         this function only if its first argument is AT_FDCWD.
36532         Emacs wants faccessat for AT_EACCESS but not for any first-arg
36533         values other than AT_FDCWD, so it doesn't want all the openat
36534         machinery with fchdir etc.
36535         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
36536         * modules/fstatat, modules/mkdirat, modules/openat (Files):
36537         * modules/unlinkat (Files):
36538         Remove lib/openat-priv.h, as at-internal supplies this file.
36539         Removing this file here allows us to support programs like Emacs
36540         that avoid at-internal.
36542         faccessat: speed up 'configure' on mainstream hosts
36543         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
36544         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
36545         since it's only on unusual platforms that we need to check for
36546         'access', and it's better not to slow 'configure' down on all
36547         platforms.
36549         faccessat: port to Solaris 10
36550         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
36551         Needed on Solaris 10, which doesn't have AT_EACCESS,
36552         so we need the Gnulib fcntl.h, which defines it.
36554 2012-10-14  Pádraig Brady  <P@draigBrady.com>
36555         canonicalize: fix C89 compilation
36556         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
36557         declarations so C89 is supported.  Also remove the comment
36558         referencing memorty allocation as the suggested feature could
36559         not be implemented as suggested.
36560         Reported by Michael Goffioul.
36562 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
36564         group-member: omit unnecessary dependencies
36565         This is for Emacs, which has its own allocator and where we
36566         don't want to use xalloc.
36567         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
36568         since we no longer use xmalloc.  Do not include stdbool.h, since
36569         the changes below happen to remove the only use of bool.
36570         (GROUPBUF_SIZE): New constant.
36571         (struct group_info): Remove n_groups member.  Add groupbuf member.
36572         This lets us get the groups without using malloc, usually.
36573         (free_group_info, get_group_info): Adjust to this.
36574         (get_group_info): Return the number of groups found, or -1 on error.
36575         Use plain malloc not xmalloc, and treat its failure as if there
36576         are no groups, as the user already loses in case of error.
36577         (group_member): Simplify, based on changes to get_group_info.
36578         * modules/group-member (Depends-on): Remove dependencies on
36579         xalloc and stdbool.  Add dependency on xalloc-oversized.
36581 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
36583         gethrxtime: port to C++
36584         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
36586 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
36588         ptsname: fix macro-name typo
36589         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
36591 2012-10-03  Simon Josefsson  <simon@josefsson.org>
36593         inttostr: Relax license.
36594         * modules/inttostr (License): Change from LGPL to LGPLv2+.
36596 2012-10-03  Eric Blake  <eblake@redhat.com>
36598         ptsname_r: support ptys returned by FreeBSD posix_openpt
36599         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
36600         lives in /dev/pts/.
36602 2012-10-02  Eric Blake  <eblake@redhat.com>
36604         pselect: reject invalid file descriptors
36605         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
36606         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
36607         * modules/pselect (Depends-on): Add dup2.
36608         * doc/posix-functions/pselect.texi (pselect): Document this.
36610         select: reject invalid file descriptors
36611         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
36612         * lib/select.c (rpl_select) [!win32]: Work around it.
36613         * modules/select (Depends-on): Add dup2.
36614         * doc/posix-functions/select.texi (select): Document this.
36616         select: enhance test
36617         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
36618         New functions.
36619         (test_function): Enhance test.
36620         (do_select_bad_fd): Avoid any stale errno values.
36622         ptsname: reject invalid file descriptors
36623         http://www.austingroupbugs.net/view.php?id=503
36624         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
36625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
36626         * modules/stdlib (Makefile.am): Replace witness.
36627         * lib/stdlib.in.h (ptsname): Allow for replacement.
36628         * modules/ptsname (configure.ac): Trigger replacement.
36629         * doc/posix-functions/ptsname.texi (ptsname): Document this.
36631 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
36633         hash-pjw-bare: new module
36634         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
36635         * lib/hash-pjw-bare.h: Likewise.
36636         * modules/hash-pjw-bare: New file.
36637         * MODULES.html.sh (Misc): Add it.
36639 2012-10-02  Eric Blake  <eblake@redhat.com>
36641         manywarnings: cater to more gcc infelicities
36642         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
36643         -Wuninitialized without -O.
36645 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
36647         select, poll tests: Make setsockopt invocation effective.
36648         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
36649         the bind() call.
36650         * tests/test-select.h (open_server_socket): Likewise.
36652 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
36654         sockets, sys_stat: restore AC_C_INLINE
36655         This undoes the 2012-09-22 patch.
36656         * m4/sockets.m4 (gl_SOCKETS):
36657         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
36658         Restore AC_C_INLINE, since MSVC requires __inline or _inline
36659         and does not support plain 'inline'.  Reported by Bruno Haible in
36660         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
36662 2012-09-30  Bruno Haible  <bruno@clisp.org>
36664         localeconv tests: Avoid test failure on OpenIndiana.
36665         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
36666         skip the 'grouping' and 'mon_grouping' tests.
36667         Reported by Jim Meyering.
36669 2012-09-30  Bruno Haible  <bruno@clisp.org>
36671         havelib: Follow libtool developments.
36672         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
36673         Suggested by Simon Josefsson.
36675 2012-09-29  Jim Meyering  <meyering@redhat.com>
36677         fstatat.c: fix a compile-impeding typo
36678         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
36679         Introduced in commit v0.0-7636-gd202279.
36680         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
36682 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
36684         extern-inline: provide a -Wundef safe config.h
36685         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
36686         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
36687         to produce a -Wundef warning free config.h.
36689 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
36691         hash-pjw: relax license to LGPLv2+
36692         * modules/hash-pjw (License): Relax, with consent of author.
36694 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
36696         maint.mk: fix strict vs. lazy variable issues with RELEASE
36697         * top/maint.mk (_equal): New function.
36698         (member_check): Strip the result to avoid spurious spaces.
36699         (url_dir_list): Do not use ifeq, which is strict, as it will
36700         require RELEASE_TYPE to be defined.
36701         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
36702         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
36703         (announcement_Cc_alpha,announcement_mail_headers_alpha)
36704         (announcement_Cc_beta,announcement_mail_headers_beta)
36705         (announcement_Cc_stable,announcement_mail_headers_stable): these.
36706         (release): Do not depend on $(release-type), as it forces its
36707         evaluation.  Bounce to it.
36709 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
36711         maint.mk: formatting changes
36712         * top/maint.mk: Indent bodies of if's.
36714 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
36716         maint.mk: factor the validation of RELEASE_TYPE
36717         With help from Jim Meyering.
36718         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
36719         * top/maint.mk (_empty, _sp): Move their definition earlier.
36720         (member-check, release-type): New.
36721         Use the latter instead of $(RELEASE_TYPE).
36722         Remove now useless local checks.
36724 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
36726         maint.mk: provide "make upload" to ease uploading
36727         See
36728         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
36729         Do not depend simply on the current $(VERSION), as there may have been
36730         new commits since the tarball generation.  Rather, rely on $(RELEASE),
36731         as "make release-commit" already does.
36733         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
36734         "make TYPE".
36736         * top/maint.mk (upload_command, upload, release): New.
36737         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
36738         (VERSION): first word of $(RELEASE) is always right.
36739         (emit_upload_commands): Adjust.
36740         * top/README-release: Update.
36742 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
36744         maint.mk: silent rules
36745         With help from Stefano Lattarini.
36746         * top/maint.mk (writable-files): Use $(AM_V_GEN).
36747         (announcement): Use $(AM_V_at).
36749 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
36751         localename: port gl_locale_name_thread_unsafe to FreeBSD
36752         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
36753         and use the simpler FreeBSD implementation on Mac OS X as well.
36754         Original idea suggested by Ed Maste in
36755         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
36757 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
36759         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
36760         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
36761         * lib/mbuiter.c, lib/xsize.c: New files.
36762         * lib/binary-io.h (BINARY_IO_INLINE):
36763         * lib/eealloc.h (EEALLOC_INLINE):
36764         * lib/mbfile.h (MBFILE_INLINE):
36765         * lib/mbiter.h (MBITER_INLINE):
36766         * lib/mbuiter.h (MBUITER_INLINE):
36767         * lib/xsize.h (XSIZE_INLINE):
36768         New macros.
36769         Replace all uses of 'static inline' with them.
36770         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36771         * m4/eealloc.m4 (gl_EEALLOC):
36772         * m4/mbfile.m4 (gl_MBFILE):
36773         * m4/mbiter.m4 (gl_MBITER):
36774         * m4/xsize.m4 (gl_XSIZE):
36775         Do not require AC_C_INLINE.
36776         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
36777         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
36778         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
36779         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
36780         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
36781         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
36782         * modules/binary-io, modules/eealloc, modules/mbfile:
36783         * modules/mbiter, modules/mbuiter:
36784         (Depends-on): Add extern-inline.
36786         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
36787         * lib/pipe-filter-aux.c: New file.
36788         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
36789         Replace all uses of 'static inline' with it.
36790         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36791         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
36792         (filter_retcode): No real need for inline here.
36793         * modules/pipe-filter-gi, modules/pipe-filter-ii:
36794         (Files): Add lib/pipe-filter-aux.c.
36795         (Depends-on): Add extern-inline.
36796         (configure.ac): Do not require AC_C_INLINE.
36797         (lib_SOURCES): Add pipe-filter-aux.c.
36799         fdutimensat: omit unnecessary AC_C_INLINE
36800         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
36802         fchmodat, fchownat, fstatat: use extern-inline
36803         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
36804         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
36805         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
36806         New macros.
36807         * lib/openat.h:
36808         Replace all uses of 'static inline' with them.
36809         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36810         * modules/fchmodat, modules/fchownat, modules/fstatat:
36811         * modules/openat-h:
36812         (Depends-on):
36813         Add extern-inline.
36814         (configure.ac): Remove AC_C_INLINE.
36816         acl, mbchar, priv-set: use extern-inline
36817         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
36818         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
36819         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
36820         New macros.
36821         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
36822         Replace all uses of 'static inline' with it.
36823         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36824         * m4/acl.m4 (gl_FUNC_ACL):
36825         * m4/mbchar.m4 (gl_MBCHAR):
36826         * m4/priv-set.m4 (gl_PRIV_SET):
36827         Remove AC_C_INLINE, since 'inline' is no longer used directly.
36828         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
36829         Add extern-inline.
36831         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
36832         * m4/sockets.m4 (gl_SOCKETS):
36833         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
36834         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
36835         environments where it's already guaranteed to work, so we needn't
36836         check for it at 'configure'-time.
36838         tls-tests: omit unnecessary 'inline'
36839         * tests/test-tls.c (perhaps_yield): No longer inline.
36840         Simplicity and portability trump efficiency in test cases.
36842         utimens-tests: avoid unnecessary 'inline'
36843         * modules/fdutimensat-tests (configure.ac):
36844         * modules/futimens-tests (configure.ac):
36845         * modules/utimens-tests (configure.ac):
36846         * modules/utimensat-tests (configure.ac):
36847         Remove AC_C_INLINE.
36848         * tests/test-utimens-common.h (ctime_compare):
36849         No longer inline.  Simplicity and portability trump efficiency here.
36851         misc: don't limit commentary to inline functions
36852         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
36853         * lib/xalloc-oversized.h, lib/xsize.h:
36854         Contrast macros to functions in general, not just to inline functions,
36855         when the commentary does not apply only to inline functions.
36857 2012-09-20  Jim Meyering  <meyering@redhat.com>
36859         non-recursive-gnulib-prefix-hack: new module
36860         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
36861         the file that originated in Bison.
36862         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
36863         largely copied from a snippet that resided in bison's configure.ac.
36864         * modules/non-recursive-gnulib-prefix-hack: New file.
36865         * MODULES.html.sh (Support for maintaining and releasing projects):
36866         Add it.
36868 2012-09-18  Jim Meyering  <meyering@redhat.com>
36870         maint.mk: generalize _gl_tight_scope for non-recursive make
36871         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
36872         that *.h would describe additional .h files in the directory
36873         specified by $(_gl_TS_dir).  I.e., add this...
36874         (_gl_TS_other_headers): New variable.
36876         maint.mk: exempt trailing blanks found in "binary" files
36877         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
36878         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
36879         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
36881 2012-09-17  Jim Meyering  <meyering@redhat.com>
36883         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
36884         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
36885         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
36886         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
36888 2012-09-17  Jim Meyering  <meyering@redhat.com>
36890         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
36891         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
36892         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
36893         It is not in the same category as "exit (0)" or "exit (1)", and
36894         besides, I know of no symbolic name for that 77.  Reported by
36895         Richard W.M. Jones in
36896         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
36898 2012-09-17  Jim Meyering  <meyering@redhat.com>
36900         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
36901         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
36902         all uses of #define, not just those that start in column 1.
36903         Richard W.M. Jones reported a false positive in
36904         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
36906 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
36908         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
36909         * lib/localcharset.c (locale_charset) [DARWIN7]:
36910         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
36911         as these two values are incompatible.  Problem reported by Max Horn.
36912         For more discussion, please see
36913         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
36915         doc: document sticky-EOF issue
36916         * doc/posix-functions/fgetc.texi (fgetc):
36917         * doc/posix-functions/fgets.texi (fgets):
36918         * doc/posix-functions/fread.texi (fread):
36919         * doc/posix-functions/fscanf.texi (fscanf):
36920         * doc/posix-functions/getc.texi (getc):
36921         * doc/posix-functions/getchar.texi (getchar):
36922         * doc/posix-functions/scanf.texi (scanf):
36923         Mention that glibc and default Solaris do not conform to
36924         C99 and POSIX-2001 or later, with respect to how getchar
36925         etc. behave when feof reports nonzero.
36927 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
36929         poll: fix poll(0, NULL, msec)
36930         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
36931         but nfd is 0.  In that case poll should behave like select.
36933 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
36934             Paolo Bonzini  <bonzini@gnu.org>
36936         poll: fix for systems that can't recv() on a non-socket
36937         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
36938         is readable.  In this case POLLHUP will not be supported.
36939         * doc/posix-functions/poll.texi: Document this.
36941 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
36943         poll/select: document portability problems not fixed by Gnulib.
36944         * doc/posix-functions/poll.texi: poll does not work well on
36945         pipes under Windows.  It has the same limitations as select on
36946         BeOS.
36947         * doc/posix-functions/select.texi: select does not work well
36948         on pipes under Windows.
36950 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
36952         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
36953         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
36954         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
36955         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
36957 2012-09-06  Eric Blake  <eblake@redhat.com>
36959         net_if: give more details about the bug being fixed
36960         * doc/posix-headers/net_if.texi: Add clarification.
36962 2012-09-05  Eric Blake  <eblake@redhat.com>
36964         net_if: new module
36965         * modules/net_if: New module, borrowing ideas from netinet_in.
36966         * m4/net_if_h.m4: New file.
36967         * lib/net_if.in.h: Likewise.
36968         * doc/posix-headers/net_if.texi (net/if.h): Document it.
36969         * MODULES.html.sh (lacking POSIX:2008): Likewise.
36970         * tests/test-net_if.c: Make function checks conditional.
36971         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
36973 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
36975         readutmp: fix non-portable UT_PID use
36976         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
36977         Use `UT_PID (u) > 0' as absolute condition.
36979 2012-09-04  Jim Meyering  <meyering@redhat.com>
36981         fts: reduce two or more trailing spaces to just one, usually
36982         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
36983         or more slashes, trim all but the final one.  But if a name consists
36984         solely of two slashes, don't modify it.  If it consists solely of
36985         three or more slashes, strip all but one.
36987         This is part of the solution to a minor problem with rm:
36988         it would print a bogus ELOOP diagnostic when failing to remove
36989         the slash-decorated name of a symlink-to-directory:
36991             $ mkdir d && ln -s d s && env rm -r s/
36992             rm: cannot remove 's': Too many levels of symbolic links
36994         With the change below and a trivial don't-trim-trailing-slashes
36995         adjustment to remove.c, it does this:
36997             $ env rm -r s/
36998             rm: cannot remove 's/': Not a directory
37000         Improved by: Eric Blake
37002         fts: when there is no risk of overlap, use memcpy, not memmove
37003         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
37005 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
37007         stdbool: be more compatible with mixed C/C++ compiles
37008         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
37009         Define to bool, true, false, respectively, as GCC's builtin
37010         stdbool.h does.  Problem reported by Michael Goffioul in
37011         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
37013 2012-08-28  Jim Meyering  <meyering@redhat.com>
37015         revert last change: it was not needed
37016         * tests/test-vc-list-files-git.sh: There's already a test for
37017         a working git, just below.
37019 2012-08-28  Jim Meyering  <meyering@redhat.com>
37021         tests: test-vc-list-files-git.sh: skip if git is not available
37022         * tests/test-vc-list-files-git.sh: Skip this test when git is
37023         not available.
37025 2012-08-26  Bruno Haible  <bruno@clisp.org>
37027         gnulib-tool: Remove no-op option --no-changelog.
37028         * gnulib-tool (func_usage): Don't mention --no-changelog.
37029         (do_changelog): Remove variable.
37030         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37032 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37034         doc: remove fdl-1.2.texi
37035         It is no longer used or maintained, and its use of @acronym
37036         is problematic.  See the thread containing
37037         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
37038         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
37039         * doc/old-licenses/fdl-1.2.texi: Remove.
37041         execinfo: port to FreeBSD
37042         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
37043         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
37044         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
37045         * modules/execinfo (Link): Add $(LIB_EXECINFO).
37047 2012-08-23  Jim Meyering  <meyering@redhat.com>
37049         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
37050         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
37051         to placate gcc's -Wold-style-declaration.
37053 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37055         doc: do not use @acronym
37056         * doc/inet_ntoa.texi (inet_ntoa):
37057         * doc/parse-datetime.texi (Seconds since the Epoch)
37058         (Specifying time zone rules):
37059         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
37060         Don't use @acronym.  Problem reported by John Darlington in
37061         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
37063 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
37065         stdnoreturn: port to newer GCCs
37066         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
37067         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
37068         Problem reported by Jim Meyering in
37069         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
37070         Also, rename the 'test' function to a void a clash with the
37071         already-supplied 'main' function; this fixes a bug that incorrectly
37072         rejected GCC 4.7.1's <stdnoreturn.h>.
37073         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
37074         Document GCC problem.
37076 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
37078         pipe-filter: fix comment typo
37079         * lib/pipe-filter.h: Mention correct function.
37081 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
37083         execinfo: new module
37084         This is for Emacs.  Currently, it provides a no-effect stub
37085         on all platforms where it does not already work.
37086         It already works on glibc-based systems, and on Solaris 11.
37087         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
37088         New files.
37089         * doc/glibc-headers/execinfo.texi (execinfo.h):
37090         * MODULES.html.sh (Misc): Document it.
37092 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37094         extern-inline: support old GCC 'inline'
37095         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
37096         if available.  This applies to GCC versions 2.7 through 4.2, or
37097         when newer GCC is using -fgnu89-inline.  The goal is to address
37098         some of the performance issues mentioned by Bruno Haible in
37099         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
37101 2012-08-20  Eric Blake  <eblake@redhat.com>
37103         maint.mk: avoid redundant file name in message
37104         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
37105         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
37106         (sc_makefile_path_separator_check): Remove bogus $(ME).
37108 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
37110         timer-time: fix link order when static linking on glibc
37111         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
37112         _after_ -lrt so that it's significant.
37114 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37116         timespec: omit unnecessary AC_C_INLINE
37117         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
37119         stat-time: omit unnecessary AC_C_INLINE
37120         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37121         Do not require AC_C_INLINE.
37123         ignore-value: omit unnecessary AC_C_INLINE
37124         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
37126         sys_select: avoid 'static inline'
37127         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
37129         mktime: avoid 'static inline'
37130         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
37131         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
37133 2012-08-19  Bruno Haible  <bruno@clisp.org>
37135         gnulib-tool: Improve coding style.
37136         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
37137         func_emit_lib_Makefile_am.
37138         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37140 2012-08-19  Bruno Haible  <bruno@clisp.org>
37142         gnulib-tool: Fix indentation.
37143         * gnulib-tool (func_import): Fix indentation.
37145 2012-08-19  Bruno Haible  <bruno@clisp.org>
37147         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
37148         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
37149         on the list of removed files.
37151 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37153         test-parse-datetime: avoid glibc leap-second glitch
37154         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
37155         with the 2012 rules.  Problem reported by Bruce Dubbs in
37156         <http://bugs.gnu.org/12206>.
37158 2012-08-14  Bruno Haible  <bruno@clisp.org>
37160         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
37161         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
37162         from argument.
37163         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37165 2012-08-14  Eric Blake  <eblake@redhat.com>
37167         ldexp: relax license
37168         * modules/ldexp (License): Trivial relax, since the module only
37169         provides a permissively licensed m4 file.
37171 2012-08-13  Bruno Haible  <bruno@clisp.org>
37173         gnulib-tool: Fix persistence of --witness-c-macro option.
37174         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
37175         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37177 2012-08-11  Eric Blake  <eblake@redhat.com>
37179         count-leading-zeros: use a lookup table on non-gcc compilers
37180         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
37181         alternate implementation, suggested by Jim Meyering.
37183 2012-08-10  Eric Blake  <eblake@redhat.com>
37185         count-leading-zeros: new module
37186         * modules/count-leading-zeros: New module.
37187         * m4/count-leading-zeros.m4: New file.
37188         * lib/count-leading-zeros.h: Likewise.
37189         * modules/count-leading-zeros-tests: New test.
37190         * tests/test-count-leading-zeros.c: New file.
37191         * MODULES.html.sh (Integer arithmetic functions): Document it.
37193 2012-08-07  Simon Josefsson  <simon@josefsson.org>
37194             Jim Meyering  <meyering@redhat.com>
37196         maintainer-makefile: Fix syntax error with dash.
37197         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
37198         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
37200 2012-08-05  Jim Meyering  <meyering@redhat.com>
37202         extern-inline: also ignore -Wmissing-declarations
37203         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
37204         required with gcc-4.8.0-to-be.
37206         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
37207         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
37208         for /error ?([^,]*)/.  This avoids false-positives for strings like
37209         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
37211 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
37213         gnumakefile: better interaction with Automake-NG
37214         * modules/gnumakefile [Makefile.am]: The makefiles generated by
37215         Automake-NG always contain a definition of VPATH, even in non-VPATH
37216         builds (its value being simply '.' in that case).  So, in the
37217         'clean-GNUmakefile' rule, to determine whether running under a
37218         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
37219         '$(VPATH)' expands to the empty string.
37221 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
37223         base64: Use extern C scope in header file, for C++.
37224         * lib/base64.h: Add C++ namespace protection.
37226 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
37228         stat-time, timespec, u64: support naive out-of-dir builds
37229         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
37230         Use '#include "foo.h"', not '#include <foo.h>', when including
37231         one's own interface.  This works better when configuring with
37232         out-of-directory builds, since packages need not add an
37233         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
37235 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
37237         utimens: use extern-inline
37238         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
37239         * lib/utimens.h: Add copyright notice, since this is now large enough
37240         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37241         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
37242         * modules/utimens (Depends-on): Add extern-inline.
37244         u64: use extern-inline
37245         * lib/u64.c: New file.
37246         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37247         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
37248         * modules/u64 (Files): Add lib/u64.c.
37249         (Depends-on): Add extern-inline.
37250         (configure.ac): No need to require AC_C_INLINE, since extern-inline
37251         does that now.
37252         (lib_SOURCES): Add u64.c.
37254         timespec: use extern-inline
37255         * lib/timespec.c: New file.
37256         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37257         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
37258         * modules/timespec (Files): Add lib/timespec.c.
37259         (Depends-on): Add extern-inline.
37260         (lib_SOURCES): Add timespec.c.
37262         stat-time: use extern-inline
37263         * lib/stat-time.c: New file.
37264         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37265         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
37266         * modules/stat-time (Files): Add lib/stat-time.c.
37267         (Depends-on): Add extern-inline.
37268         (lib_SOURCES): Add stat-time.c.
37270         extern-inline: new module
37271         * modules/extern-inline, m4/extern-inline.m4: New files.
37272         This is for better support of 'extern inline' a la ISO C99,
37273         with a portable alternative on compilers that do not support
37274         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
37275         of the Emacs executable, when compiled with debugging disabled,
37276         which is a typical way that Emacs is built while developing.
37278 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
37280         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
37281         * build-aux/do-release-commit-and-tag: Move variable definitions
37282         together.
37283         ($branch): Instead of defaulting to "master", default to the current
37284         branch (as gnu-web-doc-update does).
37285         (help): Display the current values of the option arguments.
37286         * top/maint.mk (release-commit): New.
37287         * top/README-release: Simplify the corresponding step.
37289 2012-07-30  Eric Blake  <eblake@redhat.com>
37291         passfd: fix comment on recvfd
37292         * lib/passfd.c (recvfd): Fix comment.
37293         Reported by Jann Horn <jannhorn@googlemail.com>.
37295 2012-07-30  Jim Meyering  <meyering@redhat.com>
37297         maint.mk: avoid a sub-shell
37298         * top/maint.mk (release-prep): Remove unneeded sub-shell.
37300 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37302         maint.mk: use silent-rules support from Automake
37303         * top/maint.mk (news-check, vc-diff-check, announcement)
37304         (no-submodule-changes, alpha beta stable, release-prep)
37305         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
37307 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37309         maint.mk: provide a web-manual-update target
37310         * top/maint.mk: here.
37311         * top/README-release: Use it to simplify the web manual update step.
37313 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37315         README-release: shorten the circuit to post a news
37316         * top/README-release: Point directly to the news submission form.
37318 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37320         gnu-web-doc-update: fix --help
37321         * build-aux/gnu-web-doc-update: The information "top level" was written
37322         twice.
37324 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37326         maint.mk: absolute VPATH issue
37327         * top/maint.mk (release-prep): Help Git find .git/.
37328         From Jim Meyering.
37330 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37332         gitlog-to-changelog: fix previous change
37333         * build-aux/gitlog-to-changelog: Fix condition.
37334         Add missing ";".
37336 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37338         gitlog-to-changelog: don't expect .git to be in $srcdir
37339         Reported by Bruno Haible.
37340         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
37341         * build-aux/gitlog-to-changelog (&git_dir_option): New.
37342         Use it.
37344 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37346         maint.mk: absolute VPATH build fix
37347         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
37348         $(srcdir) is not a parent of $(builddir).
37350 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
37352         clean-temp: Fix memory leak.
37353         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
37354         'files' members of tmpdir.
37356 2012-07-27  Jim Meyering  <meyering@redhat.com>
37358         maint.mk: new rule: refresh-gnulib-patches
37359         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
37360         Use this rule to refresh them.
37361         * top/maint.mk (refresh-gnulib-patches): New rule.
37363 2012-07-24  Bruno Haible  <bruno@clisp.org>
37365         gnulib-tool: Fix handling of inctests variable.
37366         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
37367         Reported by Nick Bowler <nbowler@elliptictech.com>.
37369 2012-07-22  Bruno Haible  <bruno@clisp.org>
37371         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
37372         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
37373         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
37374         Remove exemption for getpass.h.
37375         Suggested by Eric Blake.
37377 2012-07-20  Eric Blake  <eblake@redhat.com>
37379         verify: document conflict with -Wnested-externs
37380         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
37382         maint.mk: forbid exit(-1)
37383         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
37385 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
37387         fsusage: port back to Solaris
37388         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
37389         error (fsd not declared) on Solaris 10.  Reported privately by
37390         Andrew Borodin.
37392 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
37394         gnu-web-doc-update: fix error messages
37395         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
37397         gnu-web-doc-update: check the requirements.
37398         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
37399         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
37400         * build-aux/bootstrap (find_tool): Comment change.
37402 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
37404         maint.mk: minor simplication.
37405         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
37406         for default values.
37408 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
37410         gitlog-to-changelog: VPATH build issues
37411         If builddir is not a subdirectory of srcdir, running git from it will
37412         fail.
37413         * build-aux/gitlog-to-changelog (--srcdir): New option.
37415 2012-07-15  Bruno Haible  <bruno@clisp.org>
37417         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
37418         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
37419         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
37420         Remove exemption for fpending.h.
37421         Suggested by Eric Blake.
37423 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
37425         pthread_sigmask: fix bug on FreeBSD 9
37426         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
37427         Include string.h.
37428         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
37429         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
37430         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
37431         but pthread_sigmask (1729, NULL, NULL) returns zero.
37432         See <http://bugs.gnu.org/11884>.
37433         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
37434         by inspecting whether the main call changed the old mask.
37436 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
37438         README-release: make it more legible
37439         * top/README-release: Improve typography slightly.
37441 2012-07-15  Jim Meyering  <meyering@redhat.com>
37443         maint: require that each sc_... command start with "@"
37444         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
37445         "make sc_maint" helps us avoid this nit.
37447 2012-07-15  Jim Meyering  <meyering@redhat.com>
37449         maint.mk: add leading "@" to quiet new "make syntax-check" rule
37450         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
37452 2012-07-13  Eric Blake  <eblake@redhat.com>
37454         maint.mk: new syntax check for HAVE_DECL checks
37455         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
37456         * cfg.mk
37457         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
37458         Exempt some false positives.
37459         Based on a report by Karel Zak.
37461         argp: make HAVE_DECL usage consistent
37462         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
37463         macros, not whether they are defined.
37464         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
37465         convention with other declaration checks.
37466         Reported by Karel Zak, with suggestions from Paul Eggert.
37468         stat-time: relax license to LGPLv2+
37469         * modules/stat-time (License): Relax, with consent of all authors.
37471         strndup: fix m4 usage error
37472         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
37473         defined, to either 0 or 1.
37474         Reported by Karel Zak.
37476 2012-07-11  Jim Meyering  <meyering@redhat.com>
37478         maint: enable the sc_avoid_if_before_free syntax-check rule
37479         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
37480         (if_before_free_offenders_): Define.
37481         (if_before_free_basename_re_): Define.
37482         Exempt current files with useless if-before-free.
37484 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
37486         gettext: do not assume '#define ... defined ...' behavior
37487         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
37488         Do not use '#define FOO ... defined BAR ...', as the C standard says
37489         it's not portable to expect that this works after macro expansion.
37490         Problem reported for gzip by Steven M. Schweda in
37491         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
37493 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
37495         getloadavg: clean out old Emacs and Autoconf cruft
37496         See Glenn Morris in <http://bugs.gnu.org/11905>.
37497         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
37498         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
37499         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
37500         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
37502 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
37504         bootstrap: let warn be like tests/init.sh's warn_
37505         Reported by Jim Meyering.
37506         * build-aux/bootstrap (warn): Remove, replaced by...
37507         (warnf_, warn_): these.
37508         Adjust callers.
37509         Shorten messages that no longer fit in 80 columns.
37511 2012-07-09  Bruno Haible  <bruno@clisp.org>
37513         getopt: Simplify after Emacs changed.
37514         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
37515         (gl_GETOPT_IFELSE): Remove macro.
37517 2012-07-09  Jim Meyering  <meyering@redhat.com>
37519         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
37520         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
37522         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
37523         Bugs in both of those conspired to make the
37524         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
37525         _sc_search_regexp's handling of non-empty $in_files would filter
37526         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
37527         choice of in_files value meant there would be no match in most
37528         projects, due to the presence of two or more Makefile.in files.
37529         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
37530         Fix a bug in how a non-empty $$in_files was processed:
37531         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
37532         in spite of the name, it's a regexp, not a list of file names.
37534 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37536         getloadavg, getopt: fix commentary re configure.in
37537         Autoconf is deprecating the name 'configure.in', so change it to
37538         to the new name 'configure.ac' in a couple of places.
37539         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
37540         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
37541         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
37542         Emacs has renamed it to configure.ac, and it no longer refers
37543         to these macros anyway.
37545         timespec: mark functions with const attributes
37546         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
37547         Mark with _GL_ATTRIBUTE_CONST.
37549 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
37551         canonicalize[-lgpl]: handle "guessing" values when cross-building
37552         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37553         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
37554         matches "*yes" instead of just "yes".  Regression introduced in commit
37555         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
37557 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
37558             Bruno Haible  <bruno@clisp.org>
37560         canonicalize: make the right guess when cross-compiling to GNU
37561         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
37562         determine whether cross-compiling to glibc systems, so as to
37563         include GNU/Hurd.
37565 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37567         timespec-sub: avoid duplicate include
37568         * lib/timespec-sub.c: Do not include <config.h> twice.
37569         Reported by Juanma Barranquero.
37571 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
37573         bootstrap: use a more consistent error reporting scheme
37574         * build-aux/bootstrap (warn, die): New.
37575         Use them.
37577 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37579         sys_time: allow too-wide tv_sec
37580         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
37581         timeval even if tv_sec is wider than time_t.  This allows
37582         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
37583         as without this patch gnulib replaces struct timeval
37584         and OpenBSD futimes therefore has a type mismatch.
37585         * doc/posix-headers/sys_time.texi: Mention this.
37587         pthread: check for both pthread_create and pthread_join
37588         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
37589         alter the check so that it tests for both pthread_create and
37590         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
37591         Suggested by Bruno Haible and Richard Yao in
37592         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
37594         parse-datetime: doc tuneup
37595         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
37596         spacing issues.
37598 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
37600         do-release-commit-and-tag: fix the previous commit
37601         * build-aux/do-release-commit-and-tag: Actually the test was right,
37602         but the comment and the error message were misleading.
37603         Fix comment, and improve error message.
37604         Perform check first, so that NEWS is not modified uselessly.
37606         do-release-commit-and-tag: fix typo
37607         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
37608         _not_ start with a stub.
37610 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
37612         pthread: check for pthread_create, not pthread_join
37613         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
37614         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
37615         pthread_join in libc.  I hope this removes the need for all the
37616         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
37617         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
37619 2012-07-04  Jim Meyering  <meyering@redhat.com>
37621         parse-datetime: fix failure to diagnose invalid input
37622         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
37623         rather than diagnosing the invalid input.  Now it reports this:
37624         date: invalid date '\260'
37625         * lib/parse-datetime.y (to_uchar): Define.
37626         (yylex): Don't sign-extend "other" bytes.
37627         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
37628         Thanks to Bruno Haible for the patch to this file.
37629         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
37630         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
37632 2012-07-03  Jim Meyering  <meyering@redhat.com>
37634         bootstrap: do not require now-removed build-aux/missing
37635         Now that build-aux/missing is, er, missing, bootstrap would
37636         silently fail.
37637         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
37638         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
37639         no longer part of gnulib.
37640         Diagnose the failure.
37642 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37644         alloca: add support for HP NonStop TNS/E native
37645         * lib/alloca.in.h (alloca): Support the new host.
37646         From a suggestion by Joachim Schmitz in
37647         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
37649 2012-07-02  Pádraig Brady  <P@draigBrady.com>
37651         fsusage: remove code not needed on non GNU/Linux systems.
37653         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
37654         Don't include headers no longer needed in this case.
37655         * lib/fsusage.c [STAT_STATVFS &&
37656         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
37657         STAT_STATFS2_FRSIZE to exclude code not used in this case.
37659 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
37661         fsusage: include files needed for glibc 2.6 fallback
37662         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
37663         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
37664         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
37665         Problem reported by Ludovic Courtès in
37666         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
37668         fsusage: avoid needless check on GNU/Linux
37669         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
37670         on GNU/Linux systems, since it can't possibly work.
37672 2012-07-01  Bruno Haible  <bruno@clisp.org>
37674         log: Fix an autoconf >= 2.64 warning.
37675         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
37676         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37678 2012-06-28  Bruno Haible  <bruno@clisp.org>
37680         log10f: Fix possible configuration problem.
37681         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
37682         $LOGF_LIBM.
37683         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37685 2012-06-28  Bruno Haible  <bruno@clisp.org>
37687         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
37688         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
37689         not gl_cv_func_unlink_works.
37690         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37692 2012-06-27  Eric Blake  <eblake@redhat.com>
37694         config: drop scripts that automake says are not independent
37695         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
37696         * build-aux/elisp-comp: Delete.
37697         * build-aux/missing: Likewise.
37698         * build-aux/ylwrap: Likewise.
37699         * modules/elisp-comp: Likewise.
37700         * MODULES.html.sh: Drop mention of elisp-comp.
37701         * NEWS: Mention this.
37703 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37705         root-uid: new module
37706         This is for portability to Tandem's NonStop Kernel.
37707         * lib/root-uid.h, modules/root-uid: New files.
37708         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
37709         * lib/write-any-file.c, tests/test-sethostname2.c:
37710         Include "root-uid.h".
37711         * lib/euidaccess.c (euidaccess):
37712         * lib/pt_chown.c (main):
37713         * lib/unlinkdir.c (cannot_unlink_dir):
37714         * lib/write-any-file.c (can_write_any_file):
37715         * m4/mknod.m4 (gl_FUNC_MKNOD):
37716         * tests/test-sethostname2.c (geteuid, main):
37717         Don't assume ROOT_UID == 0.
37718         * modules/euidaccess (Depends-on):
37719         * modules/pt_chown (Depends-on):
37720         * modules/sethostname-tests (Depends-on):
37721         * modules/unlinkdir (Depends-on):
37722         * modules/write-any-file (Depends-on):
37723         Add root-uid.
37725         regex: use locale-independent comparison for codeset name
37726         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
37727         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
37728         for codeset name.
37729         * lib/regex_internal.h: Do not include <strings.h>, since we
37730         no longer use strcasecmp.
37731         * modules/regex (Depends-on): Remove strcase.
37733 2012-06-23  Bruno Haible  <bruno@clisp.org>
37735         getopt-posix: No longer guarantee that option processing is resettable.
37736         * doc/posix-functions/getopt.texi: Drop description of problem with
37737         internal state. Fix info about mingw and msvc9.
37738         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
37739         option processing by getopt(). Run three test programs instead of one.
37740         Simplify cross-compilation guess.
37741         * NEWS: Mention the change.
37742         Reported by Rich Felker <dalias@aerifal.cx>.
37744 2012-06-26  Bruno Haible  <bruno@clisp.org>
37746         argp, regex: Ensure strcasecmp gets declared.
37747         * lib/argp-help.c: Include <strings.h>.
37748         * lib/regex_internal.h: Likewise.
37749         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
37751 2012-06-24  Bruno Haible  <bruno@clisp.org>
37753         ptsname_r: Make it consistent with ptsname on AIX.
37754         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
37755         implementation as for OSF/1.
37756         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
37757         a pty master.
37759         ptsname_r: Make it consistent with ptsname on OSF/1.
37760         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
37761         OSF/1.
37763 2012-06-24  Bruno Haible  <bruno@clisp.org>
37765         ttyname_r: Fix result on OSF/1, Solaris.
37766         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
37768 2012-06-24  Bruno Haible  <bruno@clisp.org>
37770         ptsname_r: Add support for Solaris.
37771         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
37772         Solaris.
37774         ptsname_r: Fix test failure on native Windows.
37775         * modules/ptsname_r (Depends-on): Add isatty.
37777         ptsname_r: Fix test failures on IRIX, Solaris.
37778         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
37779         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
37780         accordingly.
37781         * lib/ptsname_r.c: Include <fcntl.h>.
37782         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
37783         set errno if fd is invalid.
37784         * tests/test-isatty.c (main): Update comments.
37786 2012-06-24  Bruno Haible  <bruno@clisp.org>
37788         ptsname test: Extend test.
37789         * tests/test-ptsname.c: Include <errno.h>.
37790         (main): Test behaviour with invalid file descriptor.
37792 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37794         time: fix obsolete comment
37795         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
37796         reference to HAVE_STRUCT_TIMESPEC in comment.
37798 2012-06-23  Bruno Haible  <bruno@clisp.org>
37800         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
37801         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
37802         does not handle abbreviated long options with equivalent
37803         disambiguations, set gl_replace_getopt to yes.
37804         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
37806 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
37808         time_r: fix typo that always overrode localtime_r decl
37809         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
37810         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
37811         not in a standard include.
37813 2012-06-22  Bruno Haible  <bruno@clisp.org>
37815         Write "Mac OS X" instead of "MacOS X".
37816         * README: Write "Mac OS X" instead of "MacOS X".
37817         * build-aux/bootstrap: Likewise.
37818         * build-aux/install-reloc: Likewise.
37819         * lib/acl-internal.h: Likewise.
37820         * lib/acl_entries.c: Likewise.
37821         * lib/argp-ba.c: Likewise.
37822         * lib/argp-pv.c: Likewise.
37823         * lib/config.charset: Likewise.
37824         * lib/copy-acl.c: Likewise.
37825         * lib/csharpexec.c: Likewise.
37826         * lib/euidaccess.c: Likewise.
37827         * lib/fbufmode.c: Likewise.
37828         * lib/fflush.c: Likewise.
37829         * lib/file-has-acl.c: Likewise.
37830         * lib/filemode.h: Likewise.
37831         * lib/fpurge.c: Likewise.
37832         * lib/freadable.c: Likewise.
37833         * lib/freadahead.c: Likewise.
37834         * lib/freading.c: Likewise.
37835         * lib/freadptr.c: Likewise.
37836         * lib/freadseek.c: Likewise.
37837         * lib/fseeko.c: Likewise.
37838         * lib/fseterr.c: Likewise.
37839         * lib/fsusage.c: Likewise.
37840         * lib/fwritable.c: Likewise.
37841         * lib/fwriting.c: Likewise.
37842         * lib/get-rusage-as.c: Likewise.
37843         * lib/get-rusage-data.c: Likewise.
37844         * lib/getdomainname.c: Likewise.
37845         * lib/idpriv-drop.c: Likewise.
37846         * lib/idpriv-droptemp.c: Likewise.
37847         * lib/localcharset.c: Likewise.
37848         * lib/locale.in.h: Likewise.
37849         * lib/localename.c: Likewise.
37850         * lib/mbsrtowcs-state.c: Likewise.
37851         * lib/nproc.c: Likewise.
37852         * lib/passfd.c: Likewise.
37853         * lib/posix_openpt.c: Likewise.
37854         * lib/printf-parse.c: Likewise.
37855         * lib/progreloc.c: Likewise.
37856         * lib/safe-read.h: Likewise.
37857         * lib/safe-write.h: Likewise.
37858         * lib/sched.in.h: Likewise.
37859         * lib/set-mode-acl.c: Likewise.
37860         * lib/signal.in.h: Likewise.
37861         * lib/stdint.in.h: Likewise.
37862         * lib/stdio-impl.h: Likewise.
37863         * lib/stdlib.in.h: Likewise.
37864         * lib/strtod.c: Likewise.
37865         * lib/sys_select.in.h: Likewise.
37866         * lib/tcgetsid.c: Likewise.
37867         * lib/unistd.in.h: Likewise.
37868         * lib/unlockpt.c: Likewise.
37869         * lib/vasnprintf.c: Likewise.
37870         * lib/vma-iter.c: Likewise.
37871         * lib/wcsrtombs-state.c: Likewise.
37872         * m4/acl.m4: Likewise.
37873         * m4/acosl.m4: Likewise.
37874         * m4/asinl.m4: Likewise.
37875         * m4/atanl.m4: Likewise.
37876         * m4/c-stack.m4: Likewise.
37877         * m4/cosl.m4: Likewise.
37878         * m4/expl.m4: Likewise.
37879         * m4/extensions.m4: Likewise.
37880         * m4/fdatasync.m4: Likewise.
37881         * m4/fmal.m4: Likewise.
37882         * m4/frexp.m4: Likewise.
37883         * m4/frexpf.m4: Likewise.
37884         * m4/frexpl.m4: Likewise.
37885         * m4/fsusage.m4: Likewise.
37886         * m4/getdomainname.m4: Likewise.
37887         * m4/getloadavg.m4: Likewise.
37888         * m4/getopt.m4: Likewise.
37889         * m4/gettext.m4: Likewise.
37890         * m4/gnulib-common.m4: Likewise.
37891         * m4/intdiv0.m4: Likewise.
37892         * m4/intlmacosx.m4: Likewise.
37893         * m4/largefile.m4: Likewise.
37894         * m4/ldexpl.m4: Likewise.
37895         * m4/link-follow.m4: Likewise.
37896         * m4/locale-ar.m4: Likewise.
37897         * m4/locale-fr.m4: Likewise.
37898         * m4/locale-ja.m4: Likewise.
37899         * m4/locale-tr.m4: Likewise.
37900         * m4/locale-zh.m4: Likewise.
37901         * m4/locale_h.m4: Likewise.
37902         * m4/lock.m4: Likewise.
37903         * m4/logl.m4: Likewise.
37904         * m4/mathfunc.m4: Likewise.
37905         * m4/minus-zero.m4: Likewise.
37906         * m4/mktime.m4: Likewise.
37907         * m4/mmap-anon.m4: Likewise.
37908         * m4/multiarch.m4: Likewise.
37909         * m4/nanosleep.m4: Likewise.
37910         * m4/nocrash.m4: Likewise.
37911         * m4/poll.m4: Likewise.
37912         * m4/printf-frexpl.m4: Likewise.
37913         * m4/printf.m4: Likewise.
37914         * m4/signbit.m4: Likewise.
37915         * m4/sinl.m4: Likewise.
37916         * m4/sqrtl.m4: Likewise.
37917         * m4/strerror_r.m4: Likewise.
37918         * m4/tanl.m4: Likewise.
37919         * m4/threadlib.m4: Likewise.
37920         * m4/ttyname_r.m4: Likewise.
37921         * m4/unlink.m4: Likewise.
37922         * m4/visibility.m4: Likewise.
37923         * m4/wcwidth.m4: Likewise.
37924         * tests/minus-zero.h: Likewise.
37925         * tests/test-alloca-opt.c: Likewise.
37926         * tests/test-copy-acl.sh: Likewise.
37927         * tests/test-copy-file.sh: Likewise.
37928         * tests/test-fdatasync.c: Likewise.
37929         * tests/test-file-has-acl.sh: Likewise.
37930         * tests/test-flock.c: Likewise.
37931         * tests/test-fsync.c: Likewise.
37932         * tests/test-localename.c: Likewise.
37933         * tests/test-malloca.c: Likewise.
37934         * tests/test-nonblocking-pipe.h: Likewise.
37935         * tests/test-nonblocking-socket.h: Likewise.
37936         * tests/test-openpty.c: Likewise.
37937         * tests/test-posix_openpt.c: Likewise.
37938         * tests/test-ptsname.c: Likewise.
37939         * tests/test-ptsname_r.c: Likewise.
37940         * tests/test-sameacls.c: Likewise.
37941         * tests/test-select.h: Likewise.
37942         * tests/test-set-mode-acl.sh: Likewise.
37943         * tests/test-snprintf-posix.h: Likewise.
37944         * tests/test-sprintf-posix.h: Likewise.
37945         * tests/test-strtod.c: Likewise.
37946         * tests/test-time.c: Likewise.
37947         * tests/test-vasnprintf-posix.c: Likewise.
37948         * tests/test-vasprintf-posix.c: Likewise.
37949         * doc/acl-resources.txt: Likewise.
37950         * doc/**/*.texi: Likewise.
37951         Reported by Max Horn <max@quendi.de>.
37953 2012-06-22  Bruno Haible  <bruno@clisp.org>
37955         grantpt: Relax requirement regarding invalid file descriptors.
37956         * lib/grantpt.c: Don't include <fcntl.h>.
37957         (grantpt): Don't verify the validity of the file descriptor.
37958         * modules/grantpt (Depends-on): Remove fcntl-h.
37959         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
37960         file descriptors.
37961         * doc/posix-functions/grantpt.texi: Document more platforms on which
37962         grantpt succeeds for invalid file descriptors.
37963         Reported by Rich Felker <dalias@aerifal.cx>.
37965 2012-06-22  Bruno Haible  <bruno@clisp.org>
37967         fbufmode test: Don't test unportable behaviour.
37968         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
37969         (main): Invoke it three times.
37970         Reported by Szabolcs Nagy <nsz@port70.net>
37971         and Rich Felker <dalias@aerifal.cx>.
37973 2012-06-21  Bruno Haible  <bruno@clisp.org>
37975         gnulib-tool: Refactor inctests variable.
37976         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
37977         (func_modules_transitive_closure,
37978         func_modules_transitive_closure_separately,
37979         func_import, func_create_testdir): Update.
37981         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
37982         * gnulib-tool: Accept option --without-tests.
37983         (func_usage): Document --without-tests option. Rearrange.
37984         (inctests): Normalize according to the mode.
37985         * NEWS: Mention the change.
37986         Suggested by Simon Josefsson.
37988 2012-06-21  Bruce Korb  <bkorb@gnu.org>
37990         parse-duration test: Avoid spurious output.
37991         * tests/test-parse-duration.sh: Reindent with leading tabs.
37993 2012-06-21  Jim Meyering  <meyering@redhat.com>
37995         maint: disable the strncpy prohibition
37996         * cfg.mk: Do not prohibit strncpy here.
37998 2012-06-21  Bruno Haible  <bruno@clisp.org>
38000         nonblocking: Avoid compilation error on mingw64.
38001         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
38002         fscanf.
38003         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
38004         * modules/vfscanf (configure.ac): Likewise.
38005         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
38006         definition only if stdio.h has prepared it.
38007         Reported by Daniel P. Berrange <berrange@redhat.com>.
38009 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
38011         gnulib-tool: Use readlink if it is available.
38012         * gnulib-tool (func_readlink): Choose function more appropriately.
38014 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
38016         posixtm-tests: port to buggy compiler
38017         Problem reported by Simon Josefsson in
38018         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
38019         * modules/posixtm-tests (Depends-on): Add stdint.
38020         * tests/test-posixtm.c (struct posixtm_test.t_expected):
38021         Now of type int_least64_t, not int64_t, both because that's
38022         what INT64_C returns and because int_least64_t works even
38023         on 72-bit hosts.
38024         (T): Use INT64_C on constants outside the traditional int range,
38025         to work around compiler bug noted by Simon.
38027         mktime: fix integer overflow in 'configure'-time test
38028         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
38029         after integer overflow.  Problem reported by Rich Felker in
38030         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
38031         Also, don't look for further instances of a bug if we've already
38032         found one instance; this helps 'configure' run faster.
38034 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
38036         tmpfile, clean-temp: Fix invocation of GetVersionEx.
38037         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
38038         GetVersionEx correctly.
38039         * lib/clean-temp.c (supports_delete_on_close): Likewise.
38041 2012-06-20  Bruno Haible  <bruno@clisp.org>
38043         fdopen: Allow implementations that don't reject invalid fd arguments.
38044         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
38045         succeeds.
38046         Reported by Rich Felker <dalias@aerifal.cx>.
38048 2012-06-20  Simon Josefsson  <simon@josefsson.org>
38050         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
38051         bring in LIBINTL.
38053 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
38055         init.sh: do not rely on autoupated PWD
38056         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
38057         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
38058         Although Nelson's bug was not necessarily fixed by this patch,
38059         it seems wise to make the change for safety.
38060         * tests/init.sh (path_prepend_): Do not rely on PWD updating
38061         automagically after 'cd'; this is not reliable on older shells.
38062         (setup_): Fail if we cannot cd to temporary directory.
38064 2012-06-19  Bruno Haible  <bruno@clisp.org>
38066         stat, fstat: Avoid warnings on mingw64.
38067         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
38068         redefining.
38069         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
38070         Reported by Daniel P. Berrange <berrange@redhat.com>.
38072 2012-06-19  Bruno Haible  <bruno@clisp.org>
38074         stdioext: Add support for musl libc.
38076         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
38077         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
38079         * m4/fseterr.m4: New file.
38080         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
38081         function exists.
38082         * modules/fseterr (Files): Add m4/fseterr.m4.
38083         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
38084         __fseterr does not exist.
38085         (Makefile.am): Remove fseterr.c from lib_SOURCES.
38087         * lib/freadable.h: Update comment.
38089         * lib/fwritable.h: Update comment.
38091         * lib/freading.h: Update comment.
38093         * lib/fwriting.h: Update comment.
38095         * m4/freadahead.m4: New file.
38096         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
38097         that function exists.
38098         * modules/freadahead (Files): Add m4/freadahead.m4.
38099         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
38100         __freadahead does not exist.
38101         (Makefile.am): Remove freadahead.c from lib_SOURCES.
38103         * m4/freadptr.m4: New file.
38104         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
38105         function exists.
38106         * modules/freadptr (Files): Add m4/freadptr.m4.
38107         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
38108         __freadptr does not exist.
38109         (Makefile.am): Remove freadptr.c from lib_SOURCES.
38111         * m4/freadseek.m4: New file.
38112         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
38113         exists.
38114         * modules/freadseek (Files): Add m4/freadseek.m4.
38115         (configure.ac): Invoke gl_FUNC_FREADSEEK.
38117         * lib/fpurge.c (fpurge): Update comment.
38119         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
38121 2012-06-19  Bruno Haible  <bruno@clisp.org>
38123         *printf-posix: Put more info into config.log.
38124         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
38125         exit code into config.log.
38127 2012-06-19  Bruno Haible  <bruno@clisp.org>
38129         getopt-gnu: Fix exit code overflow in autoconf test.
38130         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
38131         to keep them below < 128.
38133 2012-06-17  Jim Meyering  <meyering@redhat.com>
38135         maint.mk: fix typo in code to derive GPG key at release time
38136         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
38138 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
38140         regex: avoid warning when pointers are not long
38141         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
38142         and uintptr_t, not long, for portability to hosts where pointers and
38143         long have different sizes.  Issue noted by Daniel P. Berrange in
38144         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
38145         and fix suggested by Bruno Haible in
38146         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
38148 2012-06-17  Bruno Haible  <bruno@clisp.org>
38150         dummy: Relicense into the public domain.
38151         * modules/dummy (License): Set to "public domain".
38152         Suggested by Reuben Thomas.
38154 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
38156         announce-gen: VPATH issues
38157         * build-aux/announce-gen (--srcdir): New option, used to trim the
38158         $srcdir part of the path from $builddir to NEWS.
38159         * top/maint.mk (announcement): Adjust.
38161 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
38163         gnu-web-doc-update: VPATH builds
38164         * build-aux/gnu-web-doc-update (--builddir): New option.
38165         Revamp the handling of options.
38166         Prefer $(...) to `...`.
38167         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
38168         the template, and it is GNU mktemp specific.
38169         Prefer set -e to long series of &&.
38170         Restore the initial git branch, not "master".
38171         Properly initialize submodules (don't rely only on bootstrap).
38172         Do not reconfigure blindly, use config.status.
38173         * top/README-release: Update instructions for gnu-web-doc-update.
38175 2012-06-11  Jim Meyering  <meyering@redhat.com>
38177         maint.mk: revert most of the previous change re "all these"
38178         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
38179         For rationale, see the discussion at
38180         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
38182 2012-06-10  Karl Berry  <karl@gnu.org>
38184         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
38186         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
38188 2012-06-10  Bruce Korb  <bkorb@gnu.org>
38190         parse-duration: Relicense under LGPLv2+.
38191         * modules/parse-duration (License): Change to LGPLv2+.
38193 2012-06-10  Jim Meyering  <meyering@redhat.com>
38195         maint.mk: prohibit common grammar error: "all these"
38196         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
38197         the list of prohibited word sequences.  It should be "all of these".
38198         * lib/tempname.c (__gen_tempname): Fix one of them.
38200 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38202         do-release-commit-and-tag: support VPATH builds
38203         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
38204         (noteworthy): Defined earlier to factor its value.
38205         (noteworthy_stub): New.
38206         Use it to factor.
38207         (help_version): Split into...
38208         (help, version): these.
38209         Adjust the option processing part.
38210         Support "--option=value" in addition to "--option value".
38211         (builddir): New.
38212         (--builddir): New option.
38213         * top/README-release: Document this.
38214         Reword slightly so that the reader cannot understand that he
38215         has to do these steps before calling do-release-commit-and-tag.
38217 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38219         readme-release: also require announce-gen and maintainer-makefile
38220         * modules/readme-release (Depends-on): here.
38221         * modules/announce-gen, modules/do-release-commit-and-tag,
38222         modules/gnu-web-doc-update, modules/maintainer-makefile
38223         (Description): Point to readme-release.
38225 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38227         maint.mk: fix VPATH issues.
38228         * top/maint.mk (news-check): GNU Make understand $< very well.
38229         (release-prep): NEWS is in $(srcdir).
38231 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
38233         readme-release: require the promoted modules.
38234         * modules/readme-release (Depends-on): Add
38235         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
38236         in this text.
38238 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38239             Bruno Haible  <bruno@clisp.org>
38241         error, strerror-override: Support mingw64 from Fedora 17.
38242         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
38243         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
38244         EINPROGRESS.
38245         * lib/strerror-override.h (strerror_override): Test it.
38246         * lib/strerror-override.c (strerror_override): Likewise.
38247         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
38249 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38250             Bruno Haible  <bruno@clisp.org>
38252         error, strerror-override: Support mingw64 from Fedora 17.
38253         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
38254         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
38255         * lib/strerror-override.h (strerror_override): Test it.
38256         * lib/strerror-override.c (strerror_override): Likewise.
38258 2012-06-03  Bruno Haible  <bruno@clisp.org>
38260         error, strerror-override: Support new errno values from POSIX:2008.
38261         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
38262         ENOTRECOVERABLE.
38263         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
38264         platforms.
38265         * lib/strerror-override.c (strerror_override): Conditionalize the
38266         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
38267         * lib/strerror-override.h (strerror_override): Declare also if
38268         GNULIB_defined_EOWNERDEAD is defined.
38269         * tests/test-errno.c (e130, e131): New variables.
38270         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
38271         ENOTRECOVERABLE.
38272         Reported by Paolo Bonzini.
38274 2012-05-31  Jim Meyering  <meyering@redhat.com>
38276         savewd: add missing dependency on sys_wait module
38277         * modules/savewd (Depends-on): Add sys_wait, needed at least
38278         for MSVC.  Report and suggested change by Michael Goffioul.
38280 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38282         system-quote-tests: port to CentOS 5
38283         Problem reported by Tom G. Christensen in
38284         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
38285         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
38287 2012-05-29  Jim Meyering  <meyering@redhat.com>
38289         maint: fix typos in comments and ChangeLog
38290         Culprits identified and fixed mostly automatically using these commands:
38291         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
38292         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
38293         using http://github.com/lyda/misspell-check
38294         * ChangeLog: Fix typos.
38295         * doc/solaris-versions: Likewise.
38296         * lib/regexec.c (re_search_stub): Likewise.
38297         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
38299 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38301         manywarnings: remove duplicate -Wmultichar entry
38302         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
38303         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
38304         so keep the entry marked as documented.
38306 2012-05-27  Karl Berry  <karl@gnu.org>
38308         * config/srclist.txt (mktime.c): remove last libc sync,
38309         perhaps just temporarily.
38311 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38313         regex: don't assume uint64_t or uint32_t
38314         * lib/regcomp.c (init_word_char): Don't assume that the types
38315         uint64_t and uint32_t exist.  The C standard doesn't guarantee
38316         them, and on some 32-bit compilers there is no uint64_t.
38317         Problem reported by Gianluigi Tiesi in
38318         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
38320 2012-05-25  Jim Meyering  <meyering@redhat.com>
38322         maint.mk: add strncpy-prohibiting syntax-check rule
38323         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
38325 2012-05-24  Jim Meyering  <meyering@redhat.com>
38327         maint.mk: compute $(gpg_key_ID) more portably
38328         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
38329         That use of sed is not portable to some fringe systems.
38330         Reported by Paul Eggert in
38331         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
38333 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38335         mktime: sync from glibc
38336         * config/srclist.txt: Uncomment mktime.c.
38337         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
38338         First, indent with tabs, since glibc uses tabs and doesn't want to
38339         change and we'd rather be identical to glibc.  Also, two small
38340         coding changes:
38341         (isdst_differ): Use &&, not &, as && is the usual style.
38342         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
38343         for clarity.
38345 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38347         announce-gen: du -h is more portable than du --human
38348         * build-aux/announce-gen (sizes): Invoke du with -h instead
38349         of --human.  Accept leading white space in its output.
38351 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38353         announce-gen: Improve diagnostics.
38354         * build-aux/announce-gen: When parsing command line options,
38355         prefer "announce-gen: option --release-type requires an argument"
38356         to "Option release-type requires an argument".
38358 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38360         maint.mk: gpg_key_ID: use sed more portably
38361         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
38362         the closing brace.
38363         (refresh-po): Fuse two sed invocations into one.
38365 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
38367         gitlog-to-changelog: support the log message format used in Bison.
38368         * build-aux/gitlog-to-changelog: Support --strip-tab and
38369         --strip-cherry-picked.
38371 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38373         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
38374         the rest of the current time slice to another thread in the current
38375         process. So if the thread that feeds the file decscriptor we're
38376         polling is not in the current process, we get busy-waiting.
38377         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
38378         Patch from Theodore Leblond.
38379         * lib/select.c: Split polling out of the loop that sets the output
38380         fd_sets.  Check for zero result and loop if the wait timeout is
38381         infinite.
38383 2012-05-21  Simon Josefsson  <simon@josefsson.org>
38385         select: Fix build error on IRIX 6.5.
38386         * lib/select.c: Include stddef.h for NULL.
38388 2012-05-21  Simon Josefsson  <simon@josefsson.org>
38390         gc: fix libgcrypt detection on older machines.
38391         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
38392         copyright years because the file has been distributed every year
38393         since it was created.
38395 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38397         crypto: fix bug in large buffer handling
38398         Problem reported by Serge Belyshev for glibc in
38399         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
38400         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
38401         * lib/md4.c (md4_process_block):
38402         * lib/md5.c (md5_process_block):
38403         * lib/sha1.c (sha1_process_block):
38404         * lib/sha256.c (sha256_process_block):
38405         Don't assume the buffer length is less than 2**32.
38406         * lib/sha512.c (sha512_process_block): Likewise.
38407         Here, the bug is present only in the rare case where the host does
38408         not support uint64_t or where size_t is wider than 64 bits.
38409         Use u64size to work around the problems.
38410         * lib/u64.h (u64size): New macro.
38412 2012-05-15  Pádraig Brady  <P@draigBrady.com>
38414         fsusage: fix block size returned on older Linux 2.6
38416         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
38417         which is available since Linux 2.6.
38418         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
38419         when the member is available so it can be used as a fallback.
38420         * doc/posix-functions/statvfs.texi: Mention the hang issue
38421         on Linux < 2.6.36.
38423 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38425         bootstrap: suppress stderr chatter
38426         * build-aux/bootstrap (insert_sorted_if_absent, main program):
38427         Omit unnecessary chatter to stderr.  The main program chatter
38428         was there only inadvertantly.
38430         bootstrap: .gitignore files created by autopoint, libtool
38431         I ran into this problem when bootstrapping the latest diffutils.
38432         After './bootstrap', 'git status' reported lots of untracked files
38433         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
38434         autopoint and do not need to be version-controlled.
38435         * build-aux/bootstrap: Put into .gitignore the files that
38436         autopoint and libtool create, by keeping track of files that exist
38437         after but not before these programs are run.
38438         (version_controlled_file): Move up.  2nd arg is now full file
38439         name, not base name; this is more convenient.  Put CVS at the end,
38440         as it's now somewhat deprecated.
38442 2012-05-14  Jim Meyering  <meyering@redhat.com>
38444         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
38445         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
38446         definition.  Reported by Bruno Haible.
38448 2012-05-13  Bruno Haible  <bruno@clisp.org>
38449             Paul Eggert  <eggert@cs.ucla.edu>
38451         binary-io: Define set_binary_mode function.
38452         * lib/binary-io.h (set_binary_mode): New function.
38453         (SET_BINARY): Define in terms of set_binary_mode.
38454         * modules/binary-io (configure.ac): Require AC_C_INLINE.
38455         * tests/test-binary-io.c (main): Accept an argument, and test either
38456         set_binary_mode or SET_BINARY depending on the argument.
38457         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
38458         argument. Clean up also t-bin-out0.tmp.
38460 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
38462         bootstrap: take advantage of POSIX shell features
38464         The 'bootstrap' script offered by Gnulib script already uses POSIX
38465         shell features (like $((...)) arithmetic expansions) that are not
38466         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
38467         means that bootstrap must already be run using a proper POSIX shell,
38468         which will thus provide more features, like ${var#pattern} parameter
38469         expansion or inversion of a command exit status with '!'.  We can
38470         thus use these features to improve the clarity and the performances
38471         of the bootstrap script.
38473         Suggested by Eric Blake.
38475         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
38476         of sed/expr plus command substitutions, to save some forks.  While
38477         we are at it, prefer the POSIX $(...) form of command substitution,
38478         rather than the legacy form `...` (since the former is visually
38479         clearer and interacts better with quoting), and prefer the idiom:
38480           "if ! CMD; then ACTION ..."
38481         over the idiom:
38482           "if CMD; then :; else ACTION ..."
38483         which was required by legacy Bourne shells not supporting '!'.
38485 2012-05-12  Bruno Haible  <bruno@clisp.org>
38487         system-quote: Add more comments.
38488         * lib/system-quote.h: Add more comments about wilcards and limitations.
38489         Suggested by Eli Zaretskii <eliz@gnu.org>.
38491         sh-quote, system-quote: Add comments about wildcards.
38492         * lib/sh-quote.h: Clarify what happens with wildcard characters.
38493         * lib/system-quote.h: Likewise.
38494         Reported by Eli Zaretskii <eliz@gnu.org>.
38496 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
38498         fsusage: check for GNU/Linux statvfs problem dynamically
38499         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
38500         Define STAT_STATFS2_BSIZE too, since in this case the code now
38501         checks dynamically whether statvfs is reliable, falling back on
38502         Linux-style statfs otherwise.
38503         (statvfs_works): New function, for dynamically testing statvfs.
38504         (get_fs_usage) [STAT_STATVFS]: Use it.
38505         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
38506         statvfs on GNU/Linux hosts, since it's now done dynamically.
38508 2012-05-10  Bruno Haible  <bruno@clisp.org>
38510         system-quote, execute, spawn-pipe: Escape '?' on Windows.
38511         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
38512         '?' character.
38513         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
38514         * tests/test-system-quote-main.c (check_all): Check also strings like
38515         "??????????".
38516         Reported by Eli Zaretskii <eliz@gnu.org>.
38518 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
38520         _Noreturn: port config.h to gcc -Wundef
38521         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
38522         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
38523         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
38525 2012-05-10  Bruno Haible  <bruno@clisp.org>
38527         system-quote: Refactor.
38528         * lib/system-quote.h (system_quote_copy): Fix comment.
38529         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
38530         New functions, extracted from system_quote_copy.
38531         (system_quote_length, system_quote_copy): Use these functions.
38532         Reported by Paul Eggert.
38534 2012-05-08  Bruno Haible  <bruno@clisp.org>
38536         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
38537         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
38539 2012-05-08  Bruno Haible  <bruno@clisp.org>
38541         Tests for module 'system-quote'.
38542         * modules/system-quote-tests: New file.
38543         * tests/test-system-quote.sh: New file.
38544         * tests/test-system-quote-main.c: New file.
38545         * tests/test-system-quote-child.c: New file.
38547         New module 'system-quote'.
38548         * lib/system-quote.h: New file.
38549         * lib/system-quote.c: New file.
38550         * modules/system-quote: New file.
38552 2012-05-08  Bruno Haible  <bruno@clisp.org>
38554         sh-quote: Make C++ safe and allow multiple inclusion.
38555         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
38556         declarations in extern "C".
38558 2012-05-08  Bruno Haible  <bruno@clisp.org>
38560         sh-quote tests: Make tests stricter.
38561         * tests/test-sh-quote.c (check_one): Check the return value of
38562         shell_quote_copy.
38563         (main): Check a string with a CR character. Check a string that
38564         contains UCHAR_MAX.
38566 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
38568         warnings.m4: provide a means to specify the program to compile.
38569         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
38570         (gl_WARN_ADD): here.
38571         Use gl_AS_VAR_APPEND.
38572         Support an argument to specify the program to compile.
38573         (gl_WARN_ADD): Accept an argument to specify the program to compile.
38574         AC_SUBST the WARN_CFLAGS when they are used.
38575         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
38576         leave this to gl_WARN_ADD.
38578 2012-05-08  Eric Blake  <eblake@redhat.com>
38580         doc: recommendations on gettext version
38581         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
38582         choice between versions.
38583         * DEPENDENCIES (gettext): Cover both approaches.
38585 2012-05-08  Jim Meyering  <meyering@redhat.com>
38587         init.sh: explain why EXEEXT support uses aliases rather than functions
38588         * tests/init.sh: Add a comment.
38590         init.sh: don't let bash aliases interfere with tests
38591         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
38592         is bash.  This avoids problems for those who alias standard commands to
38593         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
38594         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
38596 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38598         stdint: be more consistent with glibc, SunOS libc
38599         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
38600         (gl_int_fast16_t, gl_uint_fast16_t)
38601         (gl_int_fast32_t, gl_uint_fast32_t)
38602         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
38603         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
38604         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38605         Be consistent with glibc by default, and with SunOS 5.10 and later
38606         if __sun is defined.  This lessens the likelihood of clashes if
38607         code compiled for older hosts is combined with code compiled for
38608         newer ones.  Problem reported by Niels Möller in
38609         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
38611 2012-05-07  Eric Blake  <eblake@redhat.com>
38613         isatty: relax license to LGPLv2+
38614         * modules/isatty (License): Relax license.
38616 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38618         stat-size: comment fix
38619         * lib/stat-size.h: Remove obsolete comment about indenting.
38621 2012-05-06  Bruno Haible  <bruno@clisp.org>
38623         Tests for module 'sh-quote'.
38624         * modules/sh-quote-tests: New file.
38625         * tests/test-sh-quote.c: New file.
38627 2012-05-06  Bruno Haible  <bruno@clisp.org>
38629         sh-quote: Improve shell_quote_argv's signature.
38630         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
38631         * lib/sh-quote.c (shell_quote_argv): Likewise.
38633 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38635         stdint: document issues with int_fast8_t etc.
38636         * doc/posix-headers/stdint.texi (stdint.h): Say that other
38637         stdint.h substitutes may define these types differently.  See
38638         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
38640 2012-05-05  Bruno Haible  <bruno@clisp.org>
38642         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
38643         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
38644         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
38645         or 'guessing no (mishandles large arguments)'.
38647 2012-05-05  Bruno Haible  <bruno@clisp.org>
38649         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
38650         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
38651         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
38652         set gl_cv_func_link_follows_symlink to "guessing no".
38654 2012-05-05  Bruno Haible  <bruno@clisp.org>
38656         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
38657         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
38658         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
38659         "guessing no".
38660         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
38662 2012-05-05  Bruno Haible  <bruno@clisp.org>
38664         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
38665         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
38666         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
38667         set gl_cv_struct_dirent_d_ino to "guessing yes".
38669 2012-05-05  Bruno Haible  <bruno@clisp.org>
38671         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
38672         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
38673         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
38674         "guessing yes".
38676 2012-05-05  Bruno Haible  <bruno@clisp.org>
38678         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
38679         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
38680         compiling to a glibc system, set gl_cv_func_signbit and
38681         gl_cv_func_signbit_gcc to "guessing yes".
38683 2012-05-05  Bruno Haible  <bruno@clisp.org>
38685         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
38686         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
38687         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
38688         to "guessing yes".
38689         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
38690         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
38692 2012-05-05  Bruno Haible  <bruno@clisp.org>
38694         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
38695         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
38696         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
38697         gl_cv_func_realpath_works to "guessing yes".
38699 2012-05-05  Bruno Haible  <bruno@clisp.org>
38701         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
38702         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
38703         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
38705 2012-05-04  Bruno Haible  <bruno@clisp.org>
38707         Tweak last commit.
38708         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
38709         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38711 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
38713         unistd_h: make it easier to avoid sys_types_h
38714         This is useful for Emacs, which has its own method of porting to
38715         Windows, and which therefore does not need the sys_types_h module.
38716         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
38717         code moved here from gl_SYS_TYPES_H.
38718         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
38719         using the code directly.
38720         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
38721         gl_SYS_TYPES_H.
38722         * modules/sys_types (Files):
38723         * modules/unistd (Files): Add m4/off_t.m4.
38725 2012-05-03  Bruno Haible  <bruno@clisp.org>
38727         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
38728         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
38729         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
38730         "guessing yes" or "guessing no".
38731         (gl_FUNC_LSTAT): Update.
38732         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
38733         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
38734         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
38736 2012-05-03  Bruno Haible  <bruno@clisp.org>
38738         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
38739         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
38740         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
38741         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
38742         cross-compiling, choose the first alternative on glibc systems.
38743         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
38745 2012-05-03  Bruno Haible  <bruno@clisp.org>
38747         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
38748         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
38749         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
38751 2012-05-03  Bruno Haible  <bruno@clisp.org>
38753         chown: Avoid "guessing no" when cross-compiling to glibc systems.
38754         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
38756 2012-05-03  Bruno Haible  <bruno@clisp.org>
38758         Avoid "guessing no" guesses when cross-compiling to glibc systems.
38759         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
38760         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
38761         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
38762         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
38763         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
38764         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
38765         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
38766         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
38767         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
38768         compiling to glibc systems, set gl_cv_func_chown_slash_works,
38769         gl_cv_func_chown_ctime_works to "guessing yes".
38770         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
38771         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
38772         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
38773         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
38774         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
38775         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
38776         compiling to glibc systems, set gl_cv_func_open_directory_works to
38777         "guessing yes".
38778         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
38779         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
38780         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
38781         "guessing yes".
38782         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
38783         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
38784         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
38785         compiling to glibc systems, set gl_cv_func_floorf_ieee to
38786         "guessing yes".
38787         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
38788         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
38789         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
38790         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
38791         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
38792         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
38793         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
38794         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
38795         "guessing yes".
38796         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
38797         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
38798         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
38799         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
38800         "guessing yes".
38801         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
38802         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
38803         "guessing yes".
38804         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
38805         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
38806         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
38807         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
38808         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
38809         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
38810         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
38811         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
38812         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
38813         compiling to glibc systems, set gl_cv_func_log10f_ieee to
38814         "guessing yes".
38815         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
38816         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
38817         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
38818         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
38819         "guessing yes".
38820         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
38821         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
38822         "guessing yes".
38823         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
38824         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
38825         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
38826         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
38827         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
38828         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
38829         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
38830         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
38831         compiling to glibc systems, set gl_cv_func_mkfifo_works to
38832         "guessing yes".
38833         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
38834         compiling to glibc systems, set gl_cv_func_mknod_works to
38835         "guessing yes".
38836         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
38837         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
38838         "guessing yes".
38839         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
38840         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
38841         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
38842         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
38843         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
38844         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
38845         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
38846         compiling to glibc systems, set gl_cv_func_svid_putenv to
38847         "guessing yes".
38848         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
38849         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
38850         "guessing yes".
38851         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
38852         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
38853         "guessing yes".
38854         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
38855         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
38856         to "guessing yes".
38857         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
38858         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
38859         to "guessing yes".
38860         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
38861         compiling to glibc systems, set gl_cv_func_rmdir_works to
38862         "guessing yes".
38863         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
38864         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
38865         gl_cv_func_unlink_parent_fails to "guessing yes".
38866         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
38867         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
38868         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
38869         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
38870         gl_cv_func_rename_dest_works to "guessing yes".
38871         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
38872         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
38873         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
38874         compiling to glibc systems, set gl_cv_func_roundf_ieee to
38875         "guessing yes".
38876         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
38877         compiling to glibc systems, set gl_cv_func_roundl_ieee to
38878         "guessing yes".
38879         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
38880         compiling to glibc systems, set gl_cv_func_setenv_works to
38881         "guessing yes".
38882         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
38883         compiling to glibc systems, set gl_cv_func_unsetenv_works to
38884         "guessing yes".
38885         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
38886         compiling to glibc systems, set gl_cv_func_sleep_works to
38887         "guessing yes".
38888         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
38889         compiling to glibc systems, set gl_cv_func_stat_file_slash to
38890         "guessing yes".
38891         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
38892         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
38893         "guessing yes".
38894         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
38895         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
38896         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
38897         compiling to glibc systems, set gl_cv_func_truncf_ieee to
38898         "guessing yes".
38899         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
38900         compiling to glibc systems, set gl_cv_func_truncl_ieee to
38901         "guessing yes".
38902         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
38903         compiling to glibc systems, set gl_cv_func_usleep_works to
38904         "guessing yes".
38905         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
38906         compiling to glibc systems, set gl_cv_func_futimesat_works to
38907         "guessing yes".
38909 2012-05-03  Bruno Haible  <bruno@clisp.org>
38911         Say "guessing yes" or "guessing no" when cross-compiling.
38912         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
38913         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
38914         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
38915         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
38916         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
38917         am_cv_func_working_getline to "guessing yes" or "guessing no".
38918         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
38919         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
38920         (gl_FUNC_MEMMEM): When cross-compiling, set
38921         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
38922         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
38923         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
38924         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
38925         set gl_cv_func_strcasestr_works_always to "guessing yes" or
38926         "guessing no".
38927         (gl_FUNC_STRCASESTR): When cross-compiling, set
38928         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
38929         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
38930         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
38931         (gl_FUNC_STRSTR): When cross-compiling, set
38932         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
38933         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
38934         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
38935         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
38936         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
38938 2012-05-01  Bruno Haible  <bruno@clisp.org>
38940         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
38941         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
38942         * build-aux/reloc-ldflags: Likewise.
38943         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
38945 2012-05-01  Bruno Haible  <bruno@clisp.org>
38947         gnulib-tool: Remove transitional code.
38948         * gnulib-tool: Don't warn about --import with 0 arguments any more.
38949         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38951 2012-05-01  Bruno Haible  <bruno@clisp.org>
38953         getcwd: Fix misindentation.
38954         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
38956 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
38958         exclude: process exclude and include directives in order
38959         This restores the pre-2009 behavior, and is part of a fix of a
38960         grep bug reported by Quentin Arce in
38961         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
38962         * lib/exclude.c (struct exclude): Remove 'tail' member.
38963         (new_exclude_segment): Prepend the new segment instead of appending.
38964         Return void, since that's now more convenient.
38965         (file_pattern_matches): Renamed from excluded_file_pattern_p.
38966         (file_name_matches): Renamed from excluded_file_name_p.
38967         (file_pattern_matches, file_name_matches):
38968         Return true if the pattern matches, not if it excludes.
38969         All callers changed.
38970         (excluded_file_name): Process the list in reverse order;
38971         since the list is now reversed this restores the pre-2009 behavior.
38972         (add_exclude): Adjust to new reversed-order list.  Use local var
38973         rather than macro, for clarity.
38974         * tests/test-exclude7.sh: Adjust to corrected behavior.
38976         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
38977         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
38978         it's not possible here.  Handle the case of \ at end of pattern
38979         without dumping core.
38980         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
38982         _Noreturn: future-proof non-GNU and non-MSVC compilers
38983         * build-aux/snippet/_Noreturn.h (_Noreturn):
38984         * m4/gnulib-common.m4 (gl_COMMON_BODY):
38985         Do not define _Noreturn if __STDC_VERSION__ indicates this is
38986         C11 or later.  This is more likely to work with random future C
38987         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
38988         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
38990         exclude: handle wildcards with FNM_EXTMATCH
38991         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
38992         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
38993         comment that "has wildcards" really means "has or may have
38994         wildcards".  Simplify by avoiding the need to call strcspn.
38996 2012-04-29  Bruno Haible  <bruno@clisp.org>
38998         gnulib-tool: Fix list of authors.
38999         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
39001 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
39003         bootstrap: support Automake-NG in $buildreq
39004         * bootstrap (check_versions): Handle automake and aclocal from
39005         Automake-NG specially.  They can be specified as respectively
39006         the "automake-ng" and "aclocal-ng" requirements.
39008 2012-04-25  Eric Blake  <eblake@redhat.com>
39010         bootstrap: only force latest Makefile.in.in for gettext module
39011         * build-aux/bootstrap (with_gettext): Only install latest
39012         Makefile.in.in for projects requesting bleeding edge gettext.
39014 2012-04-22  Bruno Haible  <bruno@clisp.org>
39016         doc: Mention reason for replacement on glibc/Linux systems.
39017         * doc/posix-functions/dprintf.texi: Mention the problem with special
39018         'long double' values.
39019         * doc/posix-functions/fprintf.texi: Likewise.
39020         * doc/posix-functions/printf.texi: Likewise.
39021         * doc/posix-functions/snprintf.texi: Likewise.
39022         * doc/posix-functions/sprintf.texi: Likewise.
39023         * doc/posix-functions/vdprintf.texi: Likewise.
39024         * doc/posix-functions/vfprintf.texi: Likewise.
39025         * doc/posix-functions/vprintf.texi: Likewise.
39026         * doc/posix-functions/vsnprintf.texi: Likewise.
39027         * doc/posix-functions/vsprintf.texi: Likewise.
39028         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
39029         platforms with F_DUPFD_CLOEXEC problems.
39030         * doc/posix-functions/glob.texi: Mention which platforms are affected
39031         by the problem with symbolic links.
39032         * doc/posix-functions/linkat.texi: Mention the problem with
39033         AT_SYMLINK_FOLLOW on Linux.
39035 2012-04-22  Bruno Haible  <bruno@clisp.org>
39037         pwrite: Don't replace on all platforms.
39038         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
39040 2012-04-22  Bruno Haible  <bruno@clisp.org>
39042         rint* tests: Avoid gcc warnings.
39043         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
39044         * tests/test-rintf.c (INFINITY, NAN): Likewise.
39045         * tests/test-rintl.c (INFINITY, NAN): Likewise.
39047 2012-04-21  Bruno Haible  <bruno@clisp.org>
39049         users.txt: Update.
39050         * users.txt: Add freedink, wdiff. Update URLs for projects that have
39051         switched from CVS to git, bzr, or svn.
39053 2012-04-21  Bruno Haible  <bruno@clisp.org>
39055         Large File Support for native Windows platforms.
39057         * m4/largefile.m4 (gl_LARGEFILE): New macro.
39058         * modules/largefile (configure.ac): Require gl_LARGEFILE.
39060         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
39061         type.
39062         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
39063         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
39064         * doc/posix-headers/sys_types.texi: Mention the effect of the
39065         'largefile' module.
39067         * lib/fcntl.in.h: Add comments about off_t.
39068         * modules/fcntl-h (Depends-on): Add sys_types.
39070         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
39071         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
39072         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
39073         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
39074         * modules/unistd (Depends-on): Add sys_types.
39075         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
39077         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
39078         instead of lseek.
39079         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
39080         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
39081         * modules/lseek (Depends-on): Add sys_types.
39083         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
39084         msvc-nothrow.h.
39085         (SetFileSize): New function.
39086         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
39087         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
39088         if Large File Support is requested.
39089         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
39090         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
39092         * lib/stdio.in.h: Add comments about off_t.
39093         * modules/stdio (Depends-on): Add sys_types.
39095         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
39096         instead of ftello.
39097         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
39098         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
39099         (gl_PREREQ_FTELLO): New macro.
39100         * modules/ftello (Depends-on): Add sys_types.
39101         (configure.ac): Incoke gl_PREREQ_FTELLO.
39103         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
39104         instead of fseeko.
39105         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
39106         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
39107         (gl_PREREQ_FSEEKO): New macro.
39108         * modules/fseeko (Depends-on): Add sys_types.
39109         (configure.ac): Invoke gl_PREREQ_FSEEKO.
39111         * lib/sys_stat.in.h: Add comments about off_t.
39112         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
39113         64-bit integer for st_size in 'struct stat'.
39114         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
39115         Define _GL_WINDOWS_64_BIT_ST_SIZE.
39116         * modules/sys_stat (Depends-on): Add sys_types.
39117         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
39119         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
39120         instead of stat or _stat.
39122         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
39123         'struct _stati64' instead of fstat and 'struct stat'.
39124         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
39125         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
39127         Reported by Ray Satiro <raysatiro@yahoo.com>.
39129 2012-04-19  Eric Blake  <eblake@redhat.com>
39131         bootstrap: accommodate older libtool
39132         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
39133         Reported by Daniel P. Berrange.
39135 2012-04-19  Jim Meyering  <meyering@redhat.com>
39137         announce-gen: avoid failure due to lack of Digest::SHA1
39138         Even with the preferred Digest::SHA available, this script
39139         would fail when the backup module, Digest::SHA1, was not installed.
39140         * build-aux/announce-gen: Quote the conditional use of "use".
39141         Reported by Reuben Thomas in:
39142         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
39144         bootstrap: don't let a user's CDPATH setting affect this script
39145         When CDPATH is set, cd will sometimes generate output.
39146         When "cd" is run in a subshell whose output matters, that
39147         surprising-to-some output can cause malfunction.
39148         Unsetting CDPATH turns off this shell "feature."
39149         * build-aux/bootstrap (CDPATH): Unset.
39150         Reported by Reuben Thomas in:
39151         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
39152         and inspired by his patch here:
39153         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
39155 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
39156         and Jim Meyering  <meyering@redhat.com>
39158         maint.mk: catch "see @xref{}" and similar
39159         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
39160         prohibit "See also @xref{", "Also see @pxref{", and similar.
39162 2012-04-16  Jim Meyering  <meyering@redhat.com>
39164         bootstrap: really use gnulib's po/Makefile.in.in
39165         * build-aux/bootstrap: Correct the source file name in previous change.
39166         Reported by Akim Demaille.
39168         configmake: correct minor inconsistency in Makefile rule
39169         * modules/configmake (Makefile.am): All other rules like this one
39170         run the final "mv -f ..." in the same backslash-continued command
39171         as the one that does everything else.  This one put the mv -f ...
39172         command on a separate, non-backslash-continued line.
39173         Make it like the others.
39175         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
39176         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
39177         the one from gettext.  Reported by Akim Demaille.
39179 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
39181         Fix recursion of install-* into po directories.
39182         Bison's install-pdf bug reported by Hans Aberg at
39183         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
39184         * build-aux/po/Makefile.in.in (install-dvi, install-html)
39185         (install-info, install-pdf, install-ps): New targets.
39187 2012-04-16  Jim Meyering  <meyering@redhat.com>
39189         maint: avoid spurious "make sc_maint" failure
39190         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
39191         exempt all *.class file names, for lib/javaversion.class.
39193 2012-04-15  Bruno Haible  <bruno@clisp.org>
39195         lseek: Make configure test independent of environment.
39196         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
39197         Windows, we know that lseek() on pipes is broken; skip the runtime
39198         test.
39200 2012-04-14  Bruno Haible  <bruno@clisp.org>
39202         stat: Bypass buggy override in mingw64.
39203         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
39204         * lib/stat.c (stat) [mingw64]: Define to _stat.
39205         * doc/posix-functions/stat.texi: Mention mingw64 bug.
39207 2012-04-14  Bruno Haible  <bruno@clisp.org>
39209         pathmax: Fix compilation error on MSVC 9.
39210         * modules/pathmax (Depends-on): Add unistd.
39212 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
39214         README: document pointer comparison assumption
39215         * README (Portability guidelines): Document assumption about
39216         pointer comparisons, in response to a recent bug-gnulib comment by
39217         Jeffrey Kegler.
39219 2012-04-12  Bruno Haible  <bruno@clisp.org>
39221         Tests for module 'getrusage'.
39222         * modules/getrusage-tests: New file.
39223         * tests/test-getrusage.c: New file.
39225         New module 'getrusage'.
39226         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
39227         warn-on-use.h.
39228         (getrusage): New declaration.
39229         * lib/getrusage.c: New file.
39230         * m4/getrusage.m4: New file.
39231         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
39232         is declared.
39233         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
39234         HAVE_GETRUSAGE.
39235         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
39236         snippet/c++defs, snippet/warn-on-use.
39237         (Makefile.am): Update generation of sys/resource.h. Substitute
39238         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
39239         * modules/getrusage: New file.
39240         * doc/posix-functions/getrusage.texi: Mention the new module.
39242 2012-04-12  Bruno Haible  <bruno@clisp.org>
39244         Tests for module 'sys_resource'.
39245         * modules/sys_resource-tests: New file.
39246         * tests/test-sys_resource.c: New file.
39248         New module 'sys_resource'.
39249         * lib/sys_resource.in.h: New file.
39250         * m4/sys_resource_h.m4: New file.
39251         * modules/sys_resource: New file.
39252         * doc/posix-headers/sys_resource.texi: Mention the new module.
39254 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
39256         ioctl: Fix compilation error on mingw.
39257         * lib/ioctl.c: Include <windows.h>.
39258         Also reported by Ray Satiro <raysatiro@yahoo.com>.
39260 2012-04-04  Jim Meyering  <meyering@redhat.com>
39262         regex: correct #pragma guard expression
39263         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
39264         not 4.3.  Correct its cpp guard expression.
39266 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39268         regex: remove unnecessary type punning
39269         Problem reported by Vladimir Serbinenko in
39270         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
39271         * lib/regex.h (struct re_pattern_buffer): Change the type of
39272         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
39273         Fix comment to match code.
39274         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
39275         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
39276         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
39277         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
39278         (set_regs):
39279         Omit no-longer-necessary casts.
39281 2012-04-03  Bruno Haible  <bruno@clisp.org>
39283         Tests for module 'ilogbl'.
39284         * modules/ilogbl-tests: New file.
39285         * tests/test-ilogbl.c: New file.
39287         New module 'ilogbl'.
39288         * lib/math.in.h (ilogbl): New declaration.
39289         * lib/ilogbl.c: New file.
39290         * m4/ilogbl.m4: New file.
39291         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
39292         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
39293         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
39294         Split sed invocation, to avoid the limit of 100 substitutions of
39295         HP-UX 'sed'.
39296         * modules/ilogbl: New file.
39297         * tests/test-math-c++.cc: Check the declaration of ilogbl.
39298         * doc/posix-functions/ilogbl.texi: Mention the new module.
39300 2012-04-03  Bruno Haible  <bruno@clisp.org>
39302         Tests for module 'ilogbf'.
39303         * modules/ilogbf-tests: New file.
39304         * tests/test-ilogbf.c: New file.
39306         New module 'ilogbf'.
39307         * lib/math.in.h (ilogbf): New declaration.
39308         * lib/ilogbf.c: New file.
39309         * m4/ilogbf.m4: New file.
39310         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
39311         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
39312         REPLACE_ILOGBF.
39313         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
39314         REPLACE_ILOGBF.
39315         * modules/ilogbf: New file.
39316         * tests/test-math-c++.cc: Check the declaration of ilogbf.
39317         * doc/posix-functions/ilogbf.texi: Mention the new module.
39319 2012-04-03  Bruno Haible  <bruno@clisp.org>
39321         Tests for module 'ilogb'.
39322         * modules/ilogb-tests: New file.
39323         * tests/test-ilogb.c: New file.
39324         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
39325         tests/test-logb-ieee.h.
39327         New module 'ilogb'.
39328         * lib/math.in.h (ilogb): New declaration.
39329         * lib/ilogb.c: New file.
39330         * m4/ilogb.m4: New file.
39331         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
39332         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
39333         REPLACE_ILOGB.
39334         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
39335         REPLACE_ILOGB.
39336         * modules/ilogb: New file.
39337         * tests/test-math-c++.cc: Check the declaration of ilogb.
39338         * doc/posix-functions/ilogb.texi: Mention the new module.
39340 2012-04-03  Bruno Haible  <bruno@clisp.org>
39342         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
39343         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
39344         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
39345         (main): Check their values.
39346         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
39347         problem.
39349 2012-04-03  Bruno Haible  <bruno@clisp.org>
39351         Tests for module 'logbl-ieee'.
39352         * modules/logbl-ieee-tests: New file.
39353         * tests/test-logbl-ieee.c: New file.
39355         New module 'logbl-ieee'.
39356         * modules/logbl-ieee: New file.
39358         Tests for module 'logb-ieee'.
39359         * modules/logb-ieee-tests: New file.
39360         * tests/test-logb-ieee.c: New file.
39362         New module 'logb-ieee'.
39363         * modules/logb-ieee: New file.
39365         Tests for module 'logbf-ieee'.
39366         * modules/logbf-ieee-tests: New file.
39367         * tests/test-logbf-ieee.c: New file.
39368         * tests/test-logb-ieee.h: New file.
39370         New module 'logbf-ieee'.
39371         * modules/logbf-ieee: New file.
39373 2012-04-03  Bruno Haible  <bruno@clisp.org>
39375         Tests for module 'logbl'.
39376         * modules/logbl-tests: New file.
39377         * tests/test-logbl.c: New file.
39379         New module 'logbl'.
39380         * lib/math.in.h (logbl): New declaration.
39381         * lib/logbl.c: New file.
39382         * m4/logbl.m4: New file.
39383         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
39384         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
39385         REPLACE_LOGBL.
39386         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
39387         REPLACE_LOGBL.
39388         * modules/logbl: New file.
39389         * tests/test-math-c++.cc: Check the declaration of logbl.
39390         * doc/posix-functions/logbl.texi: Mention the new module.
39392 2012-04-02  Bruno Haible  <bruno@clisp.org>
39394         Tests for module 'logbf'.
39395         * modules/logbf-tests: New file.
39396         * tests/test-logbf.c: New file.
39398         New module 'logbf'.
39399         * lib/math.in.h (logbf): New declaration.
39400         * lib/logbf.c: New file.
39401         * m4/logbf.m4: New file.
39402         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
39403         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
39404         REPLACE_LOGBF.
39405         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
39406         REPLACE_LOGBF.
39407         * modules/logbf: New file.
39408         * tests/test-math-c++.cc: Check the declaration of logbf.
39409         * doc/posix-functions/logbf.texi: Mention the new module.
39411 2012-04-02  Bruno Haible  <bruno@clisp.org>
39413         logb tests: More tests.
39414         * tests/test-logb.h: New file, based on tests/test-logb.c and
39415         tests/test-frexp.h.
39416         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
39417         (main): Just invoke test_function.
39418         * modules/logb-tests (Files): Add tests/test-logb.h,
39419         tests/minus-zero.h, tests/randomd.c.
39420         (Makefile.am): Add randomd.c to test_logb_SOURCES.
39422         logb: Provide replacement and workarounds.
39423         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
39424         is 1.
39425         * lib/logb.c: New file.
39426         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
39427         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
39428         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
39429         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
39430         * modules/logb (Files): Add lib/logb.c.
39431         (Depends-on): Add isfinite, frexp, isnand.
39432         (configure.ac): Compile the replacement code logb.c if needed.
39433         * tests/test-math-c++.cc: Check the declaration of logb.
39434         * doc/posix-functions/logb.texi: Mention the replacement and the bug
39435         with subnormal numbers.
39437 2012-04-02  Bruno Haible  <bruno@clisp.org>
39439         log10* tests: Speed up.
39440         * tests/test-log10.h (test_function): Reduce amount of random numbers
39441         to test.
39443 2012-04-01  Bruno Haible  <bruno@clisp.org>
39445         logf-ieee: Fix test whether logf works.
39446         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
39448 2012-04-01  Bruno Haible  <bruno@clisp.org>
39450         log10l: Work around log10l-ieee test failure on IRIX 6.5.
39451         * lib/log10l.c: Include <float.h>
39452         (log10l): On IRIX, normalize the +Infinity value.
39453         * modules/log10l (Depends-on): Add 'float'.
39454         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
39455         +Infinity.
39457         log10f-ieee: Work around test failure on NetBSD 5.1.
39458         * m4/log10f-ieee.m4: New file.
39459         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
39460         test whether log10f works with a negative argument. Replace it if not.
39461         * lib/log10f.c (log10f): For negative arguments, return NaN.
39462         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
39463         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
39464         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
39466         log10f-ieee: Work around test failure on Solaris 9.
39467         * modules/log10f-ieee (Depends-on): Add log10-ieee.
39468         (configure.ac): Require gl_FUNC_LOG10F.
39470         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
39471         * m4/log10-ieee.m4: New file.
39472         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
39473         whether log10 works with a negative argument. Replace it if not.
39474         * lib/log10.c (log10): For negative arguments, return NaN.
39475         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
39476         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
39477         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
39479         Tests for module 'log10l-ieee'.
39480         * modules/log10l-ieee-tests: New file.
39481         * tests/test-log10l-ieee.c: New file.
39483         New module 'log10l-ieee'.
39484         * modules/log10l-ieee: New file.
39486         Tests for module 'log10-ieee'.
39487         * modules/log10-ieee-tests: New file.
39488         * tests/test-log10-ieee.c: New file.
39490         New module 'log10-ieee'.
39491         * modules/log10-ieee: New file.
39493         Tests for module 'log10f-ieee'.
39494         * modules/log10f-ieee-tests: New file.
39495         * tests/test-log10f-ieee.c: New file.
39496         * tests/test-log10-ieee.h: New file.
39498         New module 'log10f-ieee'.
39499         * modules/log10f-ieee: New file.
39501 2012-04-01  Bruno Haible  <bruno@clisp.org>
39503         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
39504         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
39505         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
39506         workaround.
39507         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
39508         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
39509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
39510         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
39511         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
39512         (Depends-on): Update conditions.
39513         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
39514         IRIX 6.5, OSF/1 5.1 problems.
39516 2012-04-01  Bruno Haible  <bruno@clisp.org>
39518         log10f: Work around OSF/1 5.1 bug.
39519         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
39520         * lib/log10f.c (log10f): If logf exists, use it and provide just the
39521         workaround.
39522         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
39523         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
39524         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
39525         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
39526         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
39527         (Depends-on): Update conditions.
39528         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
39530 2012-04-01  Bruno Haible  <bruno@clisp.org>
39532         log10: Work around OSF/1 5.1 bug.
39533         * lib/math.in.h (log10): New declaration.
39534         * lib/log10.c: New file.
39535         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
39536         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
39537         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
39538         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
39539         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
39540         * modules/log10 (Files): Add lib/log10.c.
39541         (Depends-on): Add math.
39542         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
39543         * tests/test-math-c++.cc: Check the declaration of log10.
39544         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
39546 2012-03-31  Bruno Haible  <bruno@clisp.org>
39548         log10l tests: More tests.
39549         * modules/log10l-tests (Files): Add tests/test-log10l.h,
39550         tests/minus-zero.h, tests/randoml.c.
39551         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
39552         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
39553         (main): Invoke test_function.
39555         log10f tests: More tests.
39556         * modules/log10f-tests (Files): Add tests/test-log10.h,
39557         tests/minus-zero.h, tests/randomf.c.
39558         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
39559         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
39560         (main): Invoke test_function.
39562         log10 tests: More tests.
39563         * tests/test-log10.h: New file.
39564         * modules/log10-tests (Files): Add tests/test-log10.h,
39565         tests/minus-zero.h, tests/randomd.c.
39566         (Makefile.am): Add randomd.c to test_log10_SOURCES.
39567         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
39568         (main): Invoke test_function.
39570 2012-03-31  Simon Josefsson  <simon@josefsson.org>
39572         fflush: Fix syntax error.
39573         * lib/fflush.c: Include unused-parameter.h, needed for
39574         _GL_UNUSED_PARAMETER.
39575         * modules/fflush (Depends-on): Add snippet/unused-parameter.
39577 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39579         regex: pacify GCC when compiling GRUB
39580         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
39581         a diagnostic.  Reported by Vladimir Serbinenko in
39582         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
39584 2012-03-29  Eric Blake  <eblake@redhat.com>
39586         stdio: don't assume gets any more
39587         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
39588         support.
39589         * modules/stdio (Makefile.am): Likewise.
39590         * lib/stdio-read.c (gets): Likewise.
39591         * tests/test-stdio-c++.cc: Likewise.
39592         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
39593         * lib/stdio.in.h (gets): Make warning occur in more places.
39594         * doc/posix-functions/gets.texi (gets): Update documentation.
39595         Reported by Christer Solskogen.
39597         maint.mk: fix syntax checks without exclusions
39598         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
39599         Reported by Daniel P. Berrange.
39601         strerror_r: avoid compiler warning
39602         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
39603         level.
39605         fflush: avoid compiler warning
39606         * lib/fflush.c (update_fpos_cache): Mark variables that are
39607         potentially unused.
39609 2012-03-25  Bruno Haible  <bruno@clisp.org>
39611         Tests for module 'localeconv'.
39612         * modules/localeconv-tests: New file.
39613         * tests/test-localeconv.c: New file.
39615         New module 'localeconv'.
39616         * lib/locale.in.h (localeconv): New declaration.
39617         * lib/localeconv.c: New file.
39618         * m4/localeconv.m4: New file.
39619         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
39620         REPLACE_LOCALECONV.
39621         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
39622         REPLACE_LOCALECONV.
39623         * modules/localeconv: New file.
39624         * modules/nl_langinfo (Depends-on): Add localeconv.
39625         * modules/human (Depends-on): Likewise.
39626         * doc/posix-functions/localeconv.texi: Mention the new module.
39628 2012-03-25  Bruno Haible  <bruno@clisp.org>
39630         locale: Provide a complete 'struct lconv'.
39631         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
39632         'struct lconv' does not contain int_p_cs_precedes.
39633         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
39634         * doc/posix-headers/locale.texi: Update.
39636         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
39637         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
39638         * doc/posix-headers/locale.texi: Update.
39640         locale: Provide a working 'struct lconv'.
39641         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
39642         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
39643         'struct lconv' does not even contain decimal_point.
39644         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
39645         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
39646         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
39647         * doc/posix-headers/locale.texi: Mention the problems with
39648         'struct lconv'.
39649         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
39651 2012-03-24  Bruno Haible  <bruno@clisp.org>
39653         Enable common subexpression optimization in GCC.
39654         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
39655         macros.
39656         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
39657         GCC attribute 'const'.
39658         (uc_locale_language): Declare with GCC attribute 'pure'.
39659         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
39660         with GCC attribute 'const'.
39661         * lib/unictype.in.h (uc_is_general_category_withtable,
39662         uc_combining_class, uc_combining_class_name,
39663         uc_combining_class_long_name, uc_bidi_class_name,
39664         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
39665         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
39666         uc_decimal_value, uc_digit_value, uc_numeric_value,
39667         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
39668         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
39669         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
39670         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
39671         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
39672         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
39673         Declare with GCC attribute 'const'.
39674         (uc_general_category_name, uc_general_category_long_name,
39675         uc_general_category_byname, uc_general_category,
39676         uc_is_general_category, uc_combining_class_byname,
39677         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
39678         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
39679         Declare with GCC attribute 'pure'.
39680         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
39681         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
39682         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
39683         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
39684         with GCC attribute 'pure'.
39685         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
39686         'const'.
39687         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
39688         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
39689         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
39690         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
39691         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
39692         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
39693         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
39694         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
39695         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
39696         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
39697         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
39698         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
39699         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
39700         GCC attribute 'pure'.
39701         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
39702         'const'.
39703         * lib/uniwidth.in.h (uc_width): Simplify declaration.
39704         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
39705         u32_strwidth): Declare with GCC attribute 'pure'.
39707         Enable common subexpression optimization in GCC.
39708         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39709         (alphasort): Declare with GCC attribute 'pure'.
39710         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39711         (atoll): Declare with GCC attribute 'pure'.
39712         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39713         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39714         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
39715         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39716         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
39717         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
39718         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
39720 2012-03-24  Bruno Haible  <bruno@clisp.org>
39722         gnulib-tool: Avoid unintended error output from 'cmp'.
39723         * gnulib-tool (func_add_file, func_update_file, func_import): Use
39724         "cmp -s", not "cmp > /dev/null".
39726 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
39728         gnulib-tool: fix imprecise comments w.r.t. an automake bug
39730         It's not just Automake versions < 1.9b that creates an empty
39731         pkgdatadir at installation time if pkgdata_DATA is specified
39732         to empty; modern automake versions do this as well, at least
39733         until automake 1.11.4 (not yet released at the moment of writing,
39734         but soon to appear).  That behaviour was generally considered a
39735         feature rather than a bug, at least until this discussion:
39736         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
39738         See also automake bugs #10997 and #11030.
39740         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
39741         reference to relevant automake bug numbers.
39742         (func_emit_tests_Makefile_am): Likewise.
39744 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
39746         announce-gen: use Digest::SHA when possible
39747         * build-aux/announce-gen: Use Digest::SHA when possible, falling
39748         back to Digest::SHA1 if necessary.
39750 2012-03-20  Jim Meyering  <meyering@redhat.com>
39752         tests: avoid gcc warnings about argv vs. const initializers
39753         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
39754         warnings about discarding 'const' qualifier from pointer target type.
39755         * tests/test-posix_spawn2.c (main): Likewise.
39757 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
39759         README-release: simplify slightly
39760         * top/README-release: Run "git checkout master" only once.
39762 2012-03-15  Mark Wielaard  <mark@klomp.org>
39764         git-merge-changelog: add specific example on how to use with hg.
39765         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
39767 2012-03-18  Mark Wielaard  <mark@klomp.org>
39769         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
39771 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
39773         git-version-gen: don't let "prefix" envvar cause trouble
39774         * build-aux/git-version-gen (prefix): Initialize properly,
39775         so as not to use a value specified via the environment.
39776         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
39778 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39780         regex: diagnose too-large repeat counts in EREs
39781         Previously, the code did not diagnose the too-large repeat count
39782         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
39783         as if it were 'b\{1000000000}', which is unexpected.
39784         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
39785         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
39786         is a reasonable one for this problem.  Another option would be to
39787         create a new REG_OVERFLOW error for repeat counts that are too large.
39788         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
39789         count is too large, so that the caller can distinguish the two cases.
39790         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
39791         "Too large" return code, and that repeat counts are one example of this.
39793 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39795         doc: some glibc x32 integer width issues
39796         * doc/posix-headers/sys_types.texi (sys/types.h):
39797         * doc/posix-headers/time.texi (time.h):
39798         Mention that glibc x32 does not conform to POSIX in a couple of
39799         areas related to integer widths.
39801 2012-03-15  Bruno Haible  <bruno@clisp.org>
39803         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
39804         * lib/fma.c (VOLATILE): New macro.
39805         (FUNC): Use it to work around a GCC compiler bug.
39807 2012-03-13  Bruno Haible  <bruno@clisp.org>
39809         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
39810         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
39811         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
39812         REPLACE_HYPOTL to 1.
39813         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
39815 2012-03-13  Bruno Haible  <bruno@clisp.org>
39817         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
39818         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
39819         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
39820         REPLACE_REMAINDERL to 1.
39821         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
39822         bug.
39824 2012-03-13  Bruno Haible  <bruno@clisp.org>
39826         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
39827         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
39828         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
39829         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
39830         too big rounding errors.
39831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
39832         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
39833         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
39834         (Depends-on): Update conditions.
39835         * tests/test-sqrtl.c (my_ldexpl): New function.
39836         (main): Add test of a particular value.
39837         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
39839 2012-03-13  Pádraig Brady  <P@draigBrady.com>
39841         doc: Update timer_* platform portability notes.
39842         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
39843         that always return ENOSYS.
39844         * doc/posix-functions/timer_delete.texi: Likewise.
39845         * doc/posix-functions/timer_gettime.texi: Likewise.
39846         * doc/posix-functions/timer_settime.texi: Likewise.
39848 2012-03-13  Bruno Haible  <bruno@clisp.org>
39850         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
39851         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
39852         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
39853         REPLACE_CBRTL to 1.
39854         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
39856 2012-03-13  Bruno Haible  <bruno@clisp.org>
39858         remainderl: Avoid compilation error on AIX >= 5.2.
39859         * lib/math.in.h (remainderl): Undefine macro from the system header.
39861 2012-03-13  Bruno Haible  <bruno@clisp.org>
39863         Avoid compilation errors with MSVC option -fp:strict.
39864         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
39865         * lib/cbrtf.c: Likewise.
39866         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
39868 2012-03-12  Bruno Haible  <bruno@clisp.org>
39870         uninorm: Don't crash in out-of-memory conditions.
39871         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
39872         gracefully.
39873         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
39874         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
39876 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
39878         quote: fix syntax-check
39879         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
39880         also exports quote_quoting_options.
39882 2012-03-12  Simon Josefsson  <simon@josefsson.org>
39884         Collapse list of copyright years to ranges.  See
39885         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
39886         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
39887         build-aux/csharpexec.sh.in, build-aux/gnupload,
39888         build-aux/install-reloc, build-aux/javacomp.sh.in,
39889         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
39890         build-aux/move-if-change, build-aux/reloc-ldflags,
39891         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
39893 2012-03-11  Bruno Haible  <bruno@clisp.org>
39895         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
39896         * m4/log2f-ieee.m4: New file.
39897         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
39898         whether log2f works with a minus zero argument. Replace it if not.
39899         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
39900         (Depends-on): Add log2-ieee.
39901         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
39902         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
39904         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
39905         * m4/log2-ieee.m4: New file.
39906         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
39907         whether log2 works with a minus zero argument. Replace it if not.
39908         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
39909         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
39910         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
39912         Tests for module 'log2l-ieee'.
39913         * modules/log2l-ieee-tests: New file.
39914         * tests/test-log2l-ieee.c: New file.
39916         New module 'log2l-ieee'.
39917         * modules/log2l-ieee: New file.
39919         Tests for module 'log2-ieee'.
39920         * modules/log2-ieee-tests: New file.
39921         * tests/test-log2-ieee.c: New file.
39923         New module 'log2-ieee'.
39924         * modules/log2-ieee: New file.
39926         Tests for module 'log2f-ieee'.
39927         * modules/log2f-ieee-tests: New file.
39928         * tests/test-log2f-ieee.c: New file.
39929         * tests/test-log2-ieee.h: New file.
39931         New module 'log2f-ieee'.
39932         * modules/log2f-ieee: New file.
39934 2012-03-11  Bruno Haible  <bruno@clisp.org>
39936         Tests for module 'log2l'.
39937         * modules/log2l-tests: New file.
39938         * tests/test-log2l.c: New file.
39940         New module 'log2l'.
39941         * lib/math.in.h (log2l): New declaration.
39942         * lib/log2l.c: New file.
39943         * m4/log2l.m4: New file.
39944         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
39945         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
39946         REPLACE_LOG2L.
39947         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
39948         REPLACE_LOG2L.
39949         * modules/log2l: New file.
39950         * tests/test-math-c++.cc: Check the declaration of log2l.
39951         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
39952         and OSF/1 problems.
39954 2012-03-11  Bruno Haible  <bruno@clisp.org>
39956         Tests for module 'log2f'.
39957         * modules/log2f-tests: New file.
39958         * tests/test-log2f.c: New file.
39960         New module 'log2f'.
39961         * lib/math.in.h (log2f): New declaration.
39962         * lib/log2f.c: New file.
39963         * m4/log2f.m4: New file.
39964         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
39965         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
39966         REPLACE_LOG2F.
39967         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
39968         REPLACE_LOG2F.
39969         * modules/log2f: New file.
39970         * tests/test-math-c++.cc: Check the declaration of log2f.
39971         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
39972         and OSF/1 and Cygwin problems.
39974 2012-03-11  Bruno Haible  <bruno@clisp.org>
39976         Tests for module 'log2'.
39977         * modules/log2-tests: New file.
39978         * tests/test-log2.c: New file.
39979         * tests/test-log2.h: New file.
39981         New module 'log2'.
39982         * lib/math.in.h (log2): New declaration.
39983         * lib/log2.c: New file.
39984         * m4/log2.m4: New file.
39985         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
39986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
39987         REPLACE_LOG2.
39988         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
39989         REPLACE_LOG2.
39990         * modules/log2: New file.
39991         * tests/test-math-c++.cc: Check the declaration of log2.
39992         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
39993         and OSF/1 and Cygwin problems.
39995 2012-03-11  Bruno Haible  <bruno@clisp.org>
39997         exp2* tests: More tests.
39998         * tests/test-exp2.h (test_function): Test all integral arguments that
39999         don't need to overflow or denormalized numbers.
40000         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
40001         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
40002         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
40004 2012-03-10  Bruno Haible  <bruno@clisp.org>
40006         log1pl-ieee: Work around test failure on AIX 7.1.
40007         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
40009         log1pl-ieee: Work around test failure on IRIX 6.5.
40010         * m4/log1pl-ieee.m4: New file.
40011         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
40012         test whether log1pl works with a minus zero argument. Replace it if
40013         not.
40014         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
40015         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
40016         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
40017         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
40018         (Depends-on): Update conditions.
40019         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40020         m4/signbit.m4.
40021         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
40022         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
40024         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
40025         * m4/log1pf-ieee.m4: New file.
40026         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
40027         test whether log1pf works with a minus zero argument. Replace it if
40028         not.
40029         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
40030         m4/signbit.m4.
40031         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
40032         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
40034         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
40035         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
40036         (configure.ac): Require gl_FUNC_LOG1PF.
40038         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
40039         * m4/log1p-ieee.m4: New file.
40040         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
40041         whether log1p works with a minus zero argument. Replace it if not.
40042         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
40043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
40044         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
40045         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
40046         (Depends-on): Update conditions.
40047         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40048         m4/signbit.m4.
40049         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
40050         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
40052         Tests for module 'log1pl-ieee'.
40053         * modules/log1pl-ieee-tests: New file.
40054         * tests/test-log1pl-ieee.c: New file.
40056         New module 'log1pl-ieee'.
40057         * modules/log1pl-ieee: New file.
40059         Tests for module 'log1p-ieee'.
40060         * modules/log1p-ieee-tests: New file.
40061         * tests/test-log1p-ieee.c: New file.
40063         New module 'log1p-ieee'.
40064         * modules/log1p-ieee: New file.
40066         Tests for module 'log1pf-ieee'.
40067         * modules/log1pf-ieee-tests: New file.
40068         * tests/test-log1pf-ieee.c: New file.
40069         * tests/test-log1p-ieee.h: New file.
40071         New module 'log1pf-ieee'.
40072         * modules/log1pf-ieee: New file.
40074 2012-03-10  Bruno Haible  <bruno@clisp.org>
40076         Tests for module 'log1pl'.
40077         * modules/log1pl-tests: New file.
40078         * tests/test-log1pl.c: New file.
40080         New module 'log1pl'.
40081         * lib/math.in.h (log1pl): New declaration.
40082         * lib/log1pl.c: New file.
40083         * m4/log1pl.m4: New file.
40084         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
40085         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
40086         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
40087         * modules/log1pl: New file.
40088         * tests/test-math-c++.cc: Check the declaration of log1pl.
40089         * doc/posix-functions/log1pl.texi: Mention the new module.
40091 2012-03-10  Bruno Haible  <bruno@clisp.org>
40093         Tests for module 'log1pf'.
40094         * modules/log1pf-tests: New file.
40095         * tests/test-log1pf.c: New file.
40097         New module 'log1pf'.
40098         * lib/math.in.h (log1pf): New declaration.
40099         * lib/log1pf.c: New file.
40100         * m4/log1pf.m4: New file.
40101         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
40102         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
40103         REPLACE_LOG1PF.
40104         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
40105         REPLACE_LOG1PF.
40106         * modules/log1pf: New file.
40107         * tests/test-math-c++.cc: Check the declaration of log1pf.
40108         * doc/posix-functions/log1pf.texi: Mention the new module.
40110 2012-03-10  Bruno Haible  <bruno@clisp.org>
40112         log1p tests: More tests.
40113         * tests/test-log1p.h: New file.
40114         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
40115         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
40116         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
40117         (main): Invoke test_function.
40119         log1p: Provide replacement for Minix and MSVC.
40120         * lib/math.in.h (log1p): New declaration.
40121         * lib/log1p.c: New file.
40122         * m4/log1p.m4: New file.
40123         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
40124         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
40125         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
40126         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
40127         (Depends-on): Add math, isnand, log, round.
40128         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
40129         HAVE_LOG1P is 0.
40130         * tests/test-math-c++.cc: Check the declaration of log1p.
40131         * doc/posix-functions/log1p.texi: Mention the replacement.
40133 2012-03-10  Bruno Haible  <bruno@clisp.org>
40135         math tests: Small simplification.
40136         * tests/test-exp.h (test_function): Use the same err_bound for
40137         'double' on platforms with sizeof (long double) == sizeof (double)
40138         than on platforms with sizeof (long double) > sizeof (double).
40139         * tests/test-exp2.h (test_function): Likewise.
40140         * tests/test-expm1.h (test_function): Likewise.
40141         * tests/test-log.h (test_function): Likewise.
40143 2012-03-10  Bruno Haible  <bruno@clisp.org>
40145         Fix some comments.
40146         * lib/expl.c: Fix an ambiguous comment.
40147         * lib/expm1.c: Likewise.
40148         * lib/expm1l.c: Likewise.
40149         * lib/exp2.c: Likewise.
40150         * lib/exp2l.c: Likewise.
40152 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
40154         regex: allow inclusion of <regex.h> before <limits.h>
40155         Without this patch, portable programs had to include <limits.h> before
40156         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
40157         I ran into this problem with a test version of GNU grep on Solaris 8.
40158         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
40159         This is done conditionally so that this change can be merged
40160         back to glibc.
40161         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
40162         using the included regex.
40164         fts: depend on fdopendir
40165         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
40166         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
40167         problem was introduced when fdopendir was split out.
40169 2012-03-10  Bruno Haible  <bruno@clisp.org>
40171         Remove unused variables.
40172         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
40173         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
40175 2012-03-10  Bruno Haible  <bruno@clisp.org>
40177         isnanf-nolibm: Fix last commit.
40178         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
40180         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
40181         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
40183 2012-03-10  Bruno Haible  <bruno@clisp.org>
40185         logf-ieee: Work around test failure on NetBSD 5.1.
40186         * m4/logf-ieee.m4: New file.
40187         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
40188         whether logf works with a negative argument. Replace it if not.
40189         * lib/logf.c (logf): For negative arguments, return NaN.
40190         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
40191         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
40192         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
40194         logf-ieee: Work around test failure on Solaris 9.
40195         * modules/logf-ieee (Depends-on): Add log-ieee.
40196         (configure.ac): Require gl_FUNC_LOGF.
40198         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40199         * m4/log-ieee.m4: New file.
40200         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
40201         log works with a negative argument. Replace it if not.
40202         * lib/log.c (log): For negative arguments, return NaN.
40203         * modules/log-ieee (Files): Add m4/log-ieee.m4.
40204         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
40205         * doc/posix-functions/log.texi: Mention the log-ieee module.
40207         Tests for module 'logl-ieee'.
40208         * modules/logl-ieee-tests: New file.
40209         * tests/test-logl-ieee.c: New file.
40211         New module 'logl-ieee'.
40212         * modules/logl-ieee: New file.
40214         Tests for module 'log-ieee'.
40215         * modules/log-ieee-tests: New file.
40216         * tests/test-log-ieee.c: New file.
40218         New module 'log-ieee'.
40219         * modules/log-ieee: New file.
40221         Tests for module 'logf-ieee'.
40222         * modules/logf-ieee-tests: New file.
40223         * tests/test-logf-ieee.c: New file.
40224         * tests/test-log-ieee.h: New file.
40226         New module 'logf-ieee'.
40227         * modules/logf-ieee: New file.
40229 2012-03-10  Bruno Haible  <bruno@clisp.org>
40231         log: Fix bug introduced on 2012-03-09.
40232         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
40234 2012-03-10  Pádraig Brady  <P@draigBrady.com>
40236         timer-time: link explicitly with pthreads on glibc
40237         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
40238         to support static linking, when newer glibc is
40239         detected, as that contains pthread emulation of
40240         POSIX timer functions where required.
40241         * modules/timer-time: Depend on threadlib to
40242         pull in the appropriate library to link.
40244 2012-03-10  Bruno Haible  <bruno@clisp.org>
40246         log* tests: More tests.
40247         * tests/test-log.h: New file.
40248         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
40249         (main): Invoke test_function.
40250         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
40251         (main): Invoke test_function.
40252         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
40253         (main): Invoke test_function.
40254         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40255         tests/randomd.c.
40256         (Makefile.am): Add randomd.c to test_log_SOURCES.
40257         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40258         tests/randomf.c.
40259         (Makefile.am): Add randomf.c to test_logf_SOURCES.
40260         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40261         tests/randoml.c.
40262         (Depends-on): Add 'float'.
40263         (Makefile.am): Add randoml.c to test_logl_SOURCES.
40265 2012-03-09  Bruno Haible  <bruno@clisp.org>
40267         logl: Work around OSF/1 5.1 bug.
40268         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
40269         * lib/logl.c (logl): If logl exists, use it and provide just the
40270         workaround.
40271         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
40272         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
40273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
40274         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
40275         * modules/logl (configure.ac): Consider REPLACE_LOGL.
40276         (Depends-on): Update conditions.
40277         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
40279 2012-03-09  Bruno Haible  <bruno@clisp.org>
40281         logf: Work around OSF/1 5.1 bug.
40282         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
40283         * lib/logf.c (logf): If logf exists, use it and provide just the
40284         workaround.
40285         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
40286         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
40287         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
40288         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
40289         * modules/logf (configure.ac): Consider REPLACE_LOGF.
40290         (Depends-on): Update conditions.
40291         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
40293 2012-03-09  Bruno Haible  <bruno@clisp.org>
40295         log: Work around OSF/1 5.1 bug.
40296         * lib/math.in.h (log): New declaration.
40297         * lib/log.c: New file.
40298         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
40299         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
40300         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
40301         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
40302         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
40303         * modules/log (Files): Add lib/log.c.
40304         (Depends-on): Add math.
40305         (configure.ac): If REPLACE_LOG is 1, compile an override.
40306         * tests/test-math-c++.cc: Check the declaration of log.
40307         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
40309 2012-03-09  Jim Meyering  <meyering@redhat.com>
40311         readtokens.c: adjust wording in a comment
40312         * lib/readtokens.c: Insert omitted "that" in a comment.
40314 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40316         modechange: add notations +40, 00440, etc.
40317         * lib/modechange.c (mode_compile): Support new notations
40318         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
40320 2012-03-08  Bruno Haible  <bruno@clisp.org>
40322         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
40323         * m4/exp2l-ieee.m4: New file.
40324         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
40325         test whether exp2l works with a NaN argument and with a negative
40326         infinity argument. Replace it if not.
40327         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
40328         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
40329         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
40330         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
40331         (Depends-on): Update conditions.
40332         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
40333         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
40334         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
40336         Tests for module 'exp2l-ieee'.
40337         * modules/exp2l-ieee-tests: New file.
40338         * tests/test-exp2l-ieee.c: New file.
40340         New module 'exp2l-ieee'.
40341         * modules/exp2l-ieee: New file.
40343         Tests for module 'exp2-ieee'.
40344         * modules/exp2-ieee-tests: New file.
40345         * tests/test-exp2-ieee.c: New file.
40347         New module 'exp2-ieee'.
40348         * modules/exp2-ieee: New file.
40350         Tests for module 'exp2f-ieee'.
40351         * modules/exp2f-ieee-tests: New file.
40352         * tests/test-exp2f-ieee.c: New file.
40353         * tests/test-exp2-ieee.h: New file.
40355         New module 'exp2f-ieee'.
40356         * modules/exp2f-ieee: New file.
40358 2012-03-08  Bruno Haible  <bruno@clisp.org>
40360         Tests for module 'exp2l'.
40361         * modules/exp2l-tests: New file.
40362         * tests/test-exp2l.c: New file.
40364         New module 'exp2l'.
40365         * lib/math.in.h (exp2l): New declaration.
40366         * lib/exp2l.c: New file.
40367         * lib/expl-table.c: New file, extracted from lib/expl.c.
40368         * lib/expl.c (gl_expl_table): New declaration.
40369         (expl): Remove expl_table. Update reference.
40370         * m4/exp2l.m4: New file.
40371         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
40372         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
40373         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
40374         * modules/exp2l: New file.
40375         * modules/expl (Files): Add lib/expl-table.c.
40376         (configure.ac): Compile also expl-table.c.
40377         * tests/test-math-c++.cc: Check the declaration of exp2l.
40378         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
40379         problem.
40381 2012-03-08  Bruno Haible  <bruno@clisp.org>
40383         Tests for module 'exp2f'.
40384         * modules/exp2f-tests: New file.
40385         * tests/test-exp2f.c: New file.
40387         New module 'exp2f'.
40388         * lib/math.in.h (exp2f): New declaration.
40389         * lib/exp2f.c: New file.
40390         * m4/exp2f.m4: New file.
40391         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
40392         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
40393         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
40394         * modules/exp2f: New file.
40395         * tests/test-math-c++.cc: Check the declaration of exp2f.
40396         * doc/posix-functions/exp2f.texi: Mention the new module and the
40397         IRIX problem.
40399 2012-03-08  Bruno Haible  <bruno@clisp.org>
40401         Tests for module 'exp2'.
40402         * modules/exp2-tests: New file.
40403         * tests/test-exp2.c: New file.
40404         * tests/test-exp2.h: New file.
40406         New module 'exp2'.
40407         * lib/math.in.h (exp2): New declaration.
40408         * lib/exp2.c: New file.
40409         * m4/exp2.m4: New file.
40410         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
40411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
40412         REPLACE_EXP2.
40413         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
40414         REPLACE_EXP2.
40415         * modules/exp2: New file.
40416         * tests/test-math-c++.cc: Check the declaration of exp2.
40417         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
40418         and OpenBSD problems.
40420 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40422         savedir: fix comment typo
40423         * lib/savedir.c (savedirstream): Fix typo in comment.
40425 2012-03-08  Bruno Haible  <bruno@clisp.org>
40427         test-readtokens.c: use const; remove unwarranted cast
40428         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
40430 2012-03-08  Bruno Haible  <bruno@clisp.org>
40432         fmal: Avoid compilation error on AIX.
40433         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
40434         AIX 5.2..7.1.
40436 2012-03-08  Bruno Haible  <bruno@clisp.org>
40438         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
40439         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
40440         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
40441         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
40442         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
40443         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
40444         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
40446 2012-03-08  Bruno Haible  <bruno@clisp.org>
40448         remainderf: Override buggy system function on IRIX 6.5.
40449         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
40450         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
40451         when it exists.
40452         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
40454 2012-03-08  Jim Meyering  <meyering@redhat.com>
40456         test-readtokens.c: avoid const-related compilation warnings
40457         * tests/test-readtokens.c: Avoid const-related compilation warnings.
40459 2012-03-07  Jim Meyering  <meyering@redhat.com>
40460             Bruno Haible  <bruno@clisp.org>
40462         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
40463         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
40464         tests/randomd.c.
40465         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
40466         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
40467         tests/randoml.c.
40468         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
40470 2012-03-07  Bruno Haible  <bruno@clisp.org>
40472         expm1l: Avoid compilation error on AIX.
40473         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
40474         AIX 5.2..7.1.
40476 2012-03-07  Bruno Haible  <bruno@clisp.org>
40478         expm1l: Don't override undeclared system function on IRIX 6.5.
40479         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
40480         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
40481         it exists. Set HAVE_DECL_EXPM1L.
40482         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
40483         HAVE_EXPM1L.
40484         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
40485         HAVE_EXPM1L.
40486         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
40488 2012-03-07  Bruno Haible  <bruno@clisp.org>
40490         remainderl: Don't override undeclared system function on IRIX 6.5.
40491         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
40492         HAVE_REMAINDERL.
40493         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
40494         declared when it exists. Set HAVE_DECL_REMAINDERL.
40495         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
40496         not HAVE_REMAINDERL.
40497         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
40498         HAVE_REMAINDERL.
40499         * doc/posix-functions/remainderl.texi: Mention missing declaration
40500         problem.
40502 2012-03-07  Bruno Haible  <bruno@clisp.org>
40504         rintf: Don't override undeclared system function on IRIX 6.5.
40505         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
40506         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
40507         exists. Set HAVE_DECL_RINTF.
40508         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
40509         HAVE_RINTF.
40510         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
40511         HAVE_RINTF.
40512         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
40514 2012-03-07  Bruno Haible  <bruno@clisp.org>
40516         roundl: Avoid compilation error on AIX.
40517         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
40518         AIX 5.2..7.1.
40520 2012-03-07  Bruno Haible  <bruno@clisp.org>
40522         roundl: Don't override undeclared system function on IRIX 6.5.
40523         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
40524         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
40525         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
40526         * modules/roundl (configure.ac): For replacement code, test
40527         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
40528         (Depends-on): Update conditions.
40529         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
40531 2012-03-07  Bruno Haible  <bruno@clisp.org>
40533         roundf: Don't override undeclared system function on IRIX 6.5.
40534         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
40535         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
40536         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
40537         * modules/roundf (configure.ac): For replacement code, test
40538         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
40539         (Depends-on): Update conditions.
40540         * modules/roundf-ieee (Depends-on): Update conditions.
40541         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
40543 2012-03-07  Bruno Haible  <bruno@clisp.org>
40545         round: Don't override undeclared system function on IRIX 6.5.
40546         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
40547         argument.
40548         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
40549         also when it is not declared. Set HAVE_ROUND. For replacement code,
40550         test HAVE_ROUND, not HAVE_DECL_ROUND.
40551         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
40552         not HAVE_DECL_ROUND.
40553         (Depends-on): Update conditions.
40554         * modules/round-ieee (Depends-on): Update conditions.
40555         * doc/posix-functions/round.texi: Mention the IRIX problem.
40557 2012-03-07  Bruno Haible  <bruno@clisp.org>
40559         copysignf: Don't override undeclared system function on IRIX 6.5.
40560         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
40561         HAVE_COPYSIGNF.
40562         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
40563         declared when it exists. Set HAVE_DECL_COPYSIGNF.
40564         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
40565         not HAVE_COPYSIGNF.
40566         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
40567         HAVE_COPYSIGNF.
40568         * doc/posix-functions/copysignf.texi: Mention missing declaration
40569         problem.
40571 2012-03-07  Jim Meyering  <meyering@redhat.com>
40573         readtokens: add tests
40574         * modules/readtokens-tests: New file.
40575         * tests/test-readtokens.c: New file.
40577 2012-03-07  Jim Meyering  <meyering@redhat.com>
40579         quotearg: the module must now include quote.h
40580         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
40581         So must the module.
40582         * modules/quotearg (Files): Add quote.h.
40584 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
40586         readtokens: avoid core dumps with unusual calling patterns
40587         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
40588         * lib/readtokens.c: Include limits.h.
40589         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
40590         (readtoken): Don't cache the delimiters; the cache code was buggy
40591         if !delim && saved_delim, or if the new n_delim differs from the old.
40592         Also, it wasn't thread-safe.
40594 2012-03-07  Bruno Haible  <bruno@clisp.org>
40596         quote: Adhere to common module description layout.
40597         * modules/quote (Makefile.am): Add back empty section.
40599 2012-03-06  Akim Demaille  <demaille@gostai.com>
40601         quote: fuse into quotearg
40602         This patch is made for the benefit of Bison.
40603         quote does not leave the choice of the quoting style to the user.
40604         quoting_style provides poor customizability, yet quoting_options,
40605         which is very rich, is hidden inside quotearg.c.  So in order to
40606         allow quote customization, move its implementation to quotearg.c.
40607         * lib/quote.c: Remove.
40608         * modules/quote: Adjust.
40609         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
40610         warning: provide all the members of literal structs.
40611         (quote_quoting_options): New.
40612         (quote, quote_n): Import implementation from quote.c.
40613         * lib/quote.h: Import the comments from quote.c.
40614         (quote_quoting_options): New.
40616 2012-03-06  Bruno Haible  <bruno@clisp.org>
40618         Tests for module 'expm1l-ieee'.
40619         * modules/expm1l-ieee-tests: New file.
40620         * tests/test-expm1l-ieee.c: New file.
40622         New module 'expm1l-ieee'.
40623         * modules/expm1l-ieee: New file.
40625         Tests for module 'expm1f-ieee'.
40626         * modules/expm1f-ieee-tests: New file.
40627         * tests/test-expm1f-ieee.c: New file.
40629         New module 'expm1f-ieee'.
40630         * modules/expm1f-ieee: New file.
40632         Tests for module 'expm1-ieee'.
40633         * modules/expm1-ieee-tests: New file.
40634         * tests/test-expm1-ieee.c: New file.
40635         * tests/test-expm1-ieee.h: New file.
40637         New module 'expm1-ieee'.
40638         * modules/expm1-ieee: New file.
40639         * m4/expm1-ieee.m4: New file.
40640         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
40641         whether expm1 works with a minus zero argument. Replace it if not.
40642         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
40643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
40644         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
40645         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
40646         (Depends-on): Update conditions.
40647         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
40648         AIX problem.
40650 2012-03-06  Bruno Haible  <bruno@clisp.org>
40652         Work around expm1f bug on IRIX 6.5.
40653         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
40654         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
40655         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
40656         not work.
40657         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
40658         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
40659         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
40660         (Depends-on): Update conditions.
40661         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
40663 2012-03-06  Bruno Haible  <bruno@clisp.org>
40665         Tests for module 'expm1l'.
40666         * modules/expm1l-tests: New file.
40667         * tests/test-expm1l.c: New file.
40669         New module 'expm1l'.
40670         * lib/math.in.h (expm1l): New declaration.
40671         * lib/expm1l.c: New file.
40672         * m4/expm1l.m4: New file.
40673         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
40674         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
40675         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
40676         * modules/expm1l: New file.
40677         * tests/test-math-c++.cc: Check the declaration of expm1l.
40678         * doc/posix-functions/expm1l.texi: Mention the new module.
40680 2012-03-06  Bruno Haible  <bruno@clisp.org>
40682         Tests for module 'expm1f'.
40683         * modules/expm1f-tests: New file.
40684         * tests/test-expm1f.c: New file.
40686         New module 'expm1f'.
40687         * lib/math.in.h (expm1f): New declaration.
40688         * lib/expm1f.c: New file.
40689         * m4/expm1f.m4: New file.
40690         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
40691         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
40692         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
40693         * modules/expm1f: New file.
40694         * tests/test-math-c++.cc: Check the declaration of expm1f.
40695         * doc/posix-functions/expm1f.texi: Mention the new module.
40697 2012-03-06  Bruno Haible  <bruno@clisp.org>
40699         Tests for module 'expm1'.
40700         * modules/expm1-tests: New file.
40701         * tests/test-expm1.c: New file.
40702         * tests/test-expm1.h: New file.
40704         New module 'expm1'.
40705         * lib/math.in.h (expm1): New declaration.
40706         * lib/expm1.c: New file.
40707         * m4/expm1.m4: New file.
40708         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
40709         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
40710         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
40711         * modules/expm1: New file.
40712         * tests/test-math-c++.cc: Check the declaration of expm1.
40713         * doc/posix-functions/expm1.texi: Mention the new module.
40715 2012-03-06  Bruno Haible  <bruno@clisp.org>
40717         math: Ensure declarations of math functions.
40718         * modules/acosf (Depends-on): Add 'extensions'.
40719         * modules/asinf (Depends-on): Likewise.
40720         * modules/atan2f (Depends-on): Likewise.
40721         * modules/atanf (Depends-on): Likewise.
40722         * modules/cbrt (Depends-on): Likewise.
40723         * modules/cbrtf (Depends-on): Likewise.
40724         * modules/cbrtl (Depends-on): Likewise.
40725         * modules/copysignf (Depends-on): Likewise.
40726         * modules/copysignl (Depends-on): Likewise.
40727         * modules/cosf (Depends-on): Likewise.
40728         * modules/coshf (Depends-on): Likewise.
40729         * modules/expf (Depends-on): Likewise.
40730         * modules/fabsf (Depends-on): Likewise.
40731         * modules/fabsl (Depends-on): Likewise.
40732         * modules/fmaf (Depends-on): Likewise.
40733         * modules/fmal (Depends-on): Likewise.
40734         * modules/fmodf (Depends-on): Likewise.
40735         * modules/fmodl (Depends-on): Likewise.
40736         * modules/frexpf (Depends-on): Likewise.
40737         * modules/frexpl (Depends-on): Likewise.
40738         * modules/hypot (Depends-on): Likewise.
40739         * modules/hypotf (Depends-on): Likewise.
40740         * modules/hypotl (Depends-on): Likewise.
40741         * modules/ldexpf (Depends-on): Likewise.
40742         * modules/ldexpl (Depends-on): Likewise.
40743         * modules/log10f (Depends-on): Likewise.
40744         * modules/log10l (Depends-on): Likewise.
40745         * modules/log1p (Depends-on): Likewise.
40746         * modules/logb (Depends-on): Likewise.
40747         * modules/logf (Depends-on): Likewise.
40748         * modules/modff (Depends-on): Likewise.
40749         * modules/modfl (Depends-on): Likewise.
40750         * modules/powf (Depends-on): Likewise.
40751         * modules/remainderf (Depends-on): Likewise.
40752         * modules/remainderl (Depends-on): Likewise.
40753         * modules/rintf (Depends-on): Likewise.
40754         * modules/rintl (Depends-on): Likewise.
40755         * modules/sinf (Depends-on): Likewise.
40756         * modules/sinhf (Depends-on): Likewise.
40757         * modules/sqrtf (Depends-on): Likewise.
40758         * modules/tanf (Depends-on): Likewise.
40759         * modules/tanhf (Depends-on): Likewise.
40760         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
40761         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
40762         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
40763         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
40764         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
40765         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
40766         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
40767         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
40768         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
40769         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
40770         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
40771         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
40772         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
40773         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
40774         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
40775         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
40776         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
40777         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
40778         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
40779         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
40780         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
40781         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
40782         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
40783         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
40784         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
40785         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
40786         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
40787         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
40788         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
40789         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
40790         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
40791         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
40792         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
40793         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
40794         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
40795         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
40796         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
40797         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
40798         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
40799         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
40800         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
40802 2012-03-06  Bruno Haible  <bruno@clisp.org>
40804         math: Update module names in warnings.
40805         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
40806         tanl): Use specific module name in warn-on-use warning.
40808 2012-03-06  Bruno Haible  <bruno@clisp.org>
40810         expl: Simplify computation.
40811         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
40813 2012-03-05  Bruno Haible  <bruno@clisp.org>
40815         exp* tests: More tests.
40816         * tests/test-exp.h: New file.
40817         * tests/test-exp.c: Include <float.h> and test-exp.h.
40818         (main): Invoke test_function.
40819         * tests/test-expf.c: Include <float.h> and test-exp.h.
40820         (main): Invoke test_function.
40821         * tests/test-expl.c: Include <float.h> and test-exp.h.
40822         (main): Invoke test_function.
40823         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
40824         (Makefile.am): Add randomd.c to test_exp_SOURCES.
40825         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
40826         (Makefile.am): Add randomf.c to test_expf_SOURCES.
40827         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
40828         (Depends-on): Add 'float'.
40829         (Makefile.am): Add randoml.c to test_expl_SOURCES.
40831         expl: Fix precision of computed result.
40832         * lib/expl.c: Completely rewritten.
40833         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
40834         (Maintainer): Add me.
40835         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
40837 2012-03-05  Bruno Haible  <bruno@clisp.org>
40839         cbrt* tests: More tests.
40840         * tests/test-cbrt.h: New file.
40841         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
40842         (main): Invoke test_function.
40843         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
40844         (main): Invoke test_function.
40845         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
40846         (main): Invoke test_function.
40847         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
40848         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
40849         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
40850         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
40851         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
40852         (Depends-on): Add 'float'.
40853         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
40855 2012-03-05  Bruno Haible  <bruno@clisp.org>
40857         hypot* tests: More tests.
40858         * tests/test-hypot.h: New file, partially extracted from
40859         tests/test-hypotl.c.
40860         * tests/test-hypot.c: Include test-hypot.h.
40861         (main): Invoke test_function.
40862         * tests/test-hypotf.c: Include test-hypot.h.
40863         (main): Invoke test_function.
40864         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
40865         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
40866         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
40867         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
40868         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
40869         tests/randomf.c.
40870         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
40871         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
40872         tests/randoml.c.
40873         (Depends-on): Add 'fpucw', 'float'.
40874         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
40876 2012-03-05  Bruno Haible  <bruno@clisp.org>
40878         fpucw: Doc about FreeBSD.
40879         * lib/fpucw.h: Mention FreeBSD in comments.
40881 2012-03-04  Bruno Haible  <bruno@clisp.org>
40883         sqrt* tests: More tests.
40884         * tests/test-sqrt.h: New file.
40885         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
40886         (main): Invoke test_function.
40887         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
40888         (main): Invoke test_function.
40889         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
40890         (main): Invoke test_function.
40891         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
40892         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
40893         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
40894         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
40895         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
40896         (Depends-on): Add 'float'.
40897         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
40899 2012-03-04  Bruno Haible  <bruno@clisp.org>
40901         remainder* tests: More tests.
40902         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
40903         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
40904         (main): Invoke test_function.
40905         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
40906         (main): Invoke test_function.
40907         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
40908         (main): Invoke test_function.
40909         * modules/remainder-tests (Files): Add tests/test-remainder.h,
40910         tests/randomd.c.
40911         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
40912         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
40913         tests/randomf.c.
40914         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
40915         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
40916         tests/randoml.c.
40917         (Depends-on): Add 'float'.
40918         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
40920 2012-03-04  Bruno Haible  <bruno@clisp.org>
40922         remainder, remainderf, remainderl: Fix computation for large quotients.
40923         * lib/remainder.c: Completely rewritten.
40924         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
40925         USE_FLOAT.
40926         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
40927         USE_LONG_DOUBLE.
40928         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
40929         isnand, isinf. Remove round, fma.
40930         * modules/remainderf (Files): Add lib/remainder.c.
40931         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
40932         Remove roundf, fmaf.
40933         * modules/remainderl (Files): Add lib/remainder.c.
40934         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
40935         isinf. Remove roundl, fmal.
40936         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
40937         REMAINDER_LIBM.
40938         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
40939         REMAINDERF_LIBM.
40940         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
40941         REMAINDERL_LIBM.
40943 2012-03-04  Bruno Haible  <bruno@clisp.org>
40945         fmod* tests: More tests.
40946         * tests/test-fmod.h (my_ldexp): New function.
40947         (test_function): Reduce amount of random numbers to test. Add tests
40948         of very large quotients x / y.
40949         * tests/test-fmod.c (MAX_EXP): New macro.
40950         * tests/test-fmodf.c (MAX_EXP): Likewise.
40951         * tests/test-fmodl.c (MAX_EXP): Likewise.
40953 2012-03-04  Bruno Haible  <bruno@clisp.org>
40955         fmod, fmodl: Fix computation for large quotients x / y.
40956         * lib/fmod.c: Completely rewritten.
40957         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
40958         USE_LONG_DOUBLE.
40959         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
40960         isnand. Remove fma.
40961         * modules/fmodl (Files): Add lib/fmod.c.
40962         (Depends-on): Add float, isfinite, signbit, fabsl,
40963         frexpl, ldexpl, isnanl. Remove fma.
40964         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
40965         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
40967 2012-03-03  Bruno Haible  <bruno@clisp.org>
40969         fmod* tests: More tests.
40970         * tests/test-fmod.h: New file.
40971         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
40972         (main): Invoke test_function.
40973         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
40974         (main): Invoke test_function.
40975         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
40976         (main): Invoke test_function.
40977         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
40978         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
40979         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
40980         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
40981         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
40982         (Depends-on): Add 'float'.
40983         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
40985 2012-03-03  Bruno Haible  <bruno@clisp.org>
40987         rint* tests: More tests.
40988         * tests/test-rint.h: New file, partially extracted from
40989         tests/test-rintl.c.
40990         * tests/test-rint.c: Include test-rint.h.
40991         (main): Invoke test_function.
40992         * tests/test-rintf.c: Include test-rint.h.
40993         (main): Invoke test_function.
40994         * tests/test-rintl.c: Include test-rint.h.
40995         (main): Invoke test_function.
40996         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
40997         (Makefile.am): Add randomd.c to test_rint_SOURCES.
40998         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
40999         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
41000         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
41001         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
41003 2012-03-03  Bruno Haible  <bruno@clisp.org>
41005         modf* tests: More tests.
41006         * tests/test-modf.h: New file.
41007         * tests/test-modf.c: Include <float.h> and test-modf.h.
41008         (main): Invoke test_function.
41009         * tests/test-modff.c: Include <float.h> and test-modf.h.
41010         (main): Invoke test_function.
41011         * tests/test-modfl.c: Include <float.h> and test-modf.h.
41012         (main): Invoke test_function.
41013         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
41014         (Makefile.am): Add randomd.c to test_modf_SOURCES.
41015         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
41016         (Makefile.am): Add randomf.c to test_modff_SOURCES.
41017         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
41018         (Depends-on): Add 'float'.
41019         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
41021 2012-03-03  Bruno Haible  <bruno@clisp.org>
41023         fabs* tests: More tests.
41024         * tests/test-fabs.h: New file, partially extracted from
41025         tests/test-fabsl.c.
41026         * tests/test-fabs.c (RANDOM): New macro.
41027         * tests/test-fabsf.c (RANDOM): New macro.
41028         * tests/test-fabsl.c (RANDOM): New macro.
41029         * modules/fabs-tests (Files): Add tests/randomd.c.
41030         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
41031         * modules/fabsf-tests (Files): Add tests/randomf.c.
41032         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
41033         * modules/fabsl-tests (Files): Add tests/randoml.c.
41034         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
41036 2012-03-03  Bruno Haible  <bruno@clisp.org>
41038         ldexp* tests: More tests.
41039         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
41040         * tests/test-ldexp.c (RANDOM): New macro.
41041         * tests/test-ldexpf.c (RANDOM): New macro.
41042         * tests/test-ldexpl.c (RANDOM): New macro.
41043         * modules/ldexp-tests (Files): Add tests/randomd.c.
41044         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
41045         * modules/ldexpf-tests (Files): Add tests/randomf.c.
41046         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
41047         * modules/ldexpl-tests (Files): Add tests/randoml.c.
41048         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
41050 2012-03-03  Bruno Haible  <bruno@clisp.org>
41052         frexp* tests: More tests.
41053         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
41054         * tests/test-frexp.c (RANDOM): New macro.
41055         * tests/test-frexpf.c (RANDOM): New macro.
41056         * tests/test-frexpl.c (RANDOM): New macro.
41057         * modules/frexp-tests (Files): Add tests/randomd.c.
41058         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
41059         * modules/frexpf-tests (Files): Add tests/randomf.c.
41060         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
41061         * modules/frexpl-tests (Files): Add tests/randoml.c.
41062         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
41064 2012-03-03  Bruno Haible  <bruno@clisp.org>
41066         Support for pseudo-random numbers in tests.
41067         * tests/randomf.c: New file.
41068         * tests/randomd.c: New file.
41069         * tests/randoml.c: New file.
41070         * tests/macros.h (randomf, randomd, randoml): New declarations.
41072 2012-03-03  Bruno Haible  <bruno@clisp.org>
41074         frexp* tests: Refactor.
41075         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
41076         * tests/test-frexp.c: Include and use it.
41077         * tests/test-frexpf.c: Likewise.
41078         * tests/test-frexpl.c: Likewise.
41079         * modules/frexp-tests (Files): Add tests/test-frexp.h.
41080         * modules/frexpf-tests (Files): Likewise.
41081         * modules/frexpl-tests (Files): Likewise.
41083 2012-03-02  Jim Meyering  <meyering@redhat.com>
41085         maint: don't specify XZ_OPT=-9ev in dist-related rule
41086         Using xz's -9 option is warranted only if you have a very large
41087         tarball (see xz's documentation for the sizes vs. presets), and
41088         requires 64MiB of memory at decompression time.
41089         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
41090         Automake's default of just "-e" is fine.  Override on a
41091         per-package basis by setting XZ_OPT e.g., in cfg.mk.
41093 2012-03-01  Eric Blake  <eblake@redhat.com>
41095         maint.mk: allow announcement for non-gnulib project
41096         * maint.mk (announcement): Skip gnulib version if not used.
41098 2012-03-01  Jim Meyering  <meyering@redhat.com>
41100         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
41101         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
41102         envvar settings cannot interfere.  Otherwise, setting envvars like
41103         prohibit=foo require=bar, etc. would cause spurious test failures.
41105 2012-03-01  Eric Blake  <eblake@redhat.com>
41107         maint.mk: add per-line exclusions to prohibitions
41108         * maint.mk (_sc_search_regexp): Add $exclude parameter.
41109         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
41110         (sc_const_long_option): Use it.
41112 2012-03-01  Bruno Haible  <bruno@clisp.org>
41114         Tests for module 'expl-ieee'.
41115         * modules/expl-ieee-tests: New file.
41116         * tests/test-expl-ieee.c: New file.
41118         New module 'expl-ieee'.
41119         * modules/expl-ieee: New file.
41121         Tests for module 'exp-ieee'.
41122         * modules/exp-ieee-tests: New file.
41123         * tests/test-exp-ieee.c: New file.
41125         New module 'exp-ieee'.
41126         * modules/exp-ieee: New file.
41128         Tests for module 'expf-ieee'.
41129         * modules/expf-ieee-tests: New file.
41130         * tests/test-expf-ieee.c: New file.
41131         * tests/test-exp-ieee.h: New file.
41133         New module 'expf-ieee'.
41134         * modules/expf-ieee: New file.
41136 2012-02-29  Bruno Haible  <bruno@clisp.org>
41138         cbrtl-ieee: Work around test failure on IRIX 6.5.
41139         * m4/cbrtl-ieee.m4: New file.
41140         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
41141         test whether cbrtl works with a minus zero argument. Replace it if not.
41142         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
41143         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
41144         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
41145         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
41146         (Depends-on): Update conditions.
41147         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
41148         m4/signbit.m4.
41149         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
41150         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
41151         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
41153         Tests for module 'cbrtl-ieee'.
41154         * modules/cbrtl-ieee-tests: New file.
41155         * tests/test-cbrtl-ieee.c: New file.
41157         New module 'cbrtl-ieee'.
41158         * modules/cbrtl-ieee: New file.
41160         Tests for module 'cbrt-ieee'.
41161         * modules/cbrt-ieee-tests: New file.
41162         * tests/test-cbrt-ieee.c: New file.
41164         New module 'cbrt-ieee'.
41165         * modules/cbrt-ieee: New file.
41167         Tests for module 'cbrtf-ieee'.
41168         * modules/cbrtf-ieee-tests: New file.
41169         * tests/test-cbrtf-ieee.c: New file.
41170         * tests/test-cbrt-ieee.h: New file.
41172         New module 'cbrtf-ieee'.
41173         * modules/cbrtf-ieee: New file.
41175 2012-02-29  Bruno Haible  <bruno@clisp.org>
41177         cbrtf: Work around bug in IRIX 6.5 system function.
41178         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
41179         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
41180         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
41181         work.
41182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
41183         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
41184         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
41185         (Depends-on): Update conditions.
41186         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
41188 2012-02-29  Bruno Haible  <bruno@clisp.org>
41190         Tests for module 'cbrtl'.
41191         * modules/cbrtl-tests: New file.
41192         * tests/test-cbrtl.c: New file.
41194         New module 'cbrtl'.
41195         * lib/math.in.h (cbrtl): New declaration.
41196         * lib/cbrtl.c: New file.
41197         * m4/cbrtl.m4: New file.
41198         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
41199         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
41200         HAVE_DECL_CBRTL.
41201         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
41202         HAVE_DECL_CBRTL.
41203         * modules/cbrtl: New file.
41204         * tests/test-math-c++.cc: Check the declaration of cbrtl.
41205         * doc/posix-functions/cbrtl.texi: Mention the new module.
41207 2012-02-29  Bruno Haible  <bruno@clisp.org>
41209         Tests for module 'cbrtf'.
41210         * modules/cbrtf-tests: New file.
41211         * tests/test-cbrtf.c: New file.
41213         New module 'cbrtf'.
41214         * lib/math.in.h (cbrtf): New declaration.
41215         * lib/cbrtf.c: New file.
41216         * m4/cbrtf.m4: New file.
41217         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
41218         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
41219         HAVE_DECL_CBRTF.
41220         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
41221         HAVE_DECL_CBRTF.
41222         * modules/cbrtf: New file.
41223         * tests/test-math-c++.cc: Check the declaration of cbrtf.
41224         * doc/posix-functions/cbrtf.texi: Mention the new module.
41226 2012-02-29  Bruno Haible  <bruno@clisp.org>
41228         cbrt: Provide replacement on MSVC and Minix.
41229         * lib/math.in.h (cbrt): New declaration.
41230         * lib/cbrt.c: New file.
41231         * m4/cbrt.m4: New file.
41232         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
41233         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
41234         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
41235         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
41236         (Depends-on): Add dependencies.
41237         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
41238         * tests/test-math-c++.cc: Check the declaration of cbrt.
41239         * doc/posix-functions/cbrt.texi: Mention that the module provides a
41240         replacement.
41242 2012-02-29  Bruno Haible  <bruno@clisp.org>
41244         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
41245         * m4/hypotl-ieee.m4: New file.
41246         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
41247         test whether hypotl works with mixed NaN and Infinity arguments.
41248         Replace it if not.
41249         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
41250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
41251         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
41252         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
41253         (Depends-on): Update conditions.
41254         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
41255         (Depends-on): Add hypot-ieee.
41256         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
41257         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
41259         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
41260         * m4/hypotf-ieee.m4: New file.
41261         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
41262         test whether hypotf works with mixed NaN and Infinity arguments.
41263         Replace it if not.
41264         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
41265         (Depends-on): Add hypot-ieee.
41266         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
41267         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
41269         hypot-ieee: Work around test failure on OSF/1 and native Windows.
41270         * lib/math.in.h (hypot): New declaration.
41271         * lib/hypot.c: New file.
41272         * m4/hypot-ieee.m4: New file.
41273         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
41274         whether hypot works with mixed NaN and Infinity arguments. Replace it
41275         if not.
41276         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
41277         REPLACE_HYPOT.
41278         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
41279         * modules/hypot (Files): Add lib/hypot.c.
41280         (Depends-on): Add dependencies.
41281         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
41282         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
41283         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
41284         * tests/test-math-c++.cc: Check the declaration of hypot.
41285         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
41287         Tests for module 'hypotl-ieee'.
41288         * modules/hypotl-ieee-tests: New file.
41289         * tests/test-hypotl-ieee.c: New file.
41291         New module 'hypotl-ieee'.
41292         * modules/hypotl-ieee: New file.
41294         Tests for module 'hypot-ieee'.
41295         * modules/hypot-ieee-tests: New file.
41296         * tests/test-hypot-ieee.c: New file.
41298         New module 'hypot-ieee'.
41299         * modules/hypot-ieee: New file.
41301         Tests for module 'hypotf-ieee'.
41302         * modules/hypotf-ieee-tests: New file.
41303         * tests/test-hypotf-ieee.c: New file.
41304         * tests/test-hypot-ieee.h: New file.
41306         New module 'hypotf-ieee'.
41307         * modules/hypotf-ieee: New file.
41309 2012-02-29  Bruno Haible  <bruno@clisp.org>
41311         Remove unused variables.
41312         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
41313         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41314         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
41315         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41317 2012-02-29  Eric Blake  <eblake@redhat.com>
41319         termios: fix pid_t always, not just for tcgetsid
41320         * doc/posix-headers/termios.texi (termios.h): Mention problem.
41321         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
41322         just when building tcgetsid.
41324 2012-02-29  Bruno Haible  <bruno@clisp.org>
41326         Tests for module 'hypotl'.
41327         * modules/hypotl-tests: New file.
41328         * tests/test-hypotl.c: New file.
41330         New module 'hypotl'.
41331         * lib/math.in.h (hypotl): New declaration.
41332         * lib/hypotl.c: New file.
41333         * m4/hypotl.m4: New file.
41334         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
41335         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
41336         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
41337         * modules/hypotl: New file.
41338         * tests/test-math-c++.cc: Check the hypotl declaration.
41339         * doc/posix-functions/hypotl.texi: Mention the new module.
41341 2012-02-29  Eric Blake  <eblake@redhat.com>
41343         tcgetsid: fix cygwin header bug
41344         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
41346         docs: update cygwin progress
41347         * doc/posix-functions/llround.texi (llround): Added in cygwin
41348         1.7.8.
41349         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
41350         * doc/glibc-functions/program_invocation_name.texi
41351         (program_invocation_name): Likewise.
41352         * doc/glibc-functions/program_invocation_short_name.texi
41353         (program_invocation_short_name): Likewise.
41354         * doc/glibc-functions/madvise.texi (madvise): Likewise.
41355         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
41356         Likewise.
41357         * doc/posix-functions/pthread_spin_destroy.texi
41358         (pthread_spin_destroy): Added in cygwin 1.7.10.
41359         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
41360         Likewise.
41361         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
41362         Likewise.
41363         * doc/posix-functions/pthread_spin_trylock.texi
41364         (pthread_spin_trylock): Likewise.
41365         * doc/posix-functions/pthread_spin_unlock.texi
41366         (pthread_spin_unlock): Likewise.
41367         * doc/posix-functions/pthread_setschedprio.texi
41368         (pthread_setschedprio): Likewise.
41369         * doc/posix-functions/pthread_attr_getstack.texi
41370         (pthread_attr_getstack): Likewise.
41371         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
41372         (pthread_attr_getstackaddr): Likewise.
41373         * doc/glibc-functions/pthread_getattr_np.texi
41374         (pthread_getattr_np): Likewise.
41375         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
41376         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
41377         * doc/posix-functions/clock_settime.texi (clock_settime):
41378         Likewise.
41379         * doc/posix-functions/pthread_attr_getguardsize.texi
41380         (pthread_attr_getguardsize): Likewise.
41381         * doc/posix-functions/pthread_attr_setguardsize.texi
41382         (pthread_attr_setguardsize): Likewise.
41383         * doc/posix-functions/pthread_attr_setstack.texi
41384         (pthread_attr_setstack): Likewise.
41385         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
41386         (pthread_attr_setstackaddr): Likewise.
41387         * doc/posix-functions/clock_getcpuclockid.texi
41388         (clock_getcpuclockid): Likewise.
41389         * doc/posix-functions/pthread_getcpuclockid.texi
41390         (pthread_getcpuclockid): Likewise.
41391         * doc/glibc-functions/error.texi (error): Likewise.
41392         * doc/glibc-functions/error_at_line.texi (error_at_line):
41393         Likewise.
41394         * doc/glibc-functions/error_message_count.texi
41395         (error_message_count): Likewise.
41396         * doc/glibc-functions/error_one_per_line.texi
41397         (error_one_per_line): Likewise.
41398         * doc/glibc-functions/error_print_progname.texi
41399         (error_print_progname): Likewise.
41400         * doc/posix-functions/pthread_condattr_getclock.texi
41401         (pthread_condattr_getclock): Likewise.
41402         * doc/posix-functions/pthread_condattr_setclock.texi
41403         (pthread_condattr_setclock): Likewise.
41404         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
41405         Likewise.
41406         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
41407         * doc/glibc-functions/getpt.texi (getpt): Likewise.
41408         * doc/glibc-functions/get_current_dir_name.texi
41409         (get_current_dir_name): Likewise.
41410         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
41411         Likewise.
41412         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
41413         wrong return type.
41414         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
41415         1.7.11.
41417 2012-02-29  Bruno Haible  <bruno@clisp.org>
41419         Tests for module 'hypotf'.
41420         * modules/hypotf-tests: New file.
41421         * tests/test-hypotf.c: New file.
41423         New module 'hypotf'.
41424         * lib/math.in.h (hypotf): New declaration.
41425         * lib/hypotf.c: New file.
41426         * m4/hypotf.m4: New file.
41427         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
41428         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
41429         REPLACE_HYPOTF.
41430         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
41431         REPLACE_HYPOTF.
41432         * modules/hypotf: New file.
41433         * tests/test-math-c++.cc: Check the hypotf declaration.
41434         * doc/posix-functions/hypotf.texi: Mention the new module.
41436         hypot: Prepare for hypotf module.
41437         * m4/hypot.m4: New file.
41438         * modules/hypot (Files): Add m4/hypot.m4.
41439         (configure.ac): Invoke gl_FUNC_HYPOT.
41441 2012-02-29  Bruno Haible  <bruno@clisp.org>
41443         hypot tests: More tests.
41444         * tests/test-hypot.c: Include <float.h>.
41445         (main): Add tests about overflow and underflow.
41447 2012-02-29  Bruno Haible  <bruno@clisp.org>
41449         math code: Add comments.
41450         * lib/acosl.c: Add comment about related glibc source files.
41451         * lib/asinl.c: Likewise.
41452         * lib/atanl.c: Likewise.
41453         * lib/expl.c: Likewise.
41454         * lib/logl.c: Likewise.
41455         * lib/sincosl.c: Likewise.
41456         * lib/sinl.c: Likewise.
41457         * lib/tanl.c: Likewise.
41458         * lib/trigl.c: Likewise.
41459         * lib/cosl.c: Likewise. Fix comments.
41461 2012-02-28  Bruno Haible  <bruno@clisp.org>
41463         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
41464         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
41465         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
41466         HUGE_VALL are defined.
41467         (numeric_equald): Renamed from numeric_equal.
41468         (numeric_equalf, numeric_equall): New functions.
41469         (main): Check also HUGE_VALF, HUGE_VALL.
41470         * modules/math-tests (Files): Add tests/macros.h.
41471         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
41472         HUGE_VALL.
41474 2012-02-28  Bruno Haible  <bruno@clisp.org>
41476         doc: Move ISO C11 feature notes into POSIX chapters.
41477         * doc/posix-functions/aligned_alloc.texi: Renamed from
41478         doc/glibc-functions/aligned_alloc.texi.
41479         * doc/posix-functions/quick_exit.texi: Renamed from
41480         doc/glibc-functions/quick_exit.texi.
41481         * doc/posix-headers/uchar.texi: Renamed from
41482         doc/glibc-headers/uchar.texi.
41483         * doc/posix-functions/c16rtomb.texi: Renamed from
41484         doc/glibc-functions/c16rtomb.texi.
41485         * doc/posix-functions/c32rtomb.texi: Renamed from
41486         doc/glibc-functions/c32rtomb.texi.
41487         * doc/posix-functions/mbrtoc16.texi: Renamed from
41488         doc/glibc-functions/mbrtoc16.texi.
41489         * doc/posix-functions/mbrtoc32.texi: Renamed from
41490         doc/glibc-functions/mbrtoc32.texi.
41491         * doc/gnulib.texi: Update.
41492         (Glibc uchar.h): Remove section.
41493         Suggested by Eric Blake.
41495 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
41497         stdnoreturn: port to MSVC better
41498         MSVC standard headers use __declspec(noreturn), so #define noreturn
41499         to empty on that platform.  Reported by Bruno Haible in
41500         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
41501         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
41502         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
41504 2012-02-28  Bruno Haible  <bruno@clisp.org>
41506         doc: Mention new glibc headers and functions.
41507         * doc/glibc-headers/uchar.texi: New file.
41508         * doc/glibc-functions/aligned_alloc.texi: New file.
41509         * doc/glibc-functions/c16rtomb.texi: New file.
41510         * doc/glibc-functions/c32rtomb.texi: New file.
41511         * doc/glibc-functions/clock_adjtime.texi: New file.
41512         * doc/glibc-functions/fanotify_init.texi: New file.
41513         * doc/glibc-functions/fanotify_mark.texi: New file.
41514         * doc/glibc-functions/inet6_opt_append.texi: New file.
41515         * doc/glibc-functions/inet6_opt_find.texi: New file.
41516         * doc/glibc-functions/inet6_opt_finish.texi: New file.
41517         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
41518         * doc/glibc-functions/inet6_opt_init.texi: New file.
41519         * doc/glibc-functions/inet6_opt_next.texi: New file.
41520         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
41521         * doc/glibc-functions/inet6_rth_add.texi: New file.
41522         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
41523         * doc/glibc-functions/inet6_rth_init.texi: New file.
41524         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
41525         * doc/glibc-functions/inet6_rth_segments.texi: New file.
41526         * doc/glibc-functions/inet6_rth_space.texi: New file.
41527         * doc/glibc-functions/login.texi: New file.
41528         * doc/glibc-functions/mbrtoc16.texi: New file.
41529         * doc/glibc-functions/mbrtoc32.texi: New file.
41530         * doc/glibc-functions/name_to_handle_at.texi: New file.
41531         * doc/glibc-functions/ntp_gettimex.texi: New file.
41532         * doc/glibc-functions/open_by_handle_at.texi: New file.
41533         * doc/glibc-functions/prlimit.texi: New file.
41534         * doc/glibc-functions/process_vm_readv.texi: New file.
41535         * doc/glibc-functions/process_vm_writev.texi: New file.
41536         * doc/glibc-functions/recvmmsg.texi: New file.
41537         * doc/glibc-functions/scandirat.texi: New file.
41538         * doc/glibc-functions/sendmmsg.texi: New file.
41539         * doc/glibc-functions/setns.texi: New file.
41540         * doc/glibc-functions/timespec_get.texi: New file.
41541         * doc/gnulib.texi: Include them.
41542         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
41543         sections.
41544         Reported by Eric Blake.
41546 2012-02-28  Bruno Haible  <bruno@clisp.org>
41548         Avoid compilation errors with MSVC option -fp:strict.
41549         * lib/floor.c: Use MSVC specific pragma fenv_access.
41550         * lib/ceil.c: Likewise.
41551         * lib/trunc.c: Likewise.
41552         * lib/round.c: Likewise.
41553         * lib/rint.c: Likewise.
41554         * lib/fma.c: Likewise.
41555         * lib/integer_length.c: Likewise.
41556         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41557         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41558         * tests/test-floor2.c: Likewise.
41559         * tests/test-floorf2.c: Likewise.
41560         * tests/test-ceil2.c: Likewise.
41561         * tests/test-ceilf2.c: Likewise.
41562         * tests/test-trunc2.c: Likewise.
41563         * tests/test-truncf2.c: Likewise.
41564         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
41566 2012-02-27  Bruno Haible  <bruno@clisp.org>
41568         Tests for module 'sqrtl-ieee'.
41569         * modules/sqrtl-ieee-tests: New file.
41570         * tests/test-sqrtl-ieee.c: New file.
41572         New module 'sqrtl-ieee'.
41573         * modules/sqrtl-ieee: New file.
41575         Tests for module 'sqrt-ieee'.
41576         * modules/sqrt-ieee-tests: New file.
41577         * tests/test-sqrt-ieee.c: New file.
41579         New module 'sqrt-ieee'.
41580         * modules/sqrt-ieee: New file.
41582         Tests for module 'sqrtf-ieee'.
41583         * modules/sqrtf-ieee-tests: New file.
41584         * tests/test-sqrtf-ieee.c: New file.
41585         * tests/test-sqrt-ieee.h: New file.
41587         New module 'sqrtf-ieee'.
41588         * modules/sqrtf-ieee: New file.
41590 2012-02-27  Bruno Haible  <bruno@clisp.org>
41592         remainderl-ieee: Work around test failure on OSF/1.
41593         * m4/remainderl-ieee.m4: New file.
41594         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
41595         present, test whether remainderl works with a zero second argument.
41596         Replace it if not.
41597         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
41598         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
41599         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
41600         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
41601         (Depends-on): Update conditions.
41602         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
41603         (Depends-on): Add remainder-ieee.
41604         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
41605         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
41606         module.
41608         remainderf-ieee: Work around test failure on OSF/1.
41609         * m4/remainderf-ieee.m4: New file.
41610         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
41611         present, test whether remainderf works with a zero second argument.
41612         Replace it if not.
41613         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
41614         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
41615         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
41616         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
41617         (Depends-on): Update conditions.
41618         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
41619         (Depends-on): Add remainder-ieee.
41620         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
41621         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
41622         module.
41624         remainder-ieee: Work around test failure on OSF/1.
41625         * m4/remainder-ieee.m4: New file.
41626         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
41627         present, test whether remainder works with a zero second argument.
41628         Replace it if not.
41629         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
41630         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
41631         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
41632         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
41633         (Depends-on): Update dependencies.
41634         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
41635         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
41636         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
41638         Tests for module 'remainderl-ieee'.
41639         * modules/remainderl-ieee-tests: New file.
41640         * tests/test-remainderl-ieee.c: New file.
41642         New module 'remainderl-ieee'.
41643         * modules/remainderl-ieee: New file.
41645         Tests for module 'remainder-ieee'.
41646         * modules/remainder-ieee-tests: New file.
41647         * tests/test-remainder-ieee.c: New file.
41649         New module 'remainder-ieee'.
41650         * modules/remainder-ieee: New file.
41652         Tests for module 'remainderf-ieee'.
41653         * modules/remainderf-ieee-tests: New file.
41654         * tests/test-remainderf-ieee.c: New file.
41655         * tests/test-remainder-ieee.h: New file.
41657         New module 'remainderf-ieee'.
41658         * modules/remainderf-ieee: New file.
41660 2012-02-27  Bruno Haible  <bruno@clisp.org>
41662         modff, modfl: Fix configure syntax error.
41663         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
41664         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41666 2012-02-27  Bruno Haible  <bruno@clisp.org>
41668         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
41669         * m4/fmodl-ieee.m4: New file.
41670         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
41671         whether fmodl works with zero arguments. Replace it if not.
41672         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
41673         (Depends-on): Add fmod-ieee.
41674         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
41675         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
41677         fmodf-ieee: Work around test failure on OSF/1.
41678         * m4/fmodf-ieee.m4: New file.
41679         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
41680         whether fmodf works with zero arguments. Replace it if not.
41681         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
41682         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
41683         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
41684         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
41685         (Depends-on): Update dependencies.
41686         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
41687         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
41688         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
41690         fmodf-ieee: Work around test failure on MSVC 9.
41691         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
41692         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
41694         fmod-ieee: Work around test failures on OSF/1, mingw.
41695         * m4/fmod-ieee.m4: New file.
41696         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
41697         whether fmod works with zero arguments. Replace it if not.
41698         * lib/math.in.h (fmod): New declaration.
41699         * lib/fmod.c: New file.
41700         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
41701         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
41702         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
41703         * modules/fmod (Files): Add lib/fmod.c.
41704         (Depends-on): Add math, isinf, trunc, fma.
41705         (configure.ac): Arrange to compile lib/fmod.c if needed.
41706         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
41707         m4/signbit.m4.
41708         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
41709         * tests/test-math-c++.cc: Check the declaration of fmod.
41710         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
41712         fmodl-ieee: Fix test failures.
41713         * lib/fmodl.c (fmodl): Treat Inf specially.
41714         * modules/fmodl (Depends-on): Add isinf.
41716         Tests for module 'fmodl-ieee'.
41717         * modules/fmodl-ieee-tests: New file.
41718         * tests/test-fmodl-ieee.c: New file.
41720         New module 'fmodl-ieee'.
41721         * modules/fmodl-ieee: New file.
41723         Tests for module 'fmod-ieee'.
41724         * modules/fmod-ieee-tests: New file.
41725         * tests/test-fmod-ieee.c: New file.
41727         New module 'fmod-ieee'.
41728         * modules/fmod-ieee: New file.
41730         Tests for module 'fmodf-ieee'.
41731         * modules/fmodf-ieee-tests: New file.
41732         * tests/test-fmodf-ieee.c: New file.
41733         * tests/test-fmod-ieee.h: New file.
41735         New module 'fmodf-ieee'.
41736         * modules/fmodf-ieee: New file.
41738 2012-02-27  Bruno Haible  <bruno@clisp.org>
41740         Tests for module 'rintl-ieee'.
41741         * modules/rintl-ieee-tests: New file.
41742         * tests/test-rintl-ieee.c: New file.
41744         New module 'rintl-ieee'.
41745         * modules/rintl-ieee: New file.
41747         Tests for module 'rint-ieee'.
41748         * modules/rint-ieee-tests: New file.
41749         * tests/test-rint-ieee.c: New file.
41751         New module 'rint-ieee'.
41752         * modules/rint-ieee: New file.
41754         Tests for module 'rintf-ieee'.
41755         * modules/rintf-ieee-tests: New file.
41756         * tests/test-rintf-ieee.c: New file.
41757         * tests/test-rint-ieee.h: New file.
41759         New module 'rintf-ieee'.
41760         * modules/rintf-ieee: New file.
41762 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
41764         regex: re_search etc. should return -2 when memory exhausted
41765         This bug was uncovered when testing 'grep'.  Without the fix,
41766         re_search and friends return -1 when memory is exhausted, but -1
41767         means no match, and this causes grep to falsely report no-match
41768         instead of memory-exhaustion.  See
41769         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
41770         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
41771         trouble; this can occur if re_search_internal ran out of memory.
41773 2012-02-26  Bruno Haible  <bruno@clisp.org>
41775         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
41776         * m4/modfl-ieee.m4: New file.
41777         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
41778         whether modfl works with Inf. Replace it if not.
41779         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
41780         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
41781         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
41782         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
41783         (Depends-on): Update dependencies.
41784         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
41785         m4/signbit.m4.
41786         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
41787         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
41789         modfl-ieee: Fix dependencies.
41790         * modules/modfl-ieee (Depends-on): Add modf-ieee.
41792         modfl-ieee: Fix test failures.
41793         * lib/modfl.c (modfl): Treat NaN and Inf specially.
41794         * modules/modfl (Depends-on): Add isfinite, isinf.
41796         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
41797         * m4/modff-ieee.m4: New file.
41798         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
41799         whether modff works with NaN and Inf. Replace it if not.
41800         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
41801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
41802         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
41803         * modules/modff (configure.ac): Consider REPLACE_MODFF.
41804         (Depends-on): Update dependencies.
41805         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
41806         m4/signbit.m4.
41807         (Depends-on): Add modf-ieee.
41808         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
41809         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
41811         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
41812         * m4/modf-ieee.m4: New file.
41813         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
41814         whether modf works with NaN and Inf. Replace it if not.
41815         * lib/math.in.h (modf): New declaration.
41816         * lib/modf.c: New file.
41817         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
41818         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
41819         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
41820         * modules/modf (Files): Add lib/modf.c.
41821         (Depends-on): Add math, isfinite, trunc, isinf.
41822         (configure.ac): Addrange to compile lib/modf.c if needed.
41823         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
41824         m4/signbit.m4.
41825         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
41826         * tests/test-math-c++.cc: Check the declaration of modf.
41827         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
41829         Tests for module 'modfl-ieee'.
41830         * modules/modfl-ieee-tests: New file.
41831         * tests/test-modfl-ieee.c: New file.
41833         New module 'modfl-ieee'.
41834         * modules/modfl-ieee: New file.
41836         Tests for module 'modf-ieee'.
41837         * modules/modf-ieee-tests: New file.
41838         * tests/test-modf-ieee.c: New file.
41840         New module 'modf-ieee'.
41841         * modules/modf-ieee: New file.
41843         Tests for module 'modff-ieee'.
41844         * modules/modff-ieee-tests: New file.
41845         * tests/test-modff-ieee.c: New file.
41846         * tests/test-modf-ieee.h: New file.
41848         New module 'modff-ieee'.
41849         * modules/modff-ieee: New file.
41851 2012-02-26  Bruno Haible  <bruno@clisp.org>
41853         Tests for module 'fabsl-ieee'.
41854         * modules/fabsl-ieee-tests: New file.
41855         * tests/test-fabsl-ieee.c: New file.
41857         New module 'fabsl-ieee'.
41858         * modules/fabsl-ieee: New file.
41860         Tests for module 'fabs-ieee'.
41861         * modules/fabs-ieee-tests: New file.
41862         * tests/test-fabs-ieee.c: New file.
41864         New module 'fabs-ieee'.
41865         * modules/fabs-ieee: New file.
41867         Tests for module 'fabsf-ieee'.
41868         * modules/fabsf-ieee-tests: New file.
41869         * tests/test-fabsf-ieee.c: New file.
41870         * tests/test-fabs-ieee.h: New file.
41872         New module 'fabsf-ieee'.
41873         * modules/fabsf-ieee: New file.
41875 2012-02-26  Bruno Haible  <bruno@clisp.org>
41877         Tests for module 'fmal-ieee'.
41878         * modules/fmal-ieee-tests: New file.
41879         * tests/test-fmal-ieee.c: New file.
41881         New module 'fmal-ieee'.
41882         * modules/fmal-ieee: New file.
41884         Tests for module 'fma-ieee'.
41885         * modules/fma-ieee-tests: New file.
41886         * tests/test-fma-ieee.c: New file.
41888         New module 'fma-ieee'.
41889         * modules/fma-ieee: New file.
41891         Tests for module 'fmaf-ieee'.
41892         * modules/fmaf-ieee-tests: New file.
41893         * tests/test-fmaf-ieee.c: New file.
41894         * tests/test-fma-ieee.h: New file.
41896         New module 'fmaf-ieee'.
41897         * modules/fmaf-ieee: New file.
41899 2012-02-26  Bruno Haible  <bruno@clisp.org>
41901         Tests for module 'ldexpl-ieee'.
41902         * modules/ldexpl-ieee-tests: New file.
41903         * tests/test-ldexpl-ieee.c: New file.
41905         New module 'ldexpl-ieee'.
41906         * modules/ldexpl-ieee: New file.
41908         Tests for module 'ldexp-ieee'.
41909         * modules/ldexp-ieee-tests: New file.
41910         * tests/test-ldexp-ieee.c: New file.
41912         New module 'ldexp-ieee'.
41913         * modules/ldexp-ieee: New file.
41915         Tests for module 'ldexpf-ieee'.
41916         * modules/ldexpf-ieee-tests: New file.
41917         * tests/test-ldexpf-ieee.c: New file.
41918         * tests/test-ldexp-ieee.h: New file.
41920         New module 'ldexpf-ieee'.
41921         * modules/ldexpf-ieee: New file.
41923 2012-02-26  Bruno Haible  <bruno@clisp.org>
41925         Refactor frexp*-ieee tests.
41926         * tests/test-frexp-ieee.h: New file.
41927         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
41928         (main): Just call test_function.
41929         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
41930         (main): Just call test_function.
41931         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
41932         (main): Just call test_function.
41933         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
41934         * modules/frexp-ieee-tests (Files): Likewise.
41935         * modules/frexpl-ieee-tests (Files): Likewise.
41937         Tests for module 'frexpl-ieee'.
41938         * modules/frexpl-ieee-tests: New file.
41939         * tests/test-frexpl-ieee.c: New file.
41941         New module 'frexpl-ieee'.
41942         * modules/frexpl-ieee: New file.
41944         Tests for module 'frexp-ieee'.
41945         * modules/frexp-ieee-tests: New file.
41946         * tests/test-frexp-ieee.c: New file.
41948         New module 'frexp-ieee'.
41949         * modules/frexp-ieee: New file.
41951         Tests for module 'frexpf-ieee'.
41952         * modules/frexpf-ieee-tests: New file.
41953         * tests/test-frexpf-ieee.c: New file.
41955         New module 'frexpf-ieee'.
41956         * modules/frexpf-ieee: New file.
41958 2012-02-26  Bruno Haible  <bruno@clisp.org>
41960         roundl-ieee tests: More tests.
41961         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
41962         (main): Add tests for [MX] shaded specification in POSIX.
41963         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41964         (Depends-on): Add isnanl-nolibm.
41966         round-ieee tests: More tests.
41967         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
41968         (main): Add tests for [MX] shaded specification in POSIX.
41969         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41970         (Depends-on): Add isnand-nolibm.
41972         roundf-ieee tests: More tests.
41973         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
41974         (main): Add tests for [MX] shaded specification in POSIX.
41975         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41976         (Depends-on): Add isnanf-nolibm.
41978         truncl-ieee tests: More tests.
41979         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
41980         (main): Add tests for [MX] shaded specification in POSIX.
41981         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41982         (Depends-on): Add isnanl-nolibm.
41984         trunc-ieee tests: More tests.
41985         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
41986         (main): Add tests for [MX] shaded specification in POSIX.
41987         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41988         (Depends-on): Add isnand-nolibm.
41990         truncf-ieee tests: More tests.
41991         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
41992         (main): Add tests for [MX] shaded specification in POSIX.
41993         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41994         (Depends-on): Add isnanf-nolibm.
41996         ceill-ieee tests: More tests.
41997         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
41998         (main): Add tests for [MX] shaded specification in POSIX.
41999         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42000         (Depends-on): Add isnanl-nolibm.
42002         ceil-ieee tests: More tests.
42003         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42004         (main): Add tests for [MX] shaded specification in POSIX.
42005         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42006         (Depends-on): Add isnand-nolibm.
42008         ceilf-ieee tests: More tests.
42009         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42010         (main): Add tests for [MX] shaded specification in POSIX.
42011         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42012         (Depends-on): Add isnanf-nolibm.
42014         floorl-ieee tests: More tests.
42015         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42016         (main): Add tests for [MX] shaded specification in POSIX.
42017         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42018         (Depends-on): Add isnanl-nolibm.
42020         floor-ieee tests: More tests.
42021         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42022         (main): Add tests for [MX] shaded specification in POSIX.
42023         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42024         (Depends-on): Add isnand-nolibm.
42026         floorf-ieee tests: More tests.
42027         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42028         (main): Add tests for [MX] shaded specification in POSIX.
42029         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42030         (Depends-on): Add isnanf-nolibm.
42032 2012-02-26  Bruno Haible  <bruno@clisp.org>
42034         fpieee: More comments.
42035         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
42037 2012-02-25  Bruno Haible  <bruno@clisp.org>
42039         Tests for module 'log10l'.
42040         * modules/log10l-tests: New file.
42041         * tests/test-log10l.c: New file.
42042         * tests/test-math-c++.cc: Check the declaration of log10l.
42044         New module 'log10l'.
42045         * lib/math.in.h (log10l): New declaration.
42046         * lib/log10l.c: New file.
42047         * m4/log10l.m4: New file.
42048         * modules/log10l: New file.
42049         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
42050         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
42051         HAVE_DECL_LOG10L.
42052         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
42053         HAVE_DECL_LOG10L.
42054         * doc/posix-functions/log10l.texi: Mention the new module.
42056 2012-02-25  Bruno Haible  <bruno@clisp.org>
42058         fmodl, remainder*: Avoid wrong results due to rounding errors.
42059         * lib/fmodl.c (fmodl): Correct the result if it is not within the
42060         expected bounds.
42061         * lib/remainderf.c (remainderf): Likewise.
42062         * lib/remainder.c (remainder): Likewise.
42063         * lib/remainderl.c (remainderl): Likewise.
42065 2012-02-25  Bruno Haible  <bruno@clisp.org>
42067         Tests for module 'remainderl'.
42068         * modules/remainderl-tests: New file.
42069         * tests/test-remainderl.c: New file.
42070         * tests/test-math-c++.cc: Check the declaration of remainderl.
42072         New module 'remainderl'.
42073         * lib/math.in.h (remainderl): New declaration.
42074         * lib/remainderl.c: New file.
42075         * m4/remainderl.m4: New file.
42076         * modules/remainderl: New file.
42077         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
42078         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
42079         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
42080         HAVE_REMAINDERL.
42081         * doc/posix-functions/remainderl.texi: Mention the new module.
42083 2012-02-25  Bruno Haible  <bruno@clisp.org>
42085         Tests for module 'remainderf'.
42086         * modules/remainderf-tests: New file.
42087         * tests/test-remainderf.c: New file.
42088         * tests/test-math-c++.cc: Check the declaration of remainderf.
42090         New module 'remainderf'.
42091         * lib/math.in.h (remainderf): New declaration.
42092         * lib/remainderf.c: New file.
42093         * m4/remainderf.m4: New file.
42094         * modules/remainderf: New file.
42095         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
42096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
42097         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
42098         HAVE_REMAINDERF.
42099         * doc/posix-functions/remainderf.texi: Mention the new module.
42101 2012-02-25  Bruno Haible  <bruno@clisp.org>
42103         remainder: Support for MSVC.
42104         * lib/math.in.h (remainder): New declaration.
42105         * lib/remainder.c: New file.
42106         * m4/remainder.m4: New file.
42107         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
42108         (Depends-on): Add math, round, fma.
42109         (configure.ac): Use results of gl_FUNC_REMAINDER.
42110         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
42111         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
42112         HAVE_DECL_REMAINDER.
42113         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
42114         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
42115         * tests/test-math-c++.cc: Check the declaration of remainder.
42116         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
42117         problems are fixed.
42119 2012-02-25  Bruno Haible  <bruno@clisp.org>
42121         Tests for module 'fmodl'.
42122         * modules/fmodl-tests: New file.
42123         * tests/test-fmodl.c: New file.
42124         * tests/test-math-c++.cc: Check the declaration of fmodl.
42126         New module 'fmodl'.
42127         * lib/math.in.h (fmodl): New declaration.
42128         * lib/fmodl.c: New file.
42129         * m4/fmodl.m4: New file.
42130         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
42131         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
42132         REPLACE_FMODL.
42133         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
42134         REPLACE_FMODL.
42135         * modules/fmodl: New file.
42136         * doc/posix-functions/fmodl.texi: Mention the new module.
42138 2012-02-25  Bruno Haible  <bruno@clisp.org>
42140         Tests for module 'modfl'.
42141         * modules/modfl-tests: New file.
42142         * tests/test-modfl.c: New file.
42143         * tests/test-math-c++.cc: Check the declaration of modfl.
42145         New module 'modfl'.
42146         * lib/math.in.h (modfl): New declaration.
42147         * lib/modfl.c: New file.
42148         * m4/modfl.m4: New file.
42149         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
42150         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
42151         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
42152         * modules/modfl: New file.
42153         * doc/posix-functions/modfl.texi: Mention the new module.
42155 2012-02-25  Bruno Haible  <bruno@clisp.org>
42157         Tests for module 'fabsl'.
42158         * modules/fabsl-tests: New file.
42159         * tests/test-fabsl.c: New file.
42160         * tests/test-math-c++.cc: Check the declaration of fabsl.
42162         New module 'fabsl'.
42163         * lib/math.in.h (fabsl): New declaration.
42164         * lib/fabsl.c: New file.
42165         * m4/fabsl.m4: New file.
42166         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
42167         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
42168         REPLACE_FABSL.
42169         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
42170         REPLACE_FABSL.
42171         * modules/fabsl: New file.
42172         * doc/posix-functions/fabsl.texi: Mention the new module.
42174 2012-02-25  Bruno Haible  <bruno@clisp.org>
42176         fabs tests: More tests.
42177         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
42178         (zero): New variable.
42179         (main): Add tests for signed zero.
42180         * modules/fabs-tests (Files): Add tests/minus-zero.h.
42182         fabsf tests: More tests.
42183         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
42184         (zero): New variable.
42185         (main): Add tests for signed zero.
42186         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
42188 2012-02-24  Bruno Haible  <bruno@clisp.org>
42190         atanl: Provide function definition on MSVC.
42191         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
42192         function pointer.
42193         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
42195 2012-02-24  Bruno Haible  <bruno@clisp.org>
42197         acosl: Provide function definition on MSVC.
42198         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
42199         function pointer.
42200         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
42202 2012-02-24  Bruno Haible  <bruno@clisp.org>
42204         asinl: Provide function definition on MSVC.
42205         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
42206         function pointer.
42207         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
42209 2012-02-24  Bruno Haible  <bruno@clisp.org>
42211         tanl: Provide function definition on MSVC.
42212         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
42213         function pointer.
42214         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
42216 2012-02-24  Bruno Haible  <bruno@clisp.org>
42218         cosl: Provide function definition on MSVC.
42219         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
42220         function pointer.
42221         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
42223 2012-02-24  Bruno Haible  <bruno@clisp.org>
42225         sinl: Provide function definition on MSVC.
42226         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
42227         function pointer.
42228         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
42230 2012-02-24  Bruno Haible  <bruno@clisp.org>
42232         logl: Provide function definition on MSVC.
42233         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
42234         function pointer.
42235         * lib/math.in.h (logl): Undefine if it does not exist as a function.
42237 2012-02-24  Bruno Haible  <bruno@clisp.org>
42239         expl: Provide function definition on MSVC.
42240         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
42241         function pointer.
42242         * lib/math.in.h (expl): Undefine if it does not exist as a function.
42244 2012-02-24  Bruno Haible  <bruno@clisp.org>
42246         sqrtl: Provide function definition on MSVC.
42247         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
42248         a function pointer.
42249         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
42251 2012-02-24  Bruno Haible  <bruno@clisp.org>
42253         ceill: Provide function definition on MSVC.
42254         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
42255         used as a function pointer.
42256         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
42258 2012-02-24  Bruno Haible  <bruno@clisp.org>
42260         floorl: Provide function definition on MSVC.
42261         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
42262         used as a function pointer.
42263         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
42265 2012-02-24  Bruno Haible  <bruno@clisp.org>
42267         ceilf: Provide function definition on MSVC.
42268         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
42269         used as a function pointer.
42270         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
42272 2012-02-24  Bruno Haible  <bruno@clisp.org>
42274         floorf: Provide function definition on MSVC.
42275         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
42276         used as a function pointer.
42277         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
42279 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42281         stdnoreturn: new module
42282         This implements a replacement for C11's <stdnoreturn.h>.
42283         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
42284         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
42285         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
42286         * tests/test-stdnoreturn.c: New files.
42288 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
42290         regex: fix false multibyte matches in some regular expressions
42291         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
42292         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
42293         * lib/regex_internal.c (re_string_skip_chars):
42294         Fix miscomputation of remain_len that may cause incomplete
42295         multi-byte character and false match.
42297 2012-02-24  Jim Meyering  <meyering@redhat.com>
42299         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
42300         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
42301         uses with "==" *before* the call, e.g., 0 == strcmp (...)
42302         Remove now-unnecessary str''cmp obfuscation.
42303         Suggested by Akim Demaille.
42305 2012-02-24  Bruno Haible  <bruno@clisp.org>
42307         streq: Rename macro.
42308         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
42309         * NEWS: Mention the change.
42310         * lib/mbrtowc.c (mbrtowc): Update.
42311         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
42312         * lib/wcwidth.c (wcwidth): Update.
42313         Suggested by Akim Demaille and Jim Meyering.
42315 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
42317         regex: fix typo in definition of MIN
42318         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
42319         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
42321 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42322             Bruno Haible  <bruno@clisp.org>
42324         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
42325         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
42326         entries into a stack-allocated buffer directly.
42327         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
42329 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42330             Bruno Haible  <bruno@clisp.org>
42332         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
42334          - There were several instances of this pattern:
42336              for (;;) {
42337                n = acl (f, GETACLCNT, 0, NULL);
42338                [ allocate an array A of size N ]
42339                if (acl (f, GETACL, n, a) == n)
42340                  break;
42341              }
42343            This loop might never terminate if some other process is constantly
42344            manipulating the file's ACL.  The loop should be rewritten to
42345            terminate.
42347          - The acl (... GETACLNT ...) call is merely an optimization; its value
42348            is merely a hint as to how big to make the array.  A better
42349            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
42350            and just guess a reasonably-big size, growing the size and trying
42351            again if it's not large enough.  This guarantees termination, and
42352            saves a system call.
42354         * lib/acl-internal.h: Include <limits.h>.
42355         (MIN, SIZE_MAX): New macros.
42356         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
42357         a stack-allocated buffer, and use malloc if it does not fit. Don't
42358         use GETACLCNT.
42359         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
42361 2012-02-19  Bruno Haible  <bruno@clisp.org>
42363         acl: Fix endless loop on Solaris with vxfs.
42364         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
42365         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
42366         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
42367         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
42368         * tests/test-sameacls.c (main)[Solaris]: Likewise.
42369         Reported by Bill Jones in
42370         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
42372 2012-02-19  Bruno Haible  <bruno@clisp.org>
42374         acl: Fix copy-acl test failure on Solaris 11.0.
42375         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
42376         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
42377         that this function returns 0 in some more cases.
42379 2012-02-19  Bruno Haible  <bruno@clisp.org>
42381         acl: Update doc references.
42382         * doc/acl-resources.txt: Update links to Solaris documentation.
42384 2012-02-19  Bruno Haible  <bruno@clisp.org>
42386         Fix test failure in many locales on Solaris 11.
42387         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
42388         'tr' arguments.
42389         * tests/test-pipe-filter-ii1.c (main): Likewise.
42390         * build-aux/bootstrap (check_versions): Run 'tr' command with range
42391         expressions in the C locale.
42392         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
42393         * m4/host-os.m4 (gl_HOST_OS): Likewise.
42395 2012-02-19  Bruno Haible  <bruno@clisp.org>
42397         gnulib-tool: Improve usage message.
42398         * gnulib-tool (func_usage): Move doc of --help and --version to the
42399         section "Operation modes".
42401 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
42403         README-release: make it easier to execute commands
42404         * top/README-release: break commands out on to separate lines.
42406 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
42408         GNUmakefile: simplify detection of unconfigured trees
42409         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
42410         whether the tree make is being run from is already configured or
42411         not.  Related simplifications.
42413 2012-02-13  Simon Josefsson  <simon@josefsson.org>
42415         * gnulib-tool (func_usage): Document --help and --version.
42417 2012-02-11  Jim Meyering  <meyering@redhat.com>
42419         bootstrap: don't exit 0 upon gnulib-tool failure
42420         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
42421         its exit status, not 0.
42423 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
42425         README-release: various improvements
42426         * top/README-release: Give a command to push changes for the
42427         release.  Add "distcheck" to list of other pre-release checks.
42428         Fix instance of "make stable" which should be "make TYPE".
42430 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42432         maint: replace FSF snail-mail addresses with URLs
42433         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
42434         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
42435         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
42436         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
42437         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
42438         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
42439         * lib/check-version.c, lib/check-version.h, lib/config.charset:
42440         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
42441         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
42442         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
42443         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
42444         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
42445         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
42446         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
42447         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
42448         * lib/glthread/thread.c, lib/glthread/thread.h:
42449         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
42450         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
42451         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
42452         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
42453         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
42454         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
42455         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
42456         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
42457         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
42458         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
42459         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
42460         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
42461         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
42462         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
42463         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
42464         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
42465         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
42466         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
42467         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
42468         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
42469         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
42470         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
42471         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
42472         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
42473         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
42474         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
42475         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
42476         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
42477         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
42478         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
42479         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
42480         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
42481         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
42482         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
42483         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
42484         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
42485         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
42486         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
42487         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
42488         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
42489         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
42490         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
42491         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
42492         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
42493         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
42494         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
42495         * tests/test-poll.c, tests/test-quotearg-simple.c:
42496         * tests/test-quotearg.c, tests/test-quotearg.h:
42497         * tests/test-round-ieee.c, tests/test-round1.c:
42498         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
42499         * tests/test-roundl-ieee.c, tests/test-roundl.c:
42500         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
42501         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
42502         * tests/test-strerror.c, tests/test-strerror_r.c:
42503         * tests/test-strsignal.c, tests/test-strverscmp.c:
42504         * tests/test-xmemdup0.c:
42505         Replace FSF snail mail addresses with URLs, as per GNU coding
42506         standards.  See glibc bug
42507         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
42509 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
42511         README-release: capitalize a word and split a line
42512         * top/README-release: Fix punctuation and spacing.
42514 2012-02-08  Akim Demaille  <demaille@gostai.com>
42516         fatal-signal: use C prototypes (with explicit void).
42517         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
42518         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
42520 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42522         regex: spelling fix
42523         * lib/regexec.c: spelling fix
42525         regex: rely on stdint.h for SIZE_MAX
42526         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
42528 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42530         regex: merge glibc changes
42532         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
42533         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
42534         (init_word_char): Work even if bitset words are not exactly 32 or
42535         64 bits wide.  Don't assume there are no padding bits.
42536         * lib/regex.c [_LIBC]: Do not include <config.h>.
42537         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
42538         and -Wtype-limits.
42539         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
42540         needless disagreement with glibc.  All uses changed.  Define it to
42541         1 only if _GNU_SOURCE, to match glibc.
42542         (_REG_RM_NAME): Remove; no longer needed, since the names in
42543         question are now all protected by __USE_GNU.
42544         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
42545         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
42546         * lib/regex_internal.h (MIN): New macro.
42548         2012-01-03 Ulrich Drepper <drepper@gmail.com>
42549         * lib/regcomp.c (init_word_char): Optimize regex a bit.
42551         2011-12-30 Jakub Jelinek <jakub@redhat.com>
42552         * lib/regex_internal.c (re_string_fetch_byte_case):
42553         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
42554         is miscompiled, and it turns out it is because of an incorrect
42555         attribute on re_string_fetch_byte_case.  Unlike
42556         re_string_peek_byte_case, this one is really not pure, it modifies
42557         memory (increments pstr->cur_idx), and with the pure attribute GCC
42558         assumed it doesn't and it cached the presumed value of
42559         regexp->cur_idx in a variable across the
42560          for (;; ++i)
42561            {
42562              if (i >= BRACKET_NAME_BUF_SIZE)
42563                return REG_EBRACK;
42564              if (token->type == OP_OPEN_CHAR_CLASS)
42565                ch = re_string_fetch_byte_case (regexp);
42566              else
42567                ch = re_string_fetch_byte (regexp);
42568              if (re_string_eoi(regexp))
42569                return REG_EBRACK;
42570              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
42571                break;
42572              elem->opr.name[i] = ch;
42573            }
42575         2011-11-29 Andreas Schwab <schwab@redhat.com>
42576         * lib/regcomp.c (build_equiv_class):
42577         Fix access after end of search string in regex matcher.
42579         2011-11-12 Ulrich Drepper <drepper@redhat.com>
42580         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
42582         2011-10-12 Ulrich Drepper <drepper@redhat.com>
42583         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
42585         2011-10-11 Ulrich Drepper <drepper@redhat.com>
42586         * lib/regcomp.c (parse_branch, parse_sub_exp):
42587         More regex memory leak fixes and tests.
42588         (parse_sub_exp, parse_bracket_exp):
42589         Fix memory leak for some invalid regular expressions.
42591         2011-05-28 Ulrich Drepper <drepper@gmail.com>
42592         * lib/regex_internal.c, lib/regexec.c:
42593         Fix unnecessary overallocation due to incomplete character.  When
42594         incomplete characters are found at the end of a string the code
42595         ran amok and allocated lots of memory.  Stricter limits are now in
42596         place.
42598         2011-05-20 Reuben Thomas <rrt@sc3d.org>
42599         * lib/regex.h: Update documentation.
42601         2011-05-16 Aharon Robbins <arnold@skeeve.com>
42602         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
42604         2010-05-05 Andreas Schwab <schwab@redhat.com>
42605         * lib/regexec.c (find_collation_sequence_value):
42606         Fix lookup of collation sequence value during regexp matching.
42608         2010-01-22 Ulrich Drepper <drepper@redhat.com>
42609         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
42611         2008-01-16 Ulrich Drepper <drepper@redhat.com>
42612         * lib/regex.h: Cleanup namespace.
42614         2007-11-26 Ulrich Drepper <drepper@redhat.com>
42615         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
42617         2007-08-26 Ulrich Drepper <drepper@redhat.com>
42618         * lib/regex_internal.h: Prevent some declarations and definitions
42619         to be seen when used in tests.
42621         2005-05-06 Ulrich Drepper <drepper@redhat.com>
42622         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
42623         __libc_lock_* macros if not _LIBC.
42624         (struct re_dfa_t): Add lock.
42626 2012-02-07  Eric Blake  <eblake@redhat.com>
42628         maint.mk: also prohibit lower-case @var@
42629         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
42630         lower case, like @top_srcdir@.
42632 2012-02-04  Eric Blake  <eblake@redhat.com>
42634         canonicalize: avoid uninitialized memory use
42635         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
42636         random '/' left in dest.
42637         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
42639 2012-02-04  Bruno Haible  <bruno@clisp.org>
42641         isatty: Fix test failure of ptsname_r on native Windows.
42642         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
42643         and don't set errno.
42644         (isatty): Test first whether fd is valid. Set errno when returning 0.
42646 2012-02-04  Bruno Haible  <bruno@clisp.org>
42648         spawn-pipe tests: Fix a NULL program name in a diagnostic.
42649         * tests/test-spawn-pipe-main.c: Include progname.h.
42650         (main): Invoke set_program_name.
42651         * modules/spawn-pipe-tests (Depends-on): Add progname.
42653         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
42654         * tests/test-nonblocking-socket-main.c: Include progname.h.
42655         (main): Invoke set_program_name.
42656         * modules/nonblocking-socket-tests (Depends-on): Add progname.
42658         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
42659         * tests/test-nonblocking-pipe-main.c: Include progname.h.
42660         (main): Invoke set_program_name.
42661         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
42663 2012-02-04  Eric Blake  <eblake@redhat.com>
42665         canonicalize-lgpl: fix // handling
42666         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
42668         canonicalize: fix // handling
42669         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
42670         /// to //, since only // is special.
42672 2012-02-04  Bruno Haible  <bruno@clisp.org>
42674         ioctl: Fix test failure on native Windows.
42675         * lib/ioctl.c: Include msvc-nothrow.h.
42676         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
42678 2012-02-04  Bruno Haible  <bruno@clisp.org>
42680         fsync: Avoid test failure on native Windows.
42681         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
42682         read-only.
42684 2012-02-04  Bruno Haible  <bruno@clisp.org>
42686         sys_select: Avoid syntax error on OpenBSD 5.0.
42687         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
42688         currently being included, just include the system's <sys/select.h>.
42690 2012-02-04  Bruno Haible  <bruno@clisp.org>
42692         sys_select: Avoid syntax error on OpenBSD 5.0.
42693         * lib/sys_select.in.h: Include <signal.h> only after the include_next
42694         <sys/select.h>, not before.
42695         Reported by Jiri B <jirib@devio.us>.
42697 2012-02-04  Bruno Haible  <bruno@clisp.org>
42699         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
42700         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
42701         global variables.
42702         * tests/test-get-rusage-data.c (main): Likewise.
42703         Reported by Jim Meyering.
42705 2012-02-04  Bruno Haible  <bruno@clisp.org>
42707         stdioext: Fix last commit.
42708         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
42710 2012-02-03  Bruno Haible  <bruno@clisp.org>
42712         stdioext: Add tentative support for Plan9.
42713         * lib/stdio-impl.h: Include <errno.h>.
42714         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
42715         * lib/freadable.c (freadable): Likewise.
42716         * lib/fwritable.c (fwritable): Likewise.
42717         * lib/fbufmode.c (fbufmode): Likewise.
42718         * lib/freading.c (freading): Likewise.
42719         * lib/fwriting.c (fwriting): Likewise.
42720         * lib/freadptr.c (freadptr): Likewise.
42721         * lib/freadseek.c (freadptrinc): Likewise.
42722         * lib/freadahead.c (freadahead): Likewise.
42723         * lib/fpurge.c (fpurge): Likewise.
42724         * lib/fseeko.c (rpl_fseeko): Likewise.
42725         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
42726         Reported by Jens Staal <staal1978@gmail.com>.
42728 2012-02-02  Jim Meyering  <meyering@redhat.com>
42730         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
42731         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
42732         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
42733         not even to try to add the attribute.  Instead, add a pragma to suppress
42734         the suggestion/warning.
42736 2012-01-31  Karl Berry  <karl@gnu.org>
42738         setstate doc: typo.
42739         * doc/posix-functions/setstate.texi (setstate): { not (.
42741 2012-01-31  Bruno Haible  <bruno@clisp.org>
42743         popen: Make more robust on Windows.
42744         * lib/popen.c: On native Windows, use the _popen based code even if
42745         HAVE_POPEN is set.
42746         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
42747         environment variable on native Windows.
42749 2012-01-30  Bruno Haible  <bruno@clisp.org>
42751         pclose: Fix typo.
42752         * lib/stdio.in.h (pclose): Fix typo in warning message.
42754 2012-01-30  Bruno Haible  <bruno@clisp.org>
42756         doc about getlogin_r, setstate.
42757         * doc/posix-functions/getlogin_r.texi: List the incompatible
42758         declaration problem under "not fixed by gnulib".
42759         * doc/posix-functions/setstate.texi: Mention incompatible declaration
42760         problem on Solaris 11 and other platforms.
42762 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
42763             Bruno Haible  <bruno@clisp.org>
42765         poll tests: Make test more robust.
42766         * tests/test-poll.c: Include macros.h.
42767         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
42768         return value of various I/O operations.
42769         * modules/poll-tests (Files): Add tests/macros.h.
42771 2012-01-30  Bruno Haible  <bruno@clisp.org>
42773         sys_stat: Fix support for mingw64 and MSVC.
42774         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
42775         header files already do it.
42776         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
42777         stat itself.
42778         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
42780 2012-01-30  Bruno Haible  <bruno@clisp.org>
42782         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
42783         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
42784         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
42786 2012-01-29  Bruno Haible  <bruno@clisp.org>
42788         quotearg: Fix test failure on MacOS X 10.5.
42789         * tests/test-quotearg-simple.c: Include localcharset.h.
42790         (main): If the locale encoding is not ASCII, bypass the tests of
42791         locale_quoting_style and clocale_quoting_style.
42792         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
42794 2012-01-29  Jim Meyering  <meyering@redhat.com>
42796         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
42797         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
42798         detect uses of canonicalize_file_name.
42800 2012-01-28  Bruno Haible  <bruno@clisp.org>
42802         test-framework-sh: Fix test failure with AIX 7.1 diff.
42803         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
42804         in column 1, like 'diff -c' does.
42805         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
42806         whether 'diff -u' is used. Instead, test whether the output contains
42807         some '@' character.
42809 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42811         strtoimax: eliminate need for stdint.h, inttypes.h checks
42812         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
42813         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
42814         the prerequisites for a recently-introduced strtoimax test.
42815         I guess this might cause strtoimax to be replaced when not
42816         strictly necessary on older hosts, but this shouldn't introduce
42817         any bugs and it should make Emacs 'configure' faster on typical
42818         modern hosts.  Problem discovered when importing the latest gnulib
42819         to an Emacs test version.
42820         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
42822 2012-01-28  Bruno Haible  <bruno@clisp.org>
42824         sys_time: Override 'struct timeval' on some native Windows platforms.
42825         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
42826         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
42827         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
42828         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
42829         needs to be overridden.
42830         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
42831         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
42832         * tests/test-sys_select.c: Check that the tv_sec member has the same
42833         size as a 'time_t'.
42834         * tests/test-sys_time.c: Likewise.
42835         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
42836         is set, set also REPLACE_GETTIMEOFDAY.
42837         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
42838         convert the resulting 'struct timeval' before returning.
42839         * lib/select.c: Include <sys/time.h>.
42840         (select, timeval): Undefine at the right place.
42841         * modules/select (Depends-on): Add sys_time.
42842         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
42843         some Windows platforms.
42844         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
42846 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
42848         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
42849         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
42850         an integer.
42851         * lib/fcntl.c (dupfd): Likewise.
42852         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
42854 2012-01-28  Bruno Haible  <bruno@clisp.org>
42856         fcntl: Avoid compilation error on native Windows.
42857         * modules/fcntl (Depends-on): Add 'close'.
42859 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
42861         select, poll, isatty: Avoid warnings on x86_64 mingw64.
42862         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
42863         pointer to an integer.
42864         * lib/poll.c (IsConsoleHandle): Likewise.
42865         * lib/isatty.c (IsConsoleHandle): Likewise.
42867 2012-01-28  Jim Meyering  <meyering@redhat.com>
42869         doc: clarify README-release
42870         * top/README-release: Clarify: you should make a point to have
42871         the latest stable versions of build tools in your PATH, and the
42872         reference to buildreq is solely for its list of tool names, not
42873         for its minimal-functional version numbers.
42874         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
42876         maint.mk: use more readable (yet functionally equivalent) quoting
42877         It is common to quote a single quote in a single quoted string like
42878         this:  '...'\''...'.  Unless you know the idiom, that looks like
42879         gibberish, so prefer to double-quote the string when possible.
42880         Then you can use a more readable, lone single quote: "...'..."
42881         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
42882         "don't" is more readable than the equivalent 'don'\''t'.
42883         (sc_cast_of_x_alloc_return_value): Likewise.
42884         (sc_cast_of_alloca_return_value): Likewise.
42885         (sc_makefile_path_separator_check): Similar: use ":" in '...',
42886         rather than '\'':'\''.
42888 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
42890         stdalign: relax _Alignof and tighten _Alignas test
42891         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
42892         as it was too strict: alignof must divide offsetof, but it need
42893         not equal offsetof.  Inspired by Joseph S. Myers's comment
42894         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
42895         Conversely, tighten the _Alignas test a bit, as the resulting
42896         alignment must be exactly 8.
42898 2012-01-27  Bruno Haible  <bruno@clisp.org>
42900         stdalign: Document the last change.
42901         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
42903 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
42905         stdalign: check that alignof and offsetof are consistent
42906         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
42907         Problem reported for gnulib by Richard W.M. Jones in
42908         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
42910 2012-01-27  Jim Meyering  <meyering@redhat.com>
42912         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
42913         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
42914         convert a sequence with gaps to the minimal containing range.
42915         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
42916         * tests/test-update-copyright.sh: Test for this.
42917         The FSF confirmed it is ok to do this, assuming there is at
42918         least one significant change per year in the affected range:
42919         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
42921 2012-01-26  Bruno Haible  <bruno@clisp.org>
42923         pipe2: refine doc about thread-safety
42924         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
42925         multithread-safety problem.
42926         * doc/glibc-functions/accept4.texi: Likewise.
42928 2012-01-26  Bruno Haible  <bruno@clisp.org>
42930         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
42931         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
42932         In the test program, include <fcntl.h>, for O_RDONLY.
42934 2012-01-26  Eric Blake  <eblake@redhat.com>
42936         pipe2: document lack of thread-safety in replacement
42937         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
42938         issue in replacement.
42939         * doc/glibc-functions/accept4.texi (accept4): Likewise.
42940         Based on a report by Eric Wong.
42942 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
42943             Bruno Haible  <bruno@clisp.org>
42945         malloca: Avoid warnings on x86_64 mingw64.
42946         * lib/malloca.c: Include <stdint.h>.
42947         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
42948         * modules/malloca (Depends-on): Add stdint.
42949         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
42951 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
42953         obstack: remove __STDC__ conditionals
42954         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
42955         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
42956         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
42957         m4/include_next.m4 as the only gnulib-maintained places that still
42958         refer to __STDC__.
42960 2012-01-24  Bruno Haible  <bruno@clisp.org>
42962         havelib: Modern quoting.
42963         * build-aux/config.rpath: Quote 'like this', not `like this', as per
42964         the recent change to the GNU coding standards.
42966 2012-01-24  Bruno Haible  <bruno@clisp.org>
42968         stdint: Improve support for Android.
42969         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
42970         Reported by Simon Josefsson <simon@josefsson.org>.
42972 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42974         doc: omit trailing empty lines from INSTALL etc.
42975         * doc/Makefile (INSTALL): Omit trailing empty lines.
42976         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
42977         omit trailing empty lines.  This simplifies the build procedure.
42979 2012-01-23  Jim Meyering  <meyering@redhat.com>
42981         tests: avoid spurious warnings about gl_sockets_startup
42982         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
42983         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
42984         reporting a "statement with no effect".
42985         * tests/test-accept.c (main): Mark as "(void)".
42986         * tests/test-accept4.c (main): Likewise.
42987         * tests/test-bind.c (main): Likewise.
42988         * tests/test-connect.c (main): Likewise.
42989         * tests/test-getpeername.c (main): Likewise.
42990         * tests/test-getsockname.c (main): Likewise.
42991         * tests/test-getsockopt.c (main): Likewise.
42992         * tests/test-listen.c (main): Likewise.
42993         * tests/test-recv.c (main): Likewise.
42994         * tests/test-recvfrom.c (main): Likewise.
42995         * tests/test-send.c (main): Likewise.
42996         * tests/test-sendto.c (main): Likewise.
42997         * tests/test-setsockopt.c (main): Likewise.
42998         * tests/test-shutdown.c (main): Likewise.
43000 2012-01-21  Bruno Haible  <bruno@clisp.org>
43002         locale-fr.m4: Fix for Android.
43003         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
43004         failure of the test program on Bionic libc.
43006 2012-01-21  Jim Meyering  <meyering@redhat.com>
43008         bootstrap: fail when bootstrap_post_import_hook fails
43009         Otherwise, it's far too easy to miss diagnostics emitted
43010         between gnulib-tool's output and that of running configure.
43011         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
43013 2012-01-17  Jim Meyering  <meyering@redhat.com>
43015         maint: enable sc_trailing_blank
43016         * build-aux/pmccabe.css: Remove trailing blanks.
43017         * doc/acl-cygwin.txt: Likewise.
43018         * doc/gnu-oids.texi: Likewise
43019         * cfg.mk: Enable sc_trailing_blank.
43020         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
43022 2012-01-17  Jim Meyering  <meyering@redhat.com>
43024         maint: enable sc_prohibit_openat_without_use
43025         * cfg.mk: Enable sc_prohibit_openat_without_use.
43026         Exempt lib/selinux-at.c.
43028 2012-01-17  Jim Meyering  <meyering@redhat.com>
43030         maint: enable sc_prohibit_cloexec_without_use
43031         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
43032         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
43034 2012-01-17  Jim Meyering  <meyering@redhat.com>
43036         maint: enable sc_prohibit_intprops_without_use
43037         * cfg.mk: Enable sc_prohibit_intprops_without_use
43038         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
43040 2012-01-17  Jim Meyering  <meyering@redhat.com>
43042         maint: enable sc_prohibit_hash_pjw_without_use
43043         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
43044         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
43045         to match any use of \<hash_pjw\>, i.e., not necessarily with a
43046         following " (".
43048 2012-01-17  Jim Meyering  <meyering@redhat.com>
43050         maint: enable double-word-prohibiting rule
43051         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
43052         Exempt three files.
43054 2012-01-17  Jim Meyering  <meyering@redhat.com>
43056         maint: remove empty lines at EOF, but excluding modules/*
43057         Apply syntax rules at home as well as abroad.  Most changes
43058         were induced by running this:
43059           make srcdir=. _build-aux=build-aux -f top/maint.mk \
43060             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
43061             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
43062         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
43063         Exempt modules/* and two binary files.
43064         Also exempt doc/INSTALL*, per request from Bruno Haible.
43065         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
43066         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
43067         * doc/Copyright/request-assign.future: Likewise.
43068         * doc/Copyright/request-disclaim.changes: Likewise.
43069         * doc/INSTALL: Likewise.
43070         * doc/INSTALL.ISO: Likewise.
43071         * doc/INSTALL.UTF-8: Likewise.
43072         * doc/acl-cygwin.txt: Likewise.
43073         * doc/acl-resources.txt: Likewise.
43074         * doc/fdl-1.2.texi: Likewise.
43075         * doc/fdl-1.3.texi: Likewise.
43076         * doc/fdl.texi: Likewise.
43077         * lib/argp-pin.c: Likewise.
43078         * lib/round.c: Likewise.
43079         * lib/unicase/u16-totitle.c: Likewise.
43080         * lib/unictype/block_test.c: Likewise.
43081         * lib/uninorm/canonical-decomposition.c: Likewise.
43082         * m4/README: Likewise.
43083         * m4/relocatable-lib.m4: Likewise.
43084         * tests/test-isnand-nolibm.c: Likewise.
43085         * tests/test-isnand.c: Likewise.
43086         * tests/uninorm/NormalizationTest.txt: Likewise.
43088 2012-01-17  Jim Meyering  <meyering@redhat.com>
43090         maint: add framework to run syntax-check rules against gnulib sources
43091         * cfg.mk: New file, to disable all currently-failing tests.
43092         We'll enable them one by one, as they are made to pass.
43093         * Makefile (sc_maint): New rule.
43095 2012-01-21  Bruno Haible  <bruno@clisp.org>
43097         stdint: Add support for Android.
43098         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
43099         include the system's <stdint.h>.
43100         Reported by Simon Josefsson <simon@josefsson.org>.
43102 2012-01-19  Jim Meyering  <meyering@redhat.com>
43104         bootstrap: add bootstrap_post_import_hook
43105         Bison does still need something like the gnulib_mk_hook whose
43106         invocation I had to remove along with slurp in commit 767ccd40.
43107         Technically, we could get along without it, but doing so would
43108         have required living with a warning and a mandatory post-bootstrap
43109         automake rerun.
43110         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
43111         (bootstrap_post_import_hook): New function.
43112         Invoke it after gnulib-tool --import and before autoreconf.
43114 2012-01-18  Jim Meyering  <meyering@redhat.com>
43116         gitlog-to-changelog: don't use "no_"-prefixed variable name
43117         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
43118         to enable both --cluster and --no-cluster.  Change variable name,
43119         s/\$no_cluster/$cluster/, and reverse usage to match.
43121         gitlog-to-changelog: use "||", not "or" in expressions
43122         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
43123         expressions.
43125 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
43127         gitlog-to-changelog: new option --no-cluster
43128         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
43129         clustering of adjacent commit messages.
43131 2012-01-17  Jim Meyering  <meyering@redhat.com>
43133         maint: spell file systems with two words, not one
43134         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
43135         two words, not one.
43137 2012-01-16  Jim Meyering  <meyering@redhat.com>
43139         bootstrap: add a FIXME comment to ensure we eventually remove the hack
43140         * build-aux/bootstrap (gnulib_tool_options): Add comment.
43142 2012-01-16  Eric Blake  <eblake@redhat.com>
43144         bootstrap: cater to autoconf 2.59
43145         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
43146         is not available.
43148         bootstrap: properly check for libtool
43149         * build-aux/bootstrap (libtoolize): Also run libtool when older
43150         usage is detected.
43152 2012-01-15  Bruno Haible  <bruno@clisp.org>
43154         Improve support for MSVC 9.
43155         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
43156         clashes on MSVC.
43157         * lib/fcntl.in.h: Likewise.
43158         * lib/stdlib.in.h: Likewise.
43159         * lib/sys_stat.in.h: Likewise.
43161 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
43163         gnupload: we hold the master copy of this script now
43164         For motivation and more information, see:
43165         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
43166         * build-aux/gnupload: Make it clear in the heading comments that the
43167         master copy of this file is maintained by gnulib.  Since we are at
43168         it, bump its copyright year and ...
43169         ($scriptversion): ... the date in its version.
43170         ($usage): Patches and bug reports should be sent to the gnulib list,
43171         not the automake one.
43172         * config/srclist.txt: Don't try to sync 'gnupload' from automake
43173         anymore.
43175 2012-01-15  Bruno Haible  <bruno@clisp.org>
43177         Fix module 'random'.
43178         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
43179         initstate, setstate are declared.
43181 2012-01-14  Bruno Haible  <bruno@clisp.org>
43183         Tests for module 'random'.
43184         * modules/random-tests: New file.
43185         * tests/test-random.c: New file, based on tests/test-random_r.c.
43187         New module 'random'.
43188         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
43189         declarations.
43190         * lib/random.c: New file, based on glibc/stdlib/random.c.
43191         * m4/random.m4: New file.
43192         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
43193         HAVE_RANDOM.
43194         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
43195         * modules/random: New file.
43196         * config/srclist.txt: Add an entry for random.c.
43197         * doc/posix-functions/random.texi: Mention the 'random' module.
43198         * doc/posix-functions/initstate.texi: Likewise.
43199         * doc/posix-functions/setstate.texi: Likewise.
43200         * doc/posix-functions/srandom.texi: Likewise.
43202 2012-01-12  Bruno Haible  <bruno@clisp.org>
43204         random_r: Use common idioms.
43205         * lib/random_r.c: Include <stdlib.h> first.
43207         random_r: Override incompatible API on AIX, OSF/1.
43208         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
43209         Override the system function if REPLACE_RANDOM_R is 1.
43210         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
43211         and OSF/1, set REPLACE_RANDOM_R.
43212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
43213         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
43214         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
43215         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
43216         * doc/glibc-functions/random_r.texi: Likewise.
43217         * doc/glibc-functions/setstate_r.texi: Likewise.
43219         random_r: Support for MSVC 9.
43220         * lib/random_r.c: Include stdint.h, not inttypes.h.
43222 2012-01-12  Eric Blake  <eblake@redhat.com>
43224         inet_ntop: guard extra work by IF_LINT
43225         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
43226         better code generation when not checking for warnings.
43227         Suggested by Paul Eggert and Jim Meyering.
43229         strptime: fix regression on mingw
43230         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
43231         Fix regression.  Reported by Bruno Haible.
43233 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
43234             Bruno Haible  <bruno@clisp.org>
43236         copy-file: add error-code-returning variant.
43237         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
43238         (qcopy_file_preserving): New declaration.
43239         * lib/copy-file.c (qcopy_file_preserving): Renamed from
43240         copy_file_preserving. Change return type to 'int'. Don't emit an error
43241         message here.
43242         (copy_file_preserving): New function.
43243         * tests/test-copy-file.c: Include <stdlib.h>.
43244         (main): Test qcopy_file_preserving if the environment variable
43245         NO_STDERR_OUTPUT is set.
43246         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
43247         with NO_STDERR_OUTPUT
43248         * tests/test-copy-file-2.sh: Likewise.
43250 2012-01-10  Bruno Haible  <bruno@clisp.org>
43252         copy-file: Use 'quote' module consistently.
43253         * lib/copy-file.c (copy_file_preserving): Use quote().
43255         copy-file: Refactor.
43256         * lib/copy-file.c: Include quote.h.
43257         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
43258         message here.
43259         * modules/copy-file (Depends-on): Add quote.
43261         acl: Export qcopy_acl.
43262         * lib/acl.h (qcopy_acl): New declaration.
43263         * lib/copy-acl.c (qcopy_acl): Make non-static.
43265         acl: Rename a local variable.
43266         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
43268         acl: Align return values of copy_acl and qcopy_acl.
43269         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
43270         maybe < -1.
43272 2012-01-11  Eric Blake  <eblake@redhat.com>
43274         strptime: silence gcc warnings
43275         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
43276         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
43277         Reported by Daniel P. Berrange.
43279         inet_ntop: silence gcc warning
43280         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
43281         Reported by Daniel P. Berrange.
43283 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
43285         getloadavg test: skip the test on GNU/Linux without /proc mounted
43286         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
43287         file.  When /proc is not mounted, it always fails with ENOENT.
43288         * tests/test-getloadavg.c (main): Treat ENOENT return code from
43289         getloadavg(3) the same way as ENOSYS and ENOTSUP.
43291 2012-01-10  Bruno Haible  <bruno@clisp.org>
43293         regex: Avoid link error on MSVC 9.
43294         * modules/regex (Depends-on): Add wctype.
43296 2012-01-10  Bruno Haible  <bruno@clisp.org>
43298         doc: Mention --with-tests option.
43299         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
43300         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
43301         --with-tests.
43302         Reported by Reuben Thomas.
43304 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
43306         users.txt: order package names lexicographically.
43307         * users.txt: Order package names lexicographically.
43309 2012-01-10  Jim Meyering  <meyering@redhat.com>
43311         maint.mk: fix description in comment
43312         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
43314         ignore-value: remove deprecated ignore_ptr function
43315         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
43316         * NEWS: Note this.
43318 2012-01-09  Jim Meyering  <meyering@redhat.com>
43320         test-init.sh: avoid a subshell
43321         * tests/test-init.sh: Remove protective subshell.
43322         Suggested by Bernhard Voelker.  While a subshell is normally
43323         required to protect against older shells (Solaris, FreeBSD) that
43324         warn about a missing program before performing redirection, the
43325         shell-selection tests performed by init.sh probably exclude any
43326         offending shell.
43328 2012-01-08  Bruno Haible  <bruno@clisp.org>
43330         setlocale tests: Avoid test failure on Solaris 11.0.
43331         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
43332         variable.
43334 2012-01-08  Bruno Haible  <bruno@clisp.org>
43336         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
43337         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43338         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
43339         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
43340         macro.
43341         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
43342         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
43343         * lib/spawn_faction_addopen.c: Add workaround implementation if
43344         HAVE_WORKING_POSIX_SPAWN.
43345         * modules/spawn (Makefile): Substitute
43346         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
43347         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
43348         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
43349         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
43350         (Depends-on): Update conditions.
43351         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
43352         the Solaris 11 bug.
43354 2012-01-08  Bruno Haible  <bruno@clisp.org>
43356         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
43357         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43358         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
43359         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
43360         macro.
43361         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
43362         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
43363         * lib/spawn_faction_adddup2.c: Add workaround implementation if
43364         HAVE_WORKING_POSIX_SPAWN.
43365         * modules/spawn (Makefile): Substitute
43366         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
43367         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
43368         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
43369         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
43370         (Depends-on): Update conditions.
43371         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
43372         the Solaris 11 bug.
43374 2012-01-08  Bruno Haible  <bruno@clisp.org>
43376         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
43377         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43378         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
43379         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
43380         HAVE_WORKING_POSIX_SPAWN.
43381         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
43382         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
43383         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
43384         * lib/spawn_faction_addclose.c: Add workaround implementation if
43385         HAVE_WORKING_POSIX_SPAWN.
43386         * modules/spawn (Makefile): Substitute
43387         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
43388         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
43389         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
43390         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
43391         (Depends-on): Update conditions.
43392         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
43393         the Solaris 11 bug.
43395 2012-01-08  Bruno Haible  <bruno@clisp.org>
43397         doc: Update for Solaris 11.0.
43398         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
43399         * m4/printf.m4: Update comments.
43401 2012-01-08  Bruno Haible  <bruno@clisp.org>
43403         mktime: Avoid compilation error on Solaris 11.
43404         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
43406 2012-01-08  Bruno Haible  <bruno@clisp.org>
43408         doc: Small fix.
43409         * doc/posix-headers/nl_types.texi: Correct platforms list.
43411 2012-01-08  Simon Josefsson  <simon@josefsson.org>
43413         Add lgpl-3.0 module.
43414         * MODULES.html.sh (Support for building documentation): Add
43415         lgpl-3.0.
43416         * modules/lgpl-3.0: New file.
43418 2012-01-08  Jim Meyering  <meyering@redhat.com>
43420         select.c: indent with spaces, not TABs
43421         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
43423 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43425         quotearg: do not use grave accent for left quote
43426         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
43427         locale_quoting_style.
43428         (quotearg_buffer_restyled): Fix example.
43429         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
43431 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43433         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
43434         Most programs do not have translation catalogs for English and much
43435         less separate catalogs for British and American English.  Drop the
43436         suggestion to translators about these two, and provide it
43437         automatically for Unicode locales.  Like most programs, even those
43438         using American English, we use single quotation marks.  This conflicts
43439         with the American typographic convention, but works better when you
43440         cite the entire error message within double quotes.  It also tries not
43441         to clash with established practice and with what non-gnulib programs
43442         will usually do.
43443         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
43444         using an UTF-8 or GB-18030 locale.  The list of other locales with
43445         quotes was provided by Bruno Haible.
43446         (quotearg_buffer_restyled): Adjust instructions to translators.
43447         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
43448         text, since this would be wrong when using Unicode.
43449         * modules/quotearg: Depend on c-strcaseeq.
43451 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43453         quotearg: fix Wikipedia link
43454         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
43456 2012-01-07  Simon Josefsson  <simon@josefsson.org>
43458         Fix for mingw with MSVC9.
43459         * m4/ld-version-script.m4: Check that compiler rejects version
43460         scripts with syntax errors.  Reported by Bruno Haible
43461         <bruno@clisp.org>.
43463 2012-01-06  Bruno Haible  <bruno@clisp.org>
43465         Talk about "native Windows API", not "Woe32".
43466         * lib/accept4.c: Update comments to mention native Windows.
43467         * lib/execute.c: Likewise.
43468         * lib/fatal-signal.c: Likewise.
43469         * lib/localcharset.c: Likewise.
43470         * lib/nanosleep.c: Likewise.
43471         * lib/nl_langinfo.c: Likewise.
43472         * lib/pclose.c: Likewise.
43473         * lib/pipe-filter-gi.c: Likewise.
43474         * lib/pipe-filter-ii.c: Likewise.
43475         * lib/pipe.c: Likewise.
43476         * lib/pipe2.c: Likewise.
43477         * lib/popen.c: Likewise.
43478         * lib/progreloc.c: Likewise.
43479         * lib/relocatable.c: Likewise.
43480         * lib/sigaction.c: Likewise.
43481         * lib/sigprocmask.c: Likewise.
43482         * lib/spawn-pipe.h: Likewise.
43483         * lib/spawn-pipe.c: Likewise.
43484         * lib/spawni.c: Likewise.
43485         * lib/stat-time.h: Likewise.
43486         * lib/w32spawn.h: Likewise.
43487         * tests/test-isatty.c: Likewise.
43488         * lib/config.charset: More comments.
43489         * doc/gnulib-intro.texi: Mention native Windows.
43490         * doc/posix-functions/_Exit_C99.texi: Likewise.
43491         * doc/posix-headers/fcntl.texi: Likewise.
43493 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
43495         argp: Avoid crash if translator uses % characters in a translation.
43496         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
43497         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
43499 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
43501         doc: C11 and C++11 are now official
43502         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
43503         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
43504         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
43505         * modules/stdalign:
43506         Replace references to draft C1X to C11, and to draft C++0X to C++11.
43508 2012-01-06  Bruno Haible  <bruno@clisp.org>
43510         uc-is-grapheme-break tests: Tweak.
43511         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
43512         message.
43514 2012-01-06  Bruno Haible  <bruno@clisp.org>
43516         test-init.sh: correct the test for diff -u
43517         * tests/test-init.sh: Also redirect stdout to /dev/null.
43519 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
43521         Use ', not `, for quoting output.
43522         * build-aux/announce-gen (usage, sizes, print_news_deltas)
43523         (print_changelog_deltas, get_tool_versions, main program):
43524         * build-aux/git-version-gen:
43525         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
43526         * build-aux/move-if-change (help):
43527         * build-aux/useless-if-before-free (usage, main program):
43528         * check-module (parse_module_file, usage)
43529         (find_included_lib_files, check_module):
43530         * lib/argmatch.c (main) [TEST]:
43531         * lib/argp-help.c (_help):
43532         * lib/getopt1.c (main) [TEST]:
43533         * lib/git-merge-changelog.c (usage):
43534         * lib/xstrtol-error.c (xstrtol_error):
43535         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
43536         * m4/argz.m4 (gl_FUNC_ARGZ):
43537         * m4/bison.m4 (gl_BISON):
43538         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
43539         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
43540         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
43541         * m4/fpending.m4 (gl_PREREQ_FPENDING):
43542         * m4/gc-random.m4 (gl_GC_RANDOM):
43543         * m4/intl.m4 (gt_CHECK_DECL):
43544         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
43545         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
43546         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
43547         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
43548         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
43549         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
43550         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
43551         * tests/test-dirname.c (main):
43552         * tests/test-getpass.c (main):
43553         * tests/test-iconvme.c (main):
43554         * tests/test-parse-datetime.c (LOG):
43555         * tests/test-xstrtoimax.sh:
43556         * tests/test-xstrtol.sh:
43557         * tests/test-xstrtoll.sh:
43558         * tests/test-xstrtoumax.sh:
43559         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
43560         * top/GNUmakefile (abort-due-to-no-makefile):
43561         Quote 'like this', not `like this', as per the recent change to
43562         the GNU coding standards.
43564 2012-01-05  Bruno Haible  <bruno@clisp.org>
43566         strtoimax: Don't force a replacement on systems where intmax_t is int.
43567         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
43568         'intmax_t' is not larger than 'int'.
43569         Reported by Pádraig Brady <P@draigBrady.com>.
43571 2012-01-05  Bruno Haible  <bruno@clisp.org>
43573         doc: Mention NetBSD bugs.
43574         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
43575         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
43577 2012-01-05  Bruno Haible  <bruno@clisp.org>
43579         strtoumax tests: Enhance tests.
43580         * tests/test-strtoumax.c (main): Add tests for large values.
43582 2012-01-05  Bruno Haible  <bruno@clisp.org>
43584         strtoimax: Work around AIX 5.1 bug.
43585         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
43586         definition.
43587         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
43588         Set HAVE_STRTOIMAX.
43589         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
43590         REPLACE_STRTOIMAX.
43591         * modules/inttypes-incomplete (Makefile.am): Substitute
43592         REPLACE_STRTOIMAX.
43593         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
43594         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
43595         (Depends-on): Update conditions.
43596         * tests/test-strtoimax.c (main): Add tests for large values.
43597         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
43599 2012-01-05  Bruno Haible  <bruno@clisp.org>
43601         inttypes: Modernize.
43602         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
43603         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
43604         (Makefile.am): Update inttypes.h rule.
43606 2012-01-05  Jim Meyering  <meyering@redhat.com>
43608         init.sh: don't waste a subshell just to redirect stderr
43609         * tests/init.sh: In testing for diff -u and diff -c, use a
43610         stderr-redirecting exec inside `...` rather than a subshell.
43612         test-init.sh: avoid failure on HP-UX 11.00
43613         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
43614         resolves to diff -c or cmp.  Reported by Bruno Haible.
43616 2012-01-05  Bruno Haible  <bruno@clisp.org>
43618         Tests for module 'strtoull'.
43619         * modules/strtoull-tests: New file.
43620         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
43622 2012-01-05  Bruno Haible  <bruno@clisp.org>
43624         Tests for module 'strtoll'.
43625         * modules/strtoll-tests: New file.
43626         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
43628 2012-01-05  Bruno Haible  <bruno@clisp.org>
43630         Tests for module 'strtoul'.
43631         * modules/strtoul-tests: New file.
43632         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
43634 2012-01-05  Bruno Haible  <bruno@clisp.org>
43636         Tests for module 'strtol'.
43637         * modules/strtol-tests: New file.
43638         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
43640 2012-01-04  Jim Meyering  <meyering@redhat.com>
43642         test-init.sh: accommodate Solaris 5.10's different diff -u output
43643         * tests/test-init.sh: Also exempt @@ lines from the comparison
43644         of diff output, since Solaris 5.10 and GNU diff formats differ.
43645         Reported by Stefano Lattarini.
43647 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43649         test-posixtm: don't assume signed integer wraparound
43650         * tests/test-posixtm.c (main): Don't assume wraparound semantics
43651         after signed integer overflow.  Inspired by (though it may not
43652         fix) Bruno Haible's bug report in
43653         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
43655         Spell out "Windows 9x" and "Windows XP".
43656         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
43657         "Windows 9x" and "WinXP" with "Windows XP".
43659 2012-01-04  Jim Meyering  <meyering@redhat.com>
43661         test-vc-list-files-cvs.sh: remove obsolete comment
43662         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
43663         double exit.  Now that's all encapsulated via skip_ and Exit.
43665 2012-01-04  Bruno Haible  <bruno@clisp.org>
43667         Talk about "native Windows API", not "Win32".
43668         * lib/classpath.c: Update comments to mention native Windows.
43669         * lib/csharpexec.c: Likewise.
43670         * lib/dup2.c: Likewise.
43671         * lib/error.c: Likewise.
43672         * lib/fcntl.c: Likewise.
43673         * lib/filename.h: Likewise.
43674         * lib/findprog.c: Likewise.
43675         * lib/get-rusage-as.c: Likewise.
43676         * lib/get-rusage-data.c: Likewise.
43677         * lib/getpagesize.c: Likewise.
43678         * lib/javaexec.c: Likewise.
43679         * lib/msvc-inval.c: Likewise.
43680         * lib/msvc-nothrow.c: Likewise.
43681         * lib/nanosleep.c: Likewise.
43682         * lib/nonblocking.c: Likewise.
43683         * lib/printf-parse.c: Likewise.
43684         * lib/setlocale.c: Likewise.
43685         * lib/sigaction.c: Likewise.
43686         * lib/strerror_r.c: Likewise.
43687         * lib/tmpdir.c: Likewise.
43688         * lib/vasnprintf.c: Likewise.
43689         * lib/w32spawn.h: Likewise.
43690         * lib/waitpid.c: Likewise.
43691         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
43692         * m4/locale-ar.m4: Likewise.
43693         * m4/locale-fr.m4: Likewise.
43694         * m4/locale-ja.m4: Likewise.
43695         * m4/locale-tr.m4: Likewise.
43696         * m4/locale-zh.m4: Likewise.
43697         * m4/printf.m4: Likewise.
43698         * tests/test-cloexec.c: Likewise.
43699         * tests/test-copy-acl.sh: Likewise.
43700         * tests/test-copy-file.sh: Likewise.
43701         * tests/test-file-has-acl.sh: Likewise.
43702         * tests/test-set-mode-acl.sh: Likewise.
43703         * tests/test-dup-safer.c: Likewise.
43704         * tests/test-dup2.c: Likewise.
43705         * tests/test-dup3.c: Likewise.
43706         * tests/test-fcntl.c: Likewise.
43707         * tests/test-nonblocking-pipe.h: Likewise.
43708         * tests/test-nonblocking-socket.h: Likewise.
43709         * tests/test-pipe.c: Likewise.
43710         * tests/test-pipe2.c: Likewise.
43711         * tests/test-spawn-pipe-child.c: Likewise.
43712         * doc/acl-resources.txt: Likewise.
43713         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43714         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
43715         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
43716         * lib/localcharset.c: Update comments to mention native Windows.
43717         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43718         * lib/localename.c: Likewise.
43719         * lib/progreloc.c: Likewise.
43720         * lib/relocatable.c: Likewise.
43721         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43722         (windows_compute_revents): Renamed from win32_compute_revents.
43723         (windows_compute_revents_socket): Renamed from
43724         win32_compute_revents_socket.
43725         * lib/select.c: Update comments to mention native Windows.
43726         (windows_poll_handle): Renamed from win32_poll_handle.
43727         * m4/threadlib.m4: Update comments to mention native Windows.
43728         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
43729         --enable-threads=windows instead of --enable-threads=win32. Set
43730         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
43731         * lib/glthread/lock.h: Update comments to mention native Windows.
43732         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
43733         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
43734         USE_WIN32_THREADS.
43735         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
43736         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
43737         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
43738         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
43739         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
43740         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
43741         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
43742         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
43743         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
43744         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
43745         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
43746         * tests/test-tls.c: Likewise.
43747         Rationale:
43748         Microsoft renamed the "Win32 API" to "Windows API", as it is available
43749         on both 32-bit and 64-bit Windows systems.
43750         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
43751         line of distinction is between "native Windows" on one side and Unix/
43752         POSIX systems on the other side. More details in
43753         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
43754         Suggested by Paul Eggert.
43756 2012-01-03  Bruno Haible  <bruno@clisp.org>
43758         isatty: Support for MSVC 9.
43759         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
43760         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
43761         (_isatty_nothrow): New function.
43762         (isatty): Use it instead of _isatty.
43763         (IsConsoleHandle): Add comment, from Paolo Bonzini.
43764         * lib/poll.c (IsConsoleHandle): Likewise.
43765         * lib/select.c (IsConsoleHandle): Likewise.
43766         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
43767         (gl_PREREQ_ISATTY): New macro.
43768         * modules/isatty (Depends-on): Add msvc-inval.
43769         (configure.ac): Invoke gl_PREREQ_ISATTY.
43771 2012-01-03  Jim Meyering  <meyering@redhat.com>
43773         maint.mk: remove temporary transition aid from over 1.5 years ago
43774         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
43775         purpose was to aid in the transition (avoiding silent malfunction)
43776         from that old name to the new _sc_search_regexp.  This shim was
43777         added by commit 219c504b.
43779         init.sh: do not try to accommodate compare arguments starting with "-"
43780         * tests/init.sh (compare_dev_null_): Do not try to accommodate
43781         compare arguments that start with "-".  Besides, we do not worry
43782         about this when invoking diff or cmp; why start now with sed?
43783         Using "--" to separate options from argument would trigger sed
43784         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
43785         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
43787 2012-01-02  Bruno Haible  <bruno@clisp.org>
43789         Enhance tests for module 'isatty'.
43790         * modules/isatty-tests (Depends-on): Add pipe-posix.
43791         * tests/test-isatty.c: Include <fcntl.h>.
43792         (DEV_NULL): New macro.
43793         (main): Test the resut of isatty() also on regular files, pipes, and
43794         /dev/null.
43796         New module 'isatty'.
43797         * lib/unistd.in.h (isatty): New declaration.
43798         * lib/isatty.c: New file, based on an idea of
43799         Bastien Roucariès <roucaries.bastien@gmail.com>.
43800         * m4/isatty.m4: New file.
43801         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
43802         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
43803         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
43804         REPLACE_ISATTY.
43805         * modules/isatty: New file.
43806         * doc/posix-functions/isatty.texi: Mention the new module.
43807         Suggested by Paolo Bonzini.
43809 2012-01-02  Bruno Haible  <bruno@clisp.org>
43811         canonicalize: Tweak 2011-12-29 commit.
43812         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
43813         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
43815 2012-01-02  Jim Meyering  <meyering@redhat.com>
43817         gitlog-to-changelog: describe input syntax in --help output
43818         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
43820         gitlog-to-changelog: fix typo in --help: show backslash before email @
43821         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
43822         in sources, but not in actual output.
43824 2011-12-30  Jim Meyering  <meyering@redhat.com>
43826         gitlog-to-changelog: don't malfunction when name contains %-directive
43827         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
43828         in a name string cause trouble.  E.g., with a user name of "%s",
43829         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
43831 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
43833         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
43834         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
43835         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
43836         the "  (tiny change)" notation that is appended to the standard
43837         ChangeLog "date  name  email" header line.
43839 2012-01-01  Jim Meyering  <meyering@redhat.com>
43841         test-framework-sh: init.sh: fix "make dist" failure
43842         When using gnulib-tool's --with-tests option and any module that
43843         depends on test-framework-sh, "make dist" would fail due to the
43844         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
43845         in the gltests directory, and not in the gllib/ directory.
43846         One way to work around that is to move the EXTRA_DIST += init.sh
43847         from the primary module to the -tests one:
43848         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
43849         * modules/test-framework-sh (Makefile.am): ...not here.
43850         Reported by Tom G. Christensen in
43851         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
43853         version-etc: update copyright year reported by --version
43854         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
43856 2011-12-31  Pádraig Brady  <P@draigBrady.com>
43858         canonicalize: only stat() if required
43859         * lib/canonicalize.c (canonicalize_filename_mode):
43860         Avoid calling l?stat() when both CAN_MISSING,
43861         and CAN_NOLINKS are set, as we neither need
43862         to resolve symlinks or test component existence.
43864 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
43866         doc: cover st_ino issues once; add OpenVMS etc.
43867         * doc/posix-functions/stat.texi (stat):
43868         * doc/posix-functions/lstat.texi (lstat):
43869         * doc/posix-functions/fstatat.texi (fstatat):
43870         * doc/posix-functions/fstat.texi (fstat):
43871         Move general 'struct stat' stuff to sys_stat.texi,
43872         leaving behind a pointer.
43873         * doc/posix-headers/sys_stat.texi (sys/stat.h):
43874         Merge duplicate info about 'struct stat' problems into here.
43875         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
43876         and suggest partial workarounds.
43878         same-inode: port to OpenVMS
43879         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
43880         three st_ino values.
43882 2011-12-30  Pádraig Brady  <P@draigBrady.com>
43884         canonicalize: fix references to stat() and lstat()
43885         * lib/canonicalize.c (canonicalize_filename_mode):
43886         Ensure references always resolve to a replacement
43887         function if required (even via a macro).
43889 2011-12-30  Jim Meyering  <meyering@redhat.com>
43891         gitlog-to-changelog: remove a little duplication
43892         * build-aux/gitlog-to-changelog (main): Grep @lines once,
43893         rather than twice.
43895 2011-12-29  Pádraig Brady  <P@draigBrady.com>
43897         canonicalize: add support for not resolving symlinks
43898         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
43899         indicate we don't want to follow symlinks.  Also
43900         provide CAN_MODE_MASK to aid setting these existing
43901         mutually exclusive values.
43902         * lib/canonicalize.c (canonicalize_filename_mode):
43903         Extract the flags from can_mode parameter, which
43904         are currently just used to select between stat()
43905         and lstat().  Also ensure that mutually exclusive
43906         values are flagged immediately as invalid.
43907         * tests/test-canonicalize.c: Verify symlinks are
43908         not followed, and that invalid flag combinations
43909         are diagnosed.
43911 2011-12-25  Jim Meyering  <meyering@redhat.com>
43913         gitlog-to-changelog: do not clump multi-paragraph entries
43914         Identical header lines (date,name,email+coauthors) are suppressed,
43915         thus putting all entries with those same characteristics under
43916         a single header.  However, when a log entry consists of two or
43917         more paragraphs, it may not be clear where it starts and ends.
43918         This change makes it so that such an entry is always separated
43919         from others by a header line, even when that header would
43920         otherwise be suppressed.
43921         * build-aux/gitlog-to-changelog: Implement the above.
43922         Inspired by a related request from Stefano Lattarini in
43923         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
43925 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43927         announce-gen: fix `cmd' typo in diagnostic
43928         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
43929         diagnostic: a missing '$' meant that the command was not output.
43931 2011-12-23  Jim Meyering  <meyering@redhat.com>
43933         test-framework-sh: distribute init.sh
43934         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
43935         Otherwise, "make -C gnulib-tests check" (at least in grep) would
43936         fail due to the lack of init.sh.
43938         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
43939         * modules/atexit-tests: Rather than listing tests/init.sh,
43940         now that there's a module for it, simply depend on that new module.
43941         * modules/closein-tests: Likewise.
43942         * modules/exclude-tests: Likewise.
43943         * modules/getcwd-tests: Likewise.
43944         * modules/perror-tests: Likewise.
43945         * modules/pread-tests: Likewise.
43946         * modules/pwrite-tests: Likewise.
43947         * modules/vc-list-files-tests: Likewise.
43948         * modules/verify-tests: Likewise.
43949         * modules/xalloc-die-tests: Likewise.
43950         * modules/xstrtoimax-tests: Likewise.
43951         * modules/xstrtol-tests: Likewise.
43952         * modules/xstrtoll-tests: Likewise.
43953         * modules/xstrtoumax-tests: Likewise.
43954         * modules/yesno-tests: Likewise.
43956 2011-12-22  Jim Meyering  <meyering@redhat.com>
43958         test-framework-sh: add minimal tests of init.sh's compare function
43959         * modules/test-framework-sh-tests: New file.
43960         * tests/test-init.sh: New file.
43962         test-framework-sh: new module
43963         * modules/test-framework-sh: New file.
43964         * MODULES.html.sh (Support for maintaining and releasing projects):
43965         List it.
43967         init.sh: do not emit simulated diff output to stderr
43968         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
43970 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
43972         .gitignore: ignore gnulib.dvi and regex.info
43973         * doc/.gitignore:add gnulib.dvi and regex.info
43975 2011-12-22  Jim Meyering  <meyering@redhat.com>
43977         init.sh: correct previous change
43978         * tests/init.sh (compare): My previous change was wrong.
43979         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
43981         init.sh: avoid unwarranted test failure when using "set -e"
43982         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
43983         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
43984         a use like "compare exp out" would get evoke an unconditional failure.
43986 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
43988         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
43989         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
43990         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
43991         autoreconf that did not.
43992         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
43993         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
43995 2011-12-17  Jim Meyering  <meyering@redhat.com>
43997         bootstrap: remove some now-unneeded code
43998         This script arose back when gnulib-tool was young.
43999         Since then, it has seen improvements that render much of this
44000         script unnecessary.  In particular, it can now make symlinks
44001         to the files it uses.  Also, I no longer see as much value in
44002         marking files as read-only via comments.
44003         If you relied on the symlink-creation feature of the preceding
44004         version of this script, you can get most of that functionality
44005         by adding the --symlink option to the definition of
44006         gnulib_tool_option_extras in your bootstrap.conf file.
44007         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
44008         Run autopoint and libtoolize *before* gnulib-tool.
44009         After it, run an abbreviated autoreconf, rather than a loop around
44010         all tools.
44011         (slirp, bt_mark_as_generated): Remove functions.
44013 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44015         ftoastr: fix typo
44016         * lib/ftoastr.h: Fix misspelling in comment.
44018 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
44020         * top/README-release: fix punctuation.
44022 2011-12-17  Jim Meyering  <meyering@redhat.com>
44024         bootstrap: correct the recent buildreq change
44025         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
44026         had no effect.
44027         * build-aux/bootstrap (buildreq): Bracket each search term with
44028         "*...*", so that the shell "case" statement works as intended.
44029         Add comments.
44031 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
44033         build: let bootstrap resort to wget when downloading .po files
44034         * build-aux/bootstrap (download_po_files): Fallback to wget when
44035         downloading the .po files via rsync fails.  This is necessary to
44036         bootstrap from behind a strict firewall.
44038 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44040         stdint: don't assume C++11 when compiling with g++
44041         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
44042         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
44043         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
44044         work also in C++ before C++11, as that improperly inhibits
44045         generating a substitute stdint.h for that case.
44047 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44049         alloca: protect comment from gnulib-tool
44050         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
44051         that gnulib-tool doesn't think it's a license, and munge it to
44052         say "GCC version 3".
44054 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
44056         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
44057         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
44058         $(abs_top_builddir) instead of $(top_builddir).
44060 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
44062         strftime-tests: also test nanoseconds
44063         * tests/test-strftime.c (T): Add a test of %N.
44065 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
44067         inttypes, stdint: add C++11 support
44068         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
44069         when including inttypes.h and stdint.h.  Support this change to
44070         the standard.
44071         * doc/posix-headers/inttypes.texi (inttypes.h):
44072         * doc/posix-headers/stdint.texi (stdint.h): Document this.
44073         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
44074         Define if not defined already, for the benefit of pre-C++11 hosts.
44075         Define the standard format macros (e.g., PRId8) always.
44076         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
44077         Likewise, if __cpluspus.  Define the standard constant and limit
44078         macros (e.g., INT8_C, INT8_MAX) always.
44079         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
44080         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
44081         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
44082         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
44083         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
44084         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
44085         Likewise.
44087 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
44089         nonblocking tests: Fix test failure on Linux/PPC.
44090         Suggested by Prerna Saxena in
44091         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
44092         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
44093         Set to 1100000.
44095 2011-12-12  Jim Meyering  <meyering@redhat.com>
44097         argmatch: don't hard-code `' when listing valid option arguments
44098         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
44099         use the quote function to add quotes.  Use fputs rather than
44100         fprintf for the format string with no format directive.
44102 2011-12-07  Eric Blake  <eblake@redhat.com>
44104         bootstrap: detect tools required by gnulib-tool
44105         * build-aux/bootstrap (buildreq): Provide minimum implicit
44106         dependencies.
44107         * DEPENDENCIES: Mention patch as a prereq.
44109 2011-12-04  Bruno Haible  <bruno@clisp.org>
44111         sethostname: Port to Windows platforms.
44112         * lib/sethostname.c: Provide an alternate implementation for Windows
44113         platforms.
44114         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
44115         (main): Skip the test if sethostname() fails with EPERM. On Windows
44116         platforms, don't check the result of gethostname().
44118 2011-12-04  Bruno Haible  <bruno@clisp.org>
44119             Jim Meyering  <meyering@redhat.com>
44121         tests: Avoid spurious error message on platforms without mktemp program.
44122         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
44124 2011-12-04  Bruno Haible  <bruno@clisp.org>
44126         sethostname: Fix documentation.
44127         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
44128         "not fixed" section.
44130 2011-12-03  Bruno Haible  <bruno@clisp.org>
44132         gnulib-tool: Verify that the License field is present and non-empty.
44133         * gnulib-tool (func_get_license_raw): New function, extracted from
44134         func_get_license.
44135         (func_get_license): Use it. Warn if the module is not a test module and
44136         has no license.
44137         Suggested by Jim Meyering.
44139 2011-12-03  Bruno Haible  <bruno@clisp.org>
44141         sethostname tests: Fix link error on mingw.
44142         * tests/test-sethostname1.c: New file, extracted from
44143         tests/test-sethostname.c.
44144         * tests/test-sethostname2.c: New file, extracted from
44145         tests/test-sethostname.c.
44146         * tests/test-sethostname.c: Remove file.
44147         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
44148         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
44149         (Depends-on): Add gethostname.
44150         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
44151         Link the latter with $(GETHOSTNAME_LIB).
44153         sethostname tests: Fix compilation error on mingw.
44154         * tests/test-sethostname.c: Don't include <sys/types.h>.
44155         (geteuid): Use a dummy value without uid_t.
44156         * modules/sethostname-tests (Depends-on): Remove sys_types.
44158         sethostname tests: Avoid a gcc warning.
44159         * tests/test-sethostname.c (main): Remove an unused variable.
44161         Tweak last commit.
44162         * modules/sethostname-tests (Files): Sort by decreasing importance.
44163         (configure.ac): Check for geteuid.
44164         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
44165         the test when there's nothing to test. Drop an unnecessary cast.
44166         Improve an error message. Verify that the final sethostname() call
44167         succeeds.
44169 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44171         Add a test suite for the sethostname module.
44172         * modules/sethostname-tests: New file.  A test program
44173         for the sethostname module.
44174         * tests/test-sethostname.c: Likewise.
44176 2011-12-03  Bruno Haible  <bruno@clisp.org>
44178         Tweak last commit.
44179         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
44180         Fix preprocessor directives indentation. Fix typos.
44181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
44182         * modules/unistd (Makefile): Likewise.
44184 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44186         Integrate the sethostname module into unistd.
44187         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
44188         into the unistd.h header.
44189         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
44190         preprocessor directives.
44191         * modules/unistd: Setup the Makefile substitutions of the
44192         SETHOSTNAME preprocessor directives.
44194 2011-12-03  Bruno Haible  <bruno@clisp.org>
44196         Tweak last commit.
44197         * lib/sethostname.c: Don't include <string.h>.
44198         (sethostname): No need to copy the argument string to the stack. Don't
44199         call clearerr. Preserve errno when fprintf failed.
44200         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
44201         Don't invoke AC_REPLACE_FUNCS.
44202         * modules/sethostname (Link): Remove empty section.
44203         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
44204         failure problem.
44206 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44208         New module 'sethostname'.
44209         * lib/sethostname.c (sethostname): New file.  Provide sethostname
44210         for systems that lack it.
44211         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
44212         sethostname declaration and function.
44213         * modules/sethostname: New file.  Define the sethostname module.
44215 2011-12-03  Bruno Haible  <bruno@clisp.org>
44217         Tweak last commit.
44218         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
44220 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44222         Split the HOST_NAME_MAX detection into a separate m4 macro.
44223         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
44224         macro so it can be used by the pending sethostname module.
44226 2011-12-03  Bruno Haible  <bruno@clisp.org>
44228         Fix module descriptions syntax.
44229         * modules/argv-iter (License): Fix syntax.
44230         * modules/di-set (License): Likewise.
44231         * modules/ino-map (License): Likewise.
44232         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
44234 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
44236         stdalign: port to Clang 3.0
44237         Problem reported by Simon Josefsson in
44238         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
44239         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
44240         which has <stdalign.h> but which does not define alignof.
44241         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
44243 2011-12-01  Eric Blake  <eblake@redhat.com>
44245         mktempd: silence dd usage
44246         * build-aux/mktempd (rand_bytes): Silence dd.
44248 2011-11-30  Simon Josefsson  <simon@josefsson.org>
44250         manywarnings: Don't mention gcc version in docstring.
44251         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
44252         Jim Meyering <meyering@redhat.com>.
44254 2011-11-30  Jim Meyering  <meyering@redhat.com>
44256         hash: mark a few floating point constants with "f" suffix
44257         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
44258         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
44259         floating point constants with "f", since they're destined to be
44260         saved/used as "float"s.
44262 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
44264         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
44265         * tests/test-float.c (test_long_double): Correct and re-enable the
44266         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
44268 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
44270         Avoid subtracting two pointers that don't point into the same block.
44271         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
44272         only pointers into the same memory block are subtracted. We cannot
44273         assume that sizeof (ptrdiff_t) == sizeof (void *).
44275 2011-11-29  Eric Blake  <eblake@redhat.com>
44277         maint.mk: add syntax check for use of compare from init.sh
44278         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
44279         moved here from coreutils.
44281         manywarnings: drop -Wunsuffixed-float-constants
44282         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
44283         '1.0D', which is the only way to silence this warning for 'double'.
44285 2011-11-29  Jim Meyering  <meyering@redhat.com>
44287         hash: mark compute_bucket_size with the pure attribute
44288         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
44290         quotearg, propername: correct pragma guard expression
44291         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
44292         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
44294 2011-11-28  Jim Meyering  <meyering@redhat.com>
44296         propername: do not mark proper_name with the const attribute
44297         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
44298         since it examines data pointed to by its parameter.
44299         * lib/propername.c (proper_name): Instead, add a pragma to suppress
44300         the suggestion from -Wsuggest-attribute=const.
44302         propername: mark one more function as const
44303         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
44305 2011-11-27  Jim Meyering  <meyering@redhat.com>
44307         mark functions with const and pure attributes
44309         Mark functions per suggestions from gcc-4.6 when using these options:
44310         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
44311         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
44312         Follow these guidelines: when possible, apply the attribute to
44313         an extern declaration, not to its definition.  Apply it to the
44314         definition only when the definition is static.
44315         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
44316         * lib/argv-iter.h (argv_iter_n_args): Likewise.
44317         * lib/base64.h (isbase64): Likewise.
44318         * lib/basename-lgpl.c (last_component, base_len): Likewise.
44319         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
44320         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
44321         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
44322         (c_tolower, c_toupper): Likewise.
44323         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
44324         * lib/chdir-long.c (find_non_slash): Likewise.
44325         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
44326         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
44327         * lib/file-type.h (file_type): Likewise.
44328         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
44329         * lib/filevercmp.c (verrevcmp): Likewise.
44330         * lib/freadahead.h (freadahead): Likewise.
44331         * lib/fts.c (fts_maxarglen): Likewise.
44332         * lib/hash-pjw.h (hash_pjw): Likewise.
44333         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
44334         * lib/hash.c (is_prime, next_prime): Likewise.
44335         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
44336         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
44337         (hash_table_ok, hash_get_first, hash_string): Likewise.
44338         (compute_bucket_size): Likewise.
44339         * lib/i-ring.h (i_ring_empty): Likewise.
44340         * lib/isnan.c (isnanl): Likewise.
44341         * lib/math.h (isnanl, rpl_isnanl): Likewise.
44342         * lib/memcasecmp.h (memcasecmp): Likewise.
44343         * lib/memchr2.h (memchr2): Likewise.
44344         * lib/memcmp2.h (memcmp2): Likewise.
44345         * lib/parse-datetime.y (lookup_zone): Likewise.
44346         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
44347         [!WINDOWS_SOCKETS]: Likewise.
44348         * lib/strnlen1.h (strnlen1): Likewise.
44349         * lib/uniwidth.in.h (uc_width): Likewise.
44350         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
44351         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
44352         (quoting_options_from_style): Add a comment.
44353         * lib/propername.h (proper_name): Add a comment.
44355 2011-11-27  Bruno Haible  <bruno@clisp.org>
44357         Remove unused macros from !_LIBC code in glibc-borrowed files.
44358         * lib/fnmatch.c (STRCOLL): Remove macro.
44359         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
44360         * lib/glob.c (__stat, __readdir64): Remove macros.
44361         * lib/tempname.c (__open64, __xstat64): Remove macros.
44362         Suggested by Paul Eggert.
44364 2011-11-27  Bruno Haible  <bruno@clisp.org>
44366         getcwd: Fix link error on MSVC 9.
44367         * modules/getcwd (Depends-on): Add readdir, rewinddir.
44369 2011-11-27  Bruno Haible  <bruno@clisp.org>
44371         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
44372         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
44373         HAVE_OPENDIR is 0.
44374         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
44375         HAVE_CLOSEDIR is 0.
44376         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
44377         is 0.
44378         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
44380 2011-11-27  Bruno Haible  <bruno@clisp.org>
44382         getcwd: Fix bug from 2011-08-17.
44383         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
44384         platforms that need it.
44385         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
44386         code of 4 to be a failure, not a success. This ensures that
44387         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
44389 2011-11-27  Bruno Haible  <bruno@clisp.org>
44391         binary-io tests: Avoid test failure on mingw when libtool is used.
44392         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
44393         Don't verify the size of t-bin-out1.tmp here.
44394         * tests/test-binary-io.sh: Verify it here.
44395         Reported by Simon Josefsson.
44397 2011-11-26  Bruno Haible  <bruno@clisp.org>
44399         Fix conflict between two instantiations of module 'unistd'.
44400         * gnulib-tool (func_emit_autoconf_snippet): Substitute
44401         ${include_guard_prefix} also in the autoconf snippet.
44402         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
44403         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
44404         GNULIB_UNISTD_H_GETOPT.
44405         * modules/getopt-posix (configure.ac): Set the
44406         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
44407         * modules/getopt-gnu (configure.ac): Likewise.
44408         * modules/unistd (Makefile.am): Change the substitution value of
44409         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
44410         Reported by Simon Josefsson.
44412 2011-11-25  Bruno Haible  <bruno@clisp.org>
44414         pagealign_alloc: Doc and comments.
44415         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
44416         module.
44417         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
44419 2011-11-25  Jim Meyering  <meyering@redhat.com>
44421         test-update-copyright.sh: avoid false-positive failure
44422         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
44423         around false positive failure on Cygwin/Windows.  The latter was
44424         matching erroneously-created files with names like
44425         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
44427 2011-11-25  Simon Josefsson  <simon@josefsson.org>
44429         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
44430         * m4/valgrind-tests.m4: Check that the parameters that will be
44431         used works, not just a subset of them.  Reported by Bruno Haible
44432         <bruno@clisp.org>.
44434 2011-11-24  Jim Meyering  <meyering@redhat.com>
44436         test-stdalign.c: comment out long double tests
44437         * tests/test-stdalign.c: Don't try to reduce alignment of long double
44438         variables.  That provokes errors like this from gcc-4.7.0 20111124:
44439         error: '_Alignas' specifiers cannot reduce alignment of \
44440         'static_longdouble_alignas'.
44442 2011-11-22  Jim Meyering  <meyering@redhat.com>
44444         init.sh: make "compare /dev/null FILE" output more readable
44445         * tests/init.sh (compare_): Document the preferred order of arguments.
44446         (emit_diff_u_header_): New function.
44447         (compare_dev_null_): Emit a simulated diff, rather than just the
44448         contents of the unexpected file.  Suggestion from Bruno Haible.
44450 2011-11-21  Jim Meyering  <meyering@redhat.com>
44451             Eric Blake  <eblake@redhat.com>
44453         init.sh: work around OSF/1 5.1's mishandling of /dev/null
44454         * tests/init.sh: Make our compare function slightly more portable.
44455         Reported by Bruno Haible in
44456         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
44458 2011-11-21  Simon Josefsson  <simon@josefsson.org>
44460         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
44461         before using it, in code that ends up in config.h.
44463 2011-11-20  Bruno Haible  <bruno@clisp.org>
44465         getcwd: Work around getcwd bug on AIX 5..7.
44466         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
44467         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
44468         Use a different value for gl_cv_func_getcwd_path_max. Move the
44469         definition of HAVE_PARTLY_WORKING_GETCWD from here...
44470         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
44471         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
44472         Define HAVE_MINIMALLY_WORKING_GETCWD.
44473         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
44474         where it is not even minimally working, that is, on AIX.
44475         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
44476         m4/getcwd-path-max.m4.
44477         (main): Update exit code computation.
44478         * doc/posix-functions/getcwd.texi: Mention list of platforms where
44479         getcwd does not handle long file names.
44481 2011-11-20  Bruno Haible  <bruno@clisp.org>
44483         getcwd: Fix bug from 2009-09-10.
44484         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
44485         like "no".
44487 2011-11-20  Simon Josefsson  <simon@josefsson.org>
44489         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
44491 2011-11-20  Bruno Haible  <bruno@clisp.org>
44493         fma tests: Avoid shadowing local variables.
44494         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
44495         expected.
44497 2011-11-20  Bruno Haible  <bruno@clisp.org>
44499         copysignf tests: Fix.
44500         * tests/test-copysignf.c: Fix signature check.
44502 2011-11-20  Bruno Haible  <bruno@clisp.org>
44504         fma: Remove unused code.
44505         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
44506         unused macros.
44508 2011-11-20  Bruno Haible  <bruno@clisp.org>
44510         sethostname: Fix doc about AIX.
44511         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
44512         sethostname; it has it.
44514         sethostname: Mention more portability problems.
44515         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
44516         problem.
44517         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
44519 2011-11-19  Bruno Haible  <bruno@clisp.org>
44521         Depend on module fcntl-h when AT_FDCWD is used.
44522         * modules/utimens (Depends-on): Add fcntl-h.
44523         * modules/areadlinkat (Depends-on): Likewise.
44524         * modules/areadlinkat-with-size (Depends-on): Likewise.
44525         * modules/faccessat (Depends-on): Likewise.
44526         * modules/fchmodat (Depends-on): Likewise.
44527         * modules/fchownat (Depends-on): Likewise.
44528         * modules/getcwd (Depends-on): Likewise.
44529         * modules/mkdirat (Depends-on): Likewise.
44530         * modules/mkfifoat (Depends-on): Likewise.
44531         * modules/readlinkat (Depends-on): Likewise.
44532         * modules/symlinkat (Depends-on): Likewise.
44533         * modules/dup2-tests (Depends-on): Likewise.
44534         * modules/fdutimensat-tests (Depends-on): Likewise.
44535         * modules/futimens-tests (Depends-on): Likewise.
44537 2011-11-19  Bruno Haible  <bruno@clisp.org>
44539         euidaccess: Update a comment.
44540         * lib/euidaccess.c: Update comment about platforms with faccessat.
44542 2011-11-19  Bruno Haible  <bruno@clisp.org>
44544         openat: Fix file list.
44545         * modules/openat (Files): Remove lib/at-func.c.
44547 2011-11-19  Bruno Haible  <bruno@clisp.org>
44549         fstatat: Simplify.
44550         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
44551         gnulib should define rpl_fstatat, there is a
44552         "#define fstatat rpl_fstatat" in <sys/stat.h>.
44554 2011-11-19  Bruno Haible  <bruno@clisp.org>
44556         Ensure 'inline' can be used in tests/test-utimens-common.h.
44557         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
44558         * modules/futimens-tests (configure.ac): Likewise.
44559         * modules/utimens-tests (configure.ac): Likewise.
44560         * modules/utimensat-tests (configure.ac): Likewise.
44562 2011-11-19  Simon Josefsson  <simon@josefsson.org>
44564         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
44565         not hash_insert0.
44566         (hash_insert_if_absent): Doc fix.
44568 2011-11-19  Simon Josefsson  <simon@josefsson.org>
44570         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
44572 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
44574         test-getcwd: disambiguate exit status
44575         * tests/test-getcwd.c (test_long_name): Return 0..7.
44576         (main): Exit with an unambiguous exit status.  The old
44577         code yielded a mysterious mixture of two failure codes.
44579         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
44580         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
44581         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
44582         rpl_fstatat or fstatat.  This should fix the other problem
44583         reported by Kai Habel in
44584         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
44585         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
44586         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
44587         and I reproduced it on a Solaris 8 host we still have in production.
44589 2011-11-18  Jim Meyering  <meyering@redhat.com>
44591         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
44592         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
44593         Add a sentence to the comment.
44594         (hash_insert0): New function that simply calls hash_insert_if_absent.
44595         * lib/hash.h (hash_insert_if_absent): Declare it.
44596         (hash_insert0): Add deprecation attribute.
44597         (_GL_ATTRIBUTE_DEPRECATED): Define.
44598         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
44599         not hash_insert0.
44600         * NEWS: Mention it, even though it's not really an incompatible change.
44602 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
44604         openat: avoid compilation failure due to lack of <errno.h> inclusion
44605         * lib/openat.c: Include <errno.h>.
44607 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44609         * modules/getcwd (Depends-on): Add fdopendir.
44610         This fixes one of the two problems reported by Kai Habel in
44611         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
44613         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
44614         stdalign problem reported by Ian Beckwith in
44615         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
44616         * modules/crypto/gc-arcfour (Depends-on):
44617         Depend conditionally on crypto/arcfour.
44618         * modules/crypto/gc-arctwo (Depends-on):
44619         Depend conditionally on crypto/arctwo.
44620         * modules/crypto/gc-des (Depends-on):
44621         Depend conditionally on crypto/des.
44622         * modules/crypto/gc-hmac-md5 (Depends-on):
44623         Depend conditionally on crypto/hmac-md5.
44624         * modules/crypto/gc-hmac-sha1 (Depends-on):
44625         Depend conditionally on crypto/hmac-sha1.
44626         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
44627         * modules/crypto/gc-md4 (Depends-on):
44628         Depend conditionally on crypto/md4.
44629         * modules/crypto/gc-md5 (Depends-on):
44630         Depend conditionally on crypto/md5.
44631         * modules/crypto/gc-rijndael (Depends-on):
44632         Depend conditionally on crypto/rijndael.
44633         * modules/crypto/gc-sha1 (Depends-on):
44634         Depend conditionally on crypto/sha1.
44635         * modules/crypto/gc-arcfour:
44636         * modules/crypto/gc-arctwo:
44637         * modules/crypto/gc-des:
44638         * modules/crypto/gc-hmac-md5:
44639         * modules/crypto/gc-hmac-sha1:
44640         * modules/crypto/gc-md2:
44641         * modules/crypto/gc-md4:
44642         * modules/crypto/gc-md5:
44643         * modules/crypto/gc-rijndael:
44644         * modules/crypto/gc-sha1:
44645         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
44646         now that the conditional dependencies do the work for us.
44648 2011-11-17  Jim Meyering  <meyering@redhat.com>
44650         tests: factor st_ctime-comparison out of two headers
44651         * tests/test-utimens-common.h (ctime_compare): Define.
44652         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
44653         * tests/test-lutimens.h (test_lutimens): Likewise.
44654         * tests/test-utimens.h (test_utimens): Likewise.
44656         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
44657         Invoke the test program via an init.sh-using wrapper.
44658         * tests/test-getcwd.sh: New file.
44659         * modules/getcwd-tests (Files): Add it.
44660         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
44662 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
44664         gitlog-to-changelog: support multi-author commits.
44665         The FSF cares about keeping track of all authors of patches to its
44666         projects, but Git doesn't provide obvious support for multi-author
44667         changesets. Consensus seems to be forming around the use of extra
44668         Signed-off-by inspired lines in the log message formatted as
44669         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
44670         multi-author commits between version control systems.
44671         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
44672         log message and output in standard ChangeLog multi-author format.
44673         Reported by Peter Rosin <peda@lysator.liu.se>
44675 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
44676             Bruno Haible  <bruno@clisp.org>
44678         Fix some modules' file list.
44679         * modules/fstatat (Files): Add m4/lstat.m4.
44680         * modules/openat (Files): Likewise.
44681         * modules/unlinkat (Files): Likewise.
44683 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
44685         maint.mk: fix tight-scope.mk generation in VPATH builds.
44686         * top/maint.mk (tight-scope.mk): Make sure to prefix file
44687         reference with $(srcdir) so that the file is found correctly even
44688         when running `make syntax-check' in a VPATH build.
44690 2011-11-13  Bruno Haible  <bruno@clisp.org>
44691             Jim Meyering  <meyering@redhat.com>
44693         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
44694         * tests/init.sh (compare): Remove "No differences encountered" or
44695         synonymous output from the 'diff' program.
44697 2011-11-13  Bruno Haible  <bruno@clisp.org>
44699         Makefile: Tweak indentation.
44700         * Makefile: Use tab as first character in every line that contains rule
44701         commands.
44703 2011-11-13  Bruno Haible  <bruno@clisp.org>
44705         Syntax check for copyright statements.
44706         * check-copyright: New file.
44707         * Makefile (sc_check_copyright): New rule.
44709 2011-11-13  Simon Josefsson  <simon@josefsson.org>
44711         * build-aux/git-version-gen: Add --prefix to configure the tag
44712         match string.
44714 2011-11-13  Simon Josefsson  <simon@josefsson.org>
44716         * build-aux/git-version-gen: Add --help and --version.
44718 2011-11-12  Jim Meyering  <meyering@redhat.com>
44720         revamp the other test-exclude?.sh scripts to use init.sh, too
44721         * tests/test-exclude1.sh: Use init.sh.
44722         * tests/test-exclude2.sh: Likewise.
44723         * tests/test-exclude3.sh: Likewise.
44724         * tests/test-exclude4.sh: Likewise.
44725         * tests/test-exclude5.sh: Likewise.
44726         * tests/test-exclude6.sh: Likewise.
44727         * tests/test-exclude7.sh: Likewise.
44728         * tests/test-exclude8.sh: Likewise.
44729         * modules/exclude-tests (Files): List init.sh.
44731         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
44732         These shell scripts ignored failure of the binary test-exclude,
44733         so making the latter return 77 didn't cause them to be skipped.
44734         * tests/test-exclude5.sh: Exit with test-exclude's error status
44735         when that program fails.  Revamp to use init.sh.
44736         * tests/test-exclude2.sh: Likewise.
44738         test-exclude: fix a typo
44739         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
44741 2011-11-11  Bruno Haible  <bruno@clisp.org>
44743         obstack: Fix compilation error on MSVC 9.
44744         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
44746 2011-11-11  Jim Meyering  <meyering@redhat.com>
44748         test-exclude: skip tests rather than failing on deficient systems
44749         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
44750         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
44751         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
44752         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
44754 2011-11-10  Bruno Haible  <bruno@clisp.org>
44756         ptsname_r test: Avoid gcc warning on glibc systems.
44757         * tests/test-ptsname_r.c (null_ptr): New function.
44758         (test_errors): Use it.
44760 2011-11-10  Bruno Haible  <bruno@clisp.org>
44762         ptsname_r: Avoid compilation error on OSF/1 5.1.
44763         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
44764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
44765         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
44766         function is not declared or incompatibly declared.
44767         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
44768         * modules/ptsname_r (Depends-on, configure.ac): Update.
44769         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
44771 2011-11-10  Bruno Haible  <bruno@clisp.org>
44773         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
44774         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
44775         When cross-compiling, guess yes on all platforms except AIX.
44776         Reported by Ludovic Courtès <ludo@gnu.org>.
44778 2011-11-09  Bruno Haible  <bruno@clisp.org>
44780         ptsname_r tests: Fix bugs.
44781         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
44782         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
44784 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44786         fstatat: work with cross-compilation
44787         Problem reported by Ludovic Courtès in
44788         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
44789         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
44790         "cross-compiling" and assume the bug is present.  Replace
44791         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
44792         an inverted sense, to be more conservative about our assumptions.
44793         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
44795 2011-11-09  Bruno Haible  <bruno@clisp.org>
44797         Improve MODULES.html output.
44798         * modules/mkfifoat (Description): Use the word "function".
44799         * modules/readlinkat (Description): Likewise.
44800         * modules/symlinkat (Description): Likewise.
44802 2011-11-09  Eric Blake  <eblake@redhat.com>
44804         ptsname_r-tests: new test module
44805         * modules/ptsname_r-tests: New module.
44806         * tests/test-ptsname_r.c: New file.
44808         ptsname_r: new module
44809         * modules/ptsname_r: New module.
44810         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
44811         * lib/ptsname.c (__ptsname_r): Split...
44812         * lib/ptsname_r.c: ...into new file.
44813         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
44814         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
44815         * modules/stdlib (Makefile.am): Substitute witnesses.
44816         * lib/stdlib.in.h (ptsname_r): Declare it.
44817         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
44818         * MODULES.html.sh (Misc): Likewise.
44819         * modules/ptsname (Depends-on): Alter dependency.
44820         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
44822 2011-11-09  Jim Meyering  <meyering@redhat.com>
44824         announce-gen: be more concise when there's only one URL+tarball
44825         * build-aux/announce-gen (get_tool_versions): When you distribute
44826         only one type of tarball, combine the first two "Here are..."
44827         sections and make the key-checking grammar independent of
44828         how many tarballs there are.
44830 2011-11-09  Eric Blake  <eblake@redhat.com>
44832         openpty: provide a stub on mingw
44833         * lib/pty.in.h (includes): Provide forward declarations.
44834         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
44836         raise: fix mingw handling of SIGPIPE
44837         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
44839 2011-11-08  Bruno Haible  <bruno@clisp.org>
44841         More conditional dependencies.
44842         * modules/faccessat (Depends-on): Add conditions.
44843         * modules/fchmodat (Depends-on): Likewise.
44844         * modules/fchownat (Depends-on): Likewise.
44845         * modules/fstatat (Depends-on): Likewise.
44846         * modules/mkfifoat (Depends-on): Likewise.
44847         * modules/readlinkat (Depends-on): Likewise.
44848         * modules/symlinkat (Depends-on): Likewise.
44849         * modules/unlinkat (Depends-on): Likewise.
44850         * modules/utimensat (Depends-on): Likewise.
44851         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
44852         * modules/linkat (Depends-on): Refine the conditions.
44853         * modules/renameat (Depends-on): Likewise.
44855 2011-11-08  Bruno Haible  <bruno@clisp.org>
44857         faccessat: Move AC_LIBOBJ invocation to module description.
44858         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
44859         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
44860         invocation from here...
44861         * modules/faccessat (configure.ac): ... to here. Invoke
44862         gl_PREREQ_FACCESSAT.
44864 2011-11-08  Bruno Haible  <bruno@clisp.org>
44866         faccessat: Simplify autoconf macro.
44867         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
44868         gl_FUNC_EUIDACCESS.
44870 2011-11-08  Bruno Haible  <bruno@clisp.org>
44872         renameat: Fix dependencies.
44873         * modules/renameat (Depends-on): Add stdbool.
44875 2011-11-08  Bruno Haible  <bruno@clisp.org>
44877         mkfifoat: Fix module description.
44878         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
44879         not gl_UNISTD_MODULE_INDICATOR.
44881 2011-11-08  Bruno Haible  <bruno@clisp.org>
44883         fstatat: Remove unused dependency.
44884         * modules/fstatat (Depends-on): Remove fstat.
44886 2011-11-08  Simon Josefsson  <simon@josefsson.org>
44888         GNUmakefile: behave when Makefile is missing.
44889         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
44891 2011-11-08  Bruno Haible  <bruno@clisp.org>
44893         openat: Conditionalize dependencies.
44894         * lib/openat.c: Reduce the scope of some #includes.
44895         * modules/openat (Depends-on): Add conditions.
44897 2011-11-07  Jim Meyering  <meyering@redhat.com>
44899         maint.mk: extract GPG key ID without using a temporary file
44900         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
44901         without using a temporary file.  Based on a suggestion from Werner Koch
44902         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
44904 2011-11-07  Eric Blake  <eblake@redhat.com>
44906         grantpt: fix typo
44907         * lib/stdlib.in.h (grantpt): Check correct function.
44909         maint.mk: silence new syntax check
44910         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
44912 2011-11-06  Bruno Haible  <bruno@clisp.org>
44914         Doc about floating-point and math API.
44915         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
44916         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
44918 2011-11-06  Bruno Haible  <bruno@clisp.org>
44920         stdalign tests: Skip the test when compiled by Sun C.
44921         * tests/test-stdalign.c (main): Skip the test on Sun C.
44923 2011-11-06  Bruno Haible  <bruno@clisp.org>
44925         ansi-c++-opt: Complete the 2011-06-05 change.
44926         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
44927         does not support namespaces, set the variable to "no", not to ":".
44929 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44931         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
44933 2011-11-06  Bruno Haible  <bruno@clisp.org>
44935         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
44936         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
44937         (minus_zerol) [HP-UX]: New macro.
44938         (unary_minus) [HP-UX]: New function.
44939         (copysignl) [HP-UX]: Use unary_minus function.
44941 2011-11-06  Bruno Haible  <bruno@clisp.org>
44943         ldexp, ldexpf, ldexpl: Enhance tests.
44944         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
44945         and tests/test-ldexpl.c.
44946         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
44947         LDEXP, MIN_EXP, MAX_EXP): New macros.
44948         Include test-ldexp.h.
44949         (main): Just call test_function.
44950         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
44951         infinity.h, nan.h.
44952         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
44953         MAX_EXP): New macros.
44954         Include test-ldexp.h.
44955         (x, y): Remove variables.
44956         (main): Just call test_function.
44957         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
44958         infinity.h, nan.h.
44959         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
44960         MAX_EXP): New macros.
44961         Include test-ldexp.h.
44962         (x, y): Remove variables.
44963         (main): Just call test_function.
44964         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
44965         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
44966         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
44967         (Depends-on): Add isnand-nolibm, signbit, float.
44968         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
44969         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
44970         (Depends-on): Add isnanf-nolibm, signbit, float.
44972 2011-11-06  Bruno Haible  <bruno@clisp.org>
44974         math tests: Cosmetics.
44975         * tests/test-math-c++.cc: Reorder declarations.
44977 2011-11-05  Bruno Haible  <bruno@clisp.org>
44979         fma*: Simplify test.
44980         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
44981         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
44983         Tests for module 'fmal'.
44984         * modules/fmal-tests: New file.
44985         * tests/test-fmal1.c: New file.
44986         * tests/test-fmal2.c: New file.
44988         New module 'fmal'.
44989         * lib/math.in.h (fmal): New declaration.
44990         * lib/fmal.c: New file.
44991         * m4/fmal.m4: New file.
44992         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
44993         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
44994         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
44995         REPLACE_FMAL.
44996         * modules/fmal: New file.
44997         * doc/posix-functions/fmal.texi: Mention the new module and the various
44998         bugs.
45000         Tests for module 'fmaf'.
45001         * modules/fmaf-tests: New file.
45002         * tests/test-fmaf1.c: New file.
45003         * tests/test-fmaf2.c: New file.
45005         New module 'fmaf'.
45006         * lib/math.in.h (fmaf): New declaration.
45007         * lib/fmaf.c: New file.
45008         * m4/fmaf.m4: New file.
45009         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
45010         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
45011         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
45012         REPLACE_FMAF.
45013         * modules/fmaf: New file.
45014         * doc/posix-functions/fmaf.texi: Mention the new module and the various
45015         bugs.
45017         Tests for module 'fma'.
45018         * modules/fma-tests: New file.
45019         * tests/test-fma1.c: New file.
45020         * tests/test-fma1.h: New file.
45021         * tests/test-fma2.c: New file.
45022         * tests/test-fma2.h: New file.
45024         New module 'fma'.
45025         * lib/math.in.h (fma): New declaration.
45026         * lib/fma.c: New file.
45027         * m4/fma.m4: New file.
45028         * m4/fegetround.m4: New file.
45029         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
45030         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
45031         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
45032         REPLACE_FMA.
45033         * modules/fma: New file.
45034         * doc/posix-functions/fma.texi: Mention the new module and the various
45035         bugs.
45037         Extend gl_MATHFUNC.
45038         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
45039         Support 'void' as argument type.
45040         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
45042 2011-11-05  Jim Meyering  <meyering@redhat.com>
45044         maint.mk: also prohibit inclusion of dirent.h without use
45045         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
45047 2011-11-05  Bruno Haible  <bruno@clisp.org>
45049         ldexpl tests: Avoid test failure on MSVC 9.
45050         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
45051         value. Needed in order to enforce the conversion from a value greater
45052         than LDBL_MAX to Infinity.
45054 2011-11-05  Bruno Haible  <bruno@clisp.org>
45056         New modules 'at-internal', 'openat-h', split off from module 'openat'.
45057         * modules/at-internal: New file, extracted from modules/openat.
45058         * modules/openat-h: New file.
45059         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
45060         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
45061         * modules/openat (Description): Add reference to POSIX function.
45062         (Files): Remove lib/openat.h, lib/openat-proc.c.
45063         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
45064         intprops, unistd.
45065         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
45066         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
45067         gl_FCNTL_MODULE_INDICATOR.
45068         (Include): Remove unistd.h, openat.h.
45069         * modules/areadlinkat (Files): Add lib/at-func.c.
45070         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45071         openat-die, openat-h, save-cwd.
45072         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
45073         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45074         openat-die, openat-h, save-cwd, unistd.
45075         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
45076         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45077         openat-h, save-cwd. Remove fcntl-h, openat.
45078         * modules/fchmodat (Files): Remove lib/openat.h.
45079         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45080         openat, stdbool, unistd.
45081         * modules/fchownat (Files): Remove lib/openat.h.
45082         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45083         openat, stdbool, sys_stat.
45084         * modules/fdopendir (Files): Remove lib/openat-priv.h,
45085         lib/openat-proc.c.
45086         (Depends-on): Add at-internal.
45087         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
45088         * modules/fstatat (Files): Remove lib/openat.h.
45089         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45090         stdbool, unistd.
45091         * modules/fts (Depends-on): Add openat-h.
45092         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
45093         openat.
45094         * modules/mkdirat (Files): Remove lib/openat.h.
45095         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45096         openat, stdbool, sys_stat.
45097         * modules/mkfifoat (Files): Add lib/at-func.c.
45098         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45099         openat-h, save-cwd. Remove fcntl-h, openat.
45100         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
45101         * modules/readlinkat (Files): Add lib/at-func.c.
45102         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45103         openat-h, save-cwd. Remove fcntl-h, openat.
45104         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
45105         openat.
45106         * modules/selinux-at (Files): Add lib/at-func.c.
45107         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45108         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
45109         * modules/symlinkat (Files): Add lib/at-func.c.
45110         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45111         openat-h, save-cwd. Remove fcntl-h, openat.
45112         * modules/unlinkat (Files): Remove lib/openat.h.
45113         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45114         stdbool.
45115         * modules/utimensat (Files): Add lib/at-func.c.
45116         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
45117         openat-die, openat-h, save-cwd.
45118         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
45119         * modules/fdutimensat-tests (Depends-on): Add openat.
45120         * modules/fstatat-tests (Depends-on): Add openat-h.
45121         * modules/readlinkat-tests (Depends-on): Add openat.
45122         * modules/symlinkat-tests (Depends-on): Add openat.
45124 2011-11-05  Bruno Haible  <bruno@clisp.org>
45126         openat: Include <stdbool.h>.
45127         * lib/openat.c: Include <stdbool.h>.
45129 2011-11-04  Bruno Haible  <bruno@clisp.org>
45131         fchownat, renameat, unlinkat: Fix dependencies.
45132         * modules/fchownat (Depends-on): Add fstatat.
45133         * modules/renameat (Depends-on): Likewise.
45134         * modules/unlinkat (Depends-on): Likewise.
45136 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
45138         openat: remove direct dependency on dirent
45139         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
45140         and hasn't been needed ever since fdopendir was split into its own
45141         module on 2009-08-31.
45142         * modules/openat (Depends-on): Remove dirent.
45144 2011-11-04  Bruno Haible  <bruno@clisp.org>
45146         renameat: Optimize code size.
45147         * modules/renameat (configure.ac): Don't compile at-func2.c if
45148         REPLACE_RENAMEAT is 1.
45150 2011-11-04  Bruno Haible  <bruno@clisp.org>
45152         openat tests: Fix file list.
45153         * modules/openat-tests (Files): Add tests/test-open.h.
45155 2011-11-04  Bruno Haible  <bruno@clisp.org>
45157         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
45158         * modules/fchmodat (Depends-on): Add openat-die.
45159         * modules/fchownat (Depends-on): Likewise.
45160         * modules/linkat (Depends-on): Likewise.
45161         * modules/renameat (Depends-on): Likewise.
45162         * modules/openat (Depends-on): Add dirent.
45164 2011-11-04  Jim Meyering  <meyering@redhat.com>
45166         at-func*.c: fix comments
45167         * lib/at-func2.c: Correct/improve first-line comment.
45168         * lib/at-func.c: Correct grammar in first-line comment.
45170 2011-11-04  Bruno Haible  <bruno@clisp.org>
45172         New module 'mkdirat', split off from module 'openat'.
45173         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
45174         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
45175         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
45176         * modules/mkdirat: New file, extracted from modules/openat.
45177         * modules/openat (Files): Remove lib/mkdirat.c.
45178         (Depends-on): Remove mkdir.
45179         (configure.ac): Remove AC_LIBOBJ of mkdirat.
45180         (Include): Remove <sys/stat.h>.
45181         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
45182         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
45183         tests/test-mkdir.h.
45184         (Depends-on): Remove ignore-value.
45185         (Makefile.am): Remove rules for test-mkdirat.
45186         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
45187         of module 'openat'.
45188         * NEWS: Mention the change.
45190 2011-11-04  Bruno Haible  <bruno@clisp.org>
45192         closedir: Avoid warning on mingw.
45193         * lib/closedir.c: Include <unistd.h>.
45195 2011-11-04  Bruno Haible  <bruno@clisp.org>
45197         New module 'fstatat', split off from module 'openat'.
45198         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
45199         defined.
45200         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
45201         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
45202         gl_FUNC_FSTATAT.
45203         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
45204         * modules/fstatat: New file, extracted from modules/openat.
45205         * modules/openat (Files): Remove lib/fstatat.c.
45206         (Depends-on): Remove lstat.
45207         (configure.ac): Remove AC_LIBOBJ of fstatat.
45208         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
45209         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
45210         tests/test-lstat.h, tests/test-stat.h.
45211         (Depends-on): Remove getcwd-lgpl.
45212         (Makefile.am): Remove rules for test-fstatat.
45213         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
45214         of module 'openat'.
45215         * NEWS: Mention the change.
45216         * modules/getcwd (Depends-on): Add fstatat.
45217         * modules/linkat (Depends-on): Likewise.
45218         * modules/mkfifoat-tests (Depends-on): Likewise.
45219         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
45221 2011-11-03  Bruno Haible  <bruno@clisp.org>
45223         New module 'unlinkat', split off from module 'openat'.
45224         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
45225         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
45226         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
45227         * modules/unlinkat: New file, extracted from modules/openat. Correct
45228         the dependency conditions.
45229         * modules/openat (Files): Remove lib/unlinkat.c.
45230         (Depends-on): Remove rmdir, unlink.
45231         (configure.ac): Remove AC_LIBOBJ of unlinkat.
45232         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
45233         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
45234         tests/test-rmdir.h, tests/test-unlink.h.
45235         (Depends-on): Remove unlinkdir.
45236         (Makefile.am): Remove rules for test-unlinkat.
45237         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
45238         of module 'openat'.
45239         * NEWS: Mention the change.
45240         * modules/linkat-tests (Depends-on): Add unlinkat.
45241         * modules/mkfifoat-tests (Depends-on): Likewise.
45242         * modules/readlinkat-tests (Depends-on): Likewise.
45244 2011-11-02  Bruno Haible  <bruno@clisp.org>
45246         New module 'fchmodat', split off from module 'openat'.
45247         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
45248         defined.
45249         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
45250         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
45251         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
45252         * modules/fchmodat: New file, extracted from modules/openat.
45253         * modules/openat (Files): Remove lib/fchmodat.c.
45254         (configure.ac): Remove AC_LIBOBJ of fchmodat.
45255         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
45256         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
45257         (Makefile.am): Remove rules for test-fchmodat.
45258         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
45259         of module 'openat'.
45260         * NEWS: Mention the change.
45262 2011-11-02  Jim Meyering  <meyering@redhat.com>
45264         putenv: indent #definition of "environ" to placate cppi
45265         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
45267         gitlog-to-changelog: provide a ChangeLog-repair mechanism
45268         Git logs are often treated as immutable, because editing them
45269         changes the SHA1 checksums of all descendants.  Thus, errors in
45270         git logs tend to stay there forever.  However, when we generate
45271         a ChangeLog file -- typically for distribution -- from that git log,
45272         we can actually make corrections in the generated file.  The key
45273         lies in recording in machine-readable/applicable form the desired
45274         corrections.  See --help for description and an example.
45275         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
45276         (usage): Describe it; alphabetize option descriptions.
45277         (main): Honor the new option, carefully.
45279 2011-11-01  Jim Meyering  <meyering@redhat.com>
45281         gitlog-to-changelog: avoid an infloop
45282         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
45283         that ends up being empty.
45285 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45287         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
45288         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
45289         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
45290         contains (possibly-quoted) backslashes.  This should avoid
45291         all-too-common shell bugs if COMPLICATED contains backslashes in
45292         the "wrong" places.  Reported by David Evans in
45293         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
45294         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
45295         because we want ASCII ranges.  Is there some reason we don't use
45296         the C locale everywhere in this script?
45297         (func_module, top level): Avoid unwanted pathname expansion when
45298         $repo_url_prefix or $repo_url_suffix_repl contain shell
45299         metacharacters like '?' and '*'.
45301 2011-11-01  Bruno Haible  <bruno@clisp.org>
45303         fchownat: Improve description.
45304         * modules/fchownat (Description): Add link to function.
45306 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45308         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
45309         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
45310         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
45311         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
45313 2011-11-01  Bruno Haible  <bruno@clisp.org>
45315         alignof: Avoid collision with stdalign module.
45316         * lib/alignof.h (alignof): Remove macro.
45317         * NEWS: Mention the change.
45318         Reported by Paul Eggert.
45320 2011-11-01  Bruno Haible  <bruno@clisp.org>
45322         New module 'fchownat', split off from module 'openat'.
45323         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
45324         defined.
45325         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
45326         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
45327         invoke gl_FUNC_FCHOWNAT.
45328         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
45329         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
45330         * modules/fchownat: New file, extracted from modules/openat.
45331         * modules/openat (Files): Remove lib/fchownat.c.
45332         (Depends-on): Remove lchown.
45333         (configure.ac): Remove AC_LIBOBJ of fchownat.
45334         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
45335         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
45336         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
45337         (Depends-on): Remove mgetgroups, usleep, stat-time.
45338         (configure.ac): Remove test for getegid.
45339         (Makefile.am): Remove rules for test-fchownat.
45340         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
45341         of module 'openat'.
45342         * NEWS: Mention the change.
45344 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
45346         stdalign: port better to MSVC and to Sun C 5.11
45347         This fixes some of the problems reported by Bruno Haible in
45348         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
45349         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
45350         shortcomings of MSVC and of Sun C 5.11.
45351         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
45352         around __declspec arg.
45353         * modules/stdalign-tests (Files): Add tests/macros.h.
45354         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
45355         Include macros.h, for ASSERT.
45356         (DECLARE_ALIGNED): Remove.
45357         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
45358         to catch bug), and to 1 if not (simplifies the rest of the code).
45359         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
45360         (CHECK_AUTO): Remove.
45361         (CHECK_ALIGNED): Check only the alignment of the static vars,
45362         since auto var alignment isn't supported by Sun C 5.11.
45363         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
45364         ASSERT failures are easier to diagnose.
45366 2011-10-31  Bruno Haible  <bruno@clisp.org>
45368         doc about some IRIX 5.3 problems.
45369         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
45370         on IRIX 5.3.
45371         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
45372         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
45373         5.3.
45374         * doc/posix-functions/grantpt.texi: Likewise.
45375         * doc/posix-functions/unlockpt.texi: Likewise.
45376         * doc/posix-functions/lgamma.texi: Likewise.
45377         * doc/posix-functions/nextafter.texi: Likewise.
45378         * doc/posix-functions/remainder.texi: Likewise.
45379         * doc/posix-functions/select.texi: Mention misplaced declaration on
45380         IRIX 5.3.
45381         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45383 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
45385         gitlog-to-changelog: fix git-log invocation.
45386         git-log mishandles date strings before 1970-01-01 UTC, and there is
45387         no use to specify --since=1970-01-01 by default anyway.
45388         * build-aux/gitlog-to-changelog: By default, when no --since option
45389         was given, do not specify explicit --since option to git-log.
45391 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
45393         gitlog-to-changelog: new option --append-dot.
45394         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
45395         first non-blank line of each commit message terminated with a dot.
45397 2011-10-30  Bruno Haible  <bruno@clisp.org>
45399         ffsl, ffsll: Avoid compilation error due to 'restrict'.
45400         * lib/ffsl.h: Include <config.h>.
45401         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
45403 2011-10-30  Jim Meyering  <meyering@redhat.com>
45405         GNUmakefile: reenable "make syntax-check" for most projects
45406         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
45407         build-aux variable", "syntax-check" would do nothing but succeed with
45408         the "No version control files detected..." diagnostic (unless you
45409         happened to override _build-aux via cfg.mk).
45410         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
45411         to precede inclusion of maint.mk.  Otherwise, these variables would
45412         be used undefined in any project that does not override the default.
45414 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
45416         gitlog-to-changelog: treat a message with only blank lines as empty.
45417         * build-aux/gitlog-to-changelog: Move the code that removes leading and
45418         trailing blank lines before the code that issues a warning about an
45419         empty commit message.
45421 2011-10-30  Jim Meyering  <meyering@redhat.com>
45423         test-parse-datetime.c: avoid new DST-related false positive test failure
45424         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
45425         based on the time/date we'll convert, not the current time.
45426         Otherwise, the moment we cross a DST boundary like today's in
45427         Europe, (CEST to CET), that offset ends up being one hour off.
45429 2011-10-27  Bruno Haible  <bruno@clisp.org>
45431         fstat: Tweak documentation.
45432         * modules/fstat (Description): More precise description.
45434 2011-10-27  Bruno Haible  <bruno@clisp.org>
45436         Update documentation regarding 'largefile' module.
45437         * doc/posix-functions/fstat.texi: Tweak wording.
45438         * doc/posix-functions/opendir.texi: Mention that the module fixes the
45439         problems with huge directories and/or small ino_t types.
45440         * doc/posix-functions/readdir.texi: Likewise.
45441         * doc/posix-functions/rewinddir.texi: Likewise.
45443 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
45445         maint.mk: don't maintain a second build-aux variable.
45446         * maint.mk (build_aux): Removed.  The maintainer-makefile module
45447         depends on GNUmakefile, which already maintains a cfg.mk
45448         overridable $(_build-aux) for projects with a non-standard
45449         build-aux directory location, although without the $(srcdir)
45450         prefix.  Use that variable consistently instead of introducing a
45451         second one.  Adjust all call sites.
45453 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45455         Add stdalign module and use it in other modules.
45456         This is based on a previous proposal by Bruno Haible
45457         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
45459         stdalign: new module
45460         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
45461         * modules/stdalign: New files.
45462         * MODULES.html.sh (c1x_core_properties): Add stdalign.
45463         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
45465         stdalign-tests: new module
45466         * modules/stdalign-tests, tests/test-stdalign.c: New files.
45468         argp: use stdalign
45469         * lib/argp-parse.c: Include <stdalign.h>.
45470         (alignof): Remove.
45471         * modules/argp (Depends-on): Add stdalign.
45473         crypto libraries: use stdalign
45474         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
45475         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
45476         Do not include <stdlib.h> twice, in md4.c.
45477         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
45478         because we are accessing a pointer's bit-pattern, not a size.
45479         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
45480         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
45481         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
45482         * modules/crypto/sha512: Likewise.
45484         sys_socket: use stdalign, not alignof
45485         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
45486         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
45488 2011-10-27  Bruno Haible  <bruno@clisp.org>
45490         raise test: Avoid a test failure on Linux/MIPS.
45491         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
45492         because 99 is a valid signal on Linux/MIPS.
45494 2011-10-27  Bruno Haible  <bruno@clisp.org>
45496         nonblocking tests: Fix test failure on Linux/MIPS.
45497         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
45498         Set to 270000.
45500 2011-10-27  Bruno Haible  <bruno@clisp.org>
45502         utimensat: Work around problem on Linux/hppa.
45503         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
45504         values.
45505         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
45507 2011-10-25  Jim Meyering  <meyering@redhat.com>
45509         maint.mk: fix a bug in sc_prohibit_stddef_without_use
45510         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
45511         after symbols like NULL, size_t, etc.
45512         Reported by Alfred M. Szmidt.
45514         maint.mk: exempt ENODATA from a syntax-check rule
45515         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
45516         from the sc_prohibit_always-defined_macros syntax-check rule.
45517         Add a comment.  See this for more details:
45518         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
45520 2011-10-23  Jim Meyering  <meyering@redhat.com>
45522         fts: close parent dir FD before returning from post-traversal fts_read
45523         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
45524         unlink A, even though an FD open on A remained.  This is suboptimal
45525         (holding a file descriptor open longer than needed), but otherwise not
45526         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
45527         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
45528         that represents a real problem: it causes the removal of A to fail
45529         with e.g., "rm: cannot remove `A': Device or resource busy"
45531         fts visits each directory twice and keeps a cache (fts_fd_ring) of
45532         directory file descriptors.  After completing the final, FTS_DP,
45533         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
45534         cache, but then proceeded to add a new FD to it via the subsequent
45535         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
45536         final file descriptor would be closed only via fts_close's call to
45537         fd_ring_clear.  Now, it is usually closed earlier, via the final
45538         FTS_DP-returning fts_read call.
45539         * lib/fts.c (restore_initial_cwd): New function, converted from
45540         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
45541         Update callers.
45542         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
45543         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
45545 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
45546             Bruno Haible  <bruno@clisp.org>
45547             Jim Meyering  <jim@meyering.net>
45549         readme-release: improve safety of release prep instructions.
45550         * README-release: Don't git pull all branches when only master
45551         is needed for the release process.
45552         Run make maintainer-clean before changing trees and merging.
45553         Don't try to run ./configure right after git pull in case files
45554         that influence the bootstrap process have changed, move the
45555         ./configure step to after running ./bootstrap.
45556         Don't bootstrap "one last time"... it's the first time!
45558 2011-10-22  Bruno Haible  <bruno@clisp.org>
45560         errno, strerror-override: Support for MSVC 10.
45561         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
45562         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
45563         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
45564         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
45565         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
45566         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
45567         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
45568         Assign values compatible with MSVC 10.
45569         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
45570         New macros.
45571         (GNULIB_defined_EWINSOCK): New macro.
45572         * lib/strerror-override.c (strerror_override): Update accordingly.
45573         * lib/strerror-override.h: Likewise.
45574         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
45575         longer equal to the corresponding errno value.
45576         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
45578 2011-10-22  Bruno Haible  <bruno@clisp.org>
45580         perror: Recognize when test program crashes.
45581         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
45582         strerror, set gl_cv_func_perror_works to no.
45583         Reported by Daniel Richard G. <skunk@iskunk.org>.
45585         perror: Fix indentation.
45586         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
45588 2011-10-22  Bruno Haible  <bruno@clisp.org>
45590         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
45591         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
45592         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
45593         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
45594         functions, not as a macro.
45595         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
45596         macros.
45597         (isfinite, isinf, isnan, signbit): Check overloaded functions and
45598         absence of macro.
45599         Suggested by Eric Blake.
45600         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
45602 2011-10-21  Bruno Haible  <bruno@clisp.org>
45604         relocatable-prog-wrapper: Don't leave object files behind.
45605         * build-aux/install-reloc: Re-synchronize list of .o files to be
45606         removed with list of compilation units.
45608 2011-10-20  Bruno Haible  <bruno@clisp.org>
45610         openpty, posix_openpt: Remove code duplication.
45611         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
45612         * lib/openpty.c: Include <stdlib.h>.
45613         (openpty): Use posix_openpt on all platforms except IRIX.
45614         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
45616 2011-10-20  Bruno Haible  <bruno@clisp.org>
45618         unlockpt: Detect invalid argument.
45619         * lib/unlockpt.c: Include <fcntl.h>.
45620         (unlockpt): Check whether fd is valid, using fcntl().
45621         * modules/unlockpt (Depends-on): Add fcntl-h.
45623 2011-10-20  Bruno Haible  <bruno@clisp.org>
45625         openpty: Avoid compilation error on AIX 6.1.
45626         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
45628 2011-10-20  Bruno Haible  <bruno@clisp.org>
45630         posix_openpt: Support for OpenBSD.
45631         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
45632         (posix_openpt) [OpenBSD]: New code.
45633         * lib/grantpt.c: Include <fcntl.h>.
45634         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
45635         * modules/grantpt (Depends-on): Add fcntl-h.
45637 2011-10-20  Bruno Haible  <bruno@clisp.org>
45639         posix_openpt test: Coding style.
45640         * tests/test-posix_openpt.c: Use GNU coding style.
45642 2011-10-20  Bruno Haible  <bruno@clisp.org>
45644         grantpt: Support --avoid=pt_chown.
45645         * modules/grantpt (Files): Add lib/pty-private.h.
45647 2011-10-20  Bruno Haible  <bruno@clisp.org>
45649         posix_openpt: Fix autoconf macro.
45650         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
45651         unneeded check for _getpty.
45653 2011-10-20  Bruno Haible  <bruno@clisp.org>
45655         openpty: Update comments.
45656         * lib/openpty.c: Add comments about Minix.
45658 2011-10-19  Eric Blake  <eblake@redhat.com>
45660         openpty: relax license
45661         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
45663         pt_chown: use configmake to simplify build
45664         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
45666         ptsname and others: relax license
45667         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
45668         * modules/unlockpt (License): Likewise.
45669         * modules/pt_chown (License): Likewise.
45670         * modules/ptsname (License): Likewise.
45671         * modules/ttyname_r (License): Likewise.
45673 2011-10-19  Jim Meyering  <meyering@redhat.com>
45675         posix_openpt: remove spurious #endif
45676         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
45678 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
45680         maint.mk: Respect $(build_aux) in web-manual rule.
45681         * top/maint.mk (web-manual): Find gen-announce script in user's
45682         $(build_aux) directory instead of hard-coding 'build-aux'.
45684 2011-10-19  Bruno Haible  <bruno@clisp.org>
45686         posix_openpt: Fix compilation error.
45687         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
45688         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
45689         Mention the openpty module as an alternative.
45691 2011-10-19  Bruno Haible  <bruno@clisp.org>
45693         Support for old NeXTstep 3.3 frexp().
45694         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
45695         execution time of the test to 5 seconds.
45696         Reported by Daniel Richard G. <skunk@iskunk.org>.
45698 2011-10-19  Bruno Haible  <bruno@clisp.org>
45700         Support for old NeXTstep 3.3 sed.
45701         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
45702         part, use /.../, not \|...|. Escape periods in the header file name.
45703         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
45704         Reported by Daniel Richard G. <skunk@iskunk.org>.
45706 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
45708         Support for old NeXTstep 3.3 gcc.
45709         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
45710         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
45711         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
45712         * lib/spawn.in.h (_Restrict_arr_): Likewise.
45713         * lib/regex.h (_Restrict_arr_): Likewise.
45714         * lib/regex_internal.h (re_token_t): Likewise.
45715         * lib/regexec.c (check_node_accept_bytes): Likewise.
45716         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
45718 2011-10-18  Eric Blake  <eblake@redhat.com>
45720         posix_openpt: new module
45721         * modules/posix_openpt: New module.
45722         * m4/posix_openpt.m4: New file.
45723         * lib/posix_openpt.c: Likewise.
45724         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
45725         (gl_STDLIB_H_DEFAULTS): Set defaults.
45726         * modules/stdlib (Makefile.am): Substitute macros.
45727         * lib/stdlib.in.h (posix_openpt): Declare.
45728         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
45729         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
45730         * modules/posix_openpt-tests: New test module.
45731         * tests/test-posix_openpt.c: New test.
45733 2011-10-15  Bruno Haible  <bruno@clisp.org>
45735         xstrtoll: Fix compilation failure.
45736         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
45737         from lib/strtol.c.
45738         * doc/posix-headers/limits.texi: Mention missing numerical limits on
45739         some platforms.
45740         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45742 2011-10-15  Bruno Haible  <bruno@clisp.org>
45744         vasnprintf: Optimize bit search operation.
45745         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
45746         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
45747         gl_DOUBLE_EXPONENT_LOCATION.
45748         * modules/vasnprintf (Files): Add m4/exponentd.m4.
45749         * modules/unistdio/u8-vasnprintf (Files): Likewise.
45750         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
45751         * modules/unistdio/u16-vasnprintf (Files): Likewise.
45752         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
45753         * modules/unistdio/u32-vasnprintf (Files): Likewise.
45754         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
45755         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
45756         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
45758 2011-10-15  Bruno Haible  <bruno@clisp.org>
45760         vasnprintf: Fix comments.
45761         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
45763 2011-10-14  Bruno Haible  <bruno@clisp.org>
45765         Tests for module 'integer_length_ll'.
45766         * modules/integer_length_ll-tests: New file.
45767         * tests/test-integer_length_ll.c: New file.
45769         New module 'integer_length_ll'.
45770         * lib/integer_length_ll.c: New file.
45771         * modules/integer_length_ll: New file.
45773 2011-10-14  Bruno Haible  <bruno@clisp.org>
45775         Tests for module 'integer_length_l'.
45776         * modules/integer_length_l-tests: New file.
45777         * tests/test-integer_length_l.c: New file.
45779         New module 'integer_length_l'.
45780         * lib/integer_length_l.c: New file.
45781         * modules/integer_length_l: New file.
45783 2011-10-14  Bruno Haible  <bruno@clisp.org>
45785         Tests for module 'integer_length'.
45786         * modules/integer_length-tests: New file.
45787         * tests/test-integer_length.c: New file.
45789         New module 'integer_length'.
45790         * lib/integer_length.h: New file.
45791         * lib/integer_length.c: New file.
45792         * modules/integer_length: New file.
45794 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
45796         popen: Fix dependency conditions.
45797         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
45799 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
45801         perror: Fix autoconf test.
45802         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
45803         <stdlib.h> and <string.h>.
45805 2011-10-14  Bruno Haible  <bruno@clisp.org>
45807         ffsl: Optimize on 64-bit platforms.
45808         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
45809         unrolling.
45811 2011-10-13  Bruno Haible  <bruno@clisp.org>
45813         ffsl: Optimize on 32-bit platforms.
45814         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
45815         use ffs() without a loop.
45817         ffsl, ffsll: Optimize for GCC.
45818         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
45819         * lib/ffsl.c (GCC_BUILTIN): New macro.
45820         * lib/ffsll.c (GCC_BUILTIN): Likewise.
45822 2011-10-13  Bruno Haible  <bruno@clisp.org>
45824         ffs, bcopy, memset: Support symbol renaming via config.h.
45825         * lib/ffs.c: Include <config.h>.
45826         * lib/bcopy.c: Likewise.
45827         * lib/memset.c: Likewise.
45829 2011-10-10  Bruno Haible  <bruno@clisp.org>
45831         atanl: Simplify for platforms where 'long double' == 'double'.
45832         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45833         alternative implementation.
45834         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45835         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45836         * modules/atanl (Depends-on): Add atan. Update conditions.
45838 2011-10-10  Bruno Haible  <bruno@clisp.org>
45840         acosl: Simplify for platforms where 'long double' == 'double'.
45841         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45842         alternative implementation.
45843         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45844         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45845         * modules/acosl (Depends-on): Add acos. Update conditions.
45847 2011-10-10  Bruno Haible  <bruno@clisp.org>
45849         asinl: Simplify for platforms where 'long double' == 'double'.
45850         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45851         alternative implementation.
45852         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45853         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45854         * modules/asinl (Depends-on): Add asin. Update conditions.
45856 2011-10-10  Bruno Haible  <bruno@clisp.org>
45858         tanl: Simplify for platforms where 'long double' == 'double'.
45859         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45860         implementation.
45861         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45862         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45863         * modules/tanl (Depends-on): Add tan. Update conditions.
45864         (configure.ac): Don't compile trigl.c if
45865         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45867 2011-10-10  Bruno Haible  <bruno@clisp.org>
45869         cosl: Simplify for platforms where 'long double' == 'double'.
45870         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45871         implementation.
45872         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45873         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45874         * modules/cosl (Depends-on): Add cos. Update conditions.
45875         (configure.ac): Don't compile sincosl.c and trigl.c if
45876         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45878 2011-10-10  Bruno Haible  <bruno@clisp.org>
45880         sinl: Simplify for platforms where 'long double' == 'double'.
45881         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45882         implementation.
45883         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45884         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45885         * modules/sinl (Depends-on): Add sin. Update conditions.
45886         (configure.ac): Don't compile sincosl.c and trigl.c if
45887         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45889 2011-10-10  Bruno Haible  <bruno@clisp.org>
45891         logl: Simplify for platforms where 'long double' == 'double'.
45892         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45893         implementation.
45894         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45895         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45896         * modules/logl (Depends-on): Add log. Update conditions.
45898 2011-10-10  Bruno Haible  <bruno@clisp.org>
45900         expl: Simplify for platforms where 'long double' == 'double'.
45901         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45902         implementation.
45903         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45904         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45905         * modules/expl (Depends-on): Add exp. Update conditions.
45907 2011-10-10  Bruno Haible  <bruno@clisp.org>
45909         sqrtl: Simplify for platforms where 'long double' == 'double'.
45910         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45911         alternative implementation.
45912         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45913         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45914         * modules/sqrtl (Depends-on): Update conditions.
45916 2011-10-10  Bruno Haible  <bruno@clisp.org>
45918         ldexpl: Simplify for platforms where 'long double' == 'double'.
45919         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45920         alternative implementation.
45921         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45922         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45923         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
45925 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
45927         ffsll: set correct witness
45928         * modules/ffsll (configure.ac): Fix typo.
45930 2011-10-10  Bruno Haible  <bruno@clisp.org>
45932         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
45933         * lib/printf-frexpl.c: Include <config.h>.
45934         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45935         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
45936         second time.
45937         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
45938         gl_LONG_DOUBLE_VS_DOUBLE.
45939         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
45940         conditions.
45942 2011-10-10  Bruno Haible  <bruno@clisp.org>
45944         frexpl: Simplify for platforms where 'long double' == 'double'.
45945         * lib/frexpl.c: Include <config.h>.
45946         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45947         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45948         time.
45949         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45950         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45951         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
45952         * modules/frexpl (Depends-on): Add frexp. Update conditions.
45953         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
45954         conditions.
45956 2011-10-10  Jim Meyering  <meyering@redhat.com>
45958         test-renameat: don't leave behind a temporary file
45959         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
45960           ERROR: files left in build directory after distclean:
45961           ./gltests/test-renameat.too
45962           make[1]: *** [distcleancheck] Error 1
45963         Reported by Tom G. Christensen.
45965 2011-10-09  Bruno Haible  <bruno@clisp.org>
45967         rint: Determine RINT_LIBM correctly on AIX 7.
45968         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
45969         directly, not only through a function pointer. Also accept an optional
45970         4th argument with extra code.
45971         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
45972         rintf() call by gcc when optimizing.
45974         mathfunc.m4: Refactor.
45975         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
45976         m4 variable.
45978 2011-10-09  Bruno Haible  <bruno@clisp.org>
45980         rintl: Simplify for platforms where 'long double' == 'double'.
45981         * lib/rintl.c: Include <config.h>.
45982         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45983         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45984         time.
45985         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45986         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45987         * modules/rintl (Depends-on): Add rint. Update conditions.
45989 2011-10-09  Bruno Haible  <bruno@clisp.org>
45991         roundl: Simplify for platforms where 'long double' == 'double'.
45992         * lib/roundl.c: Include <config.h>.
45993         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45994         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45995         time.
45996         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45997         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45998         * modules/roundl (Depends-on): Add round. Update conditions.
46000 2011-10-09  Bruno Haible  <bruno@clisp.org>
46002         truncl: Simplify for platforms where 'long double' == 'double'.
46003         * lib/truncl.c: Include <config.h>.
46004         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46005         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46006         time.
46007         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46008         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46009         * modules/truncl (Depends-on): Add trunc. Update conditions.
46011 2011-10-09  Bruno Haible  <bruno@clisp.org>
46013         ceill: Simplify for platforms where 'long double' == 'double'.
46014         * lib/ceill.c: Include <config.h>.
46015         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46016         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46017         time.
46018         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46019         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46020         * modules/ceill (Depends-on): Add ceil. Update conditions.
46022 2011-10-09  Bruno Haible  <bruno@clisp.org>
46024         floorl: Simplify for platforms where 'long double' == 'double'.
46025         * lib/floorl.c: Include <config.h>.
46026         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46027         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46028         time.
46029         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46030         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46031         * modules/floorl (Depends-on): Add floor. Update conditions.
46033 2011-10-09  Bruno Haible  <bruno@clisp.org>
46035         rint: Fix ordering constraints.
46036         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
46037         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
46038         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
46040 2011-10-09  Bruno Haible  <bruno@clisp.org>
46042         copysignl: Simplify for platforms where 'long double' == 'double'.
46043         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46044         alternative.
46045         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46046         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46047         * modules/copysignl (Depends-on): Add copysign. Update conditions.
46049 2011-10-09  Bruno Haible  <bruno@clisp.org>
46051         Tests for module 'rintl'.
46052         * modules/rintl-tests: New file.
46053         * tests/test-rintl.c: New file.
46055         New module 'rintl'.
46056         * lib/math.in.h (rintl): New declaration.
46057         * lib/rintl.c: New file.
46058         * m4/rintl.m4: New file.
46059         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
46060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
46061         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
46062         * modules/rintl: New file.
46063         * tests/test-math-c++.cc: Check the declaration of rintl.
46064         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46065         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
46066         * doc/posix-functions/rintl.texi: Mention the new module.
46068 2011-10-09  Bruno Haible  <bruno@clisp.org>
46070         Tests for module 'rintf'.
46071         * modules/rintf-tests: New file.
46072         * tests/test-rintf.c: New file.
46074         New module 'rintf'.
46075         * lib/math.in.h (rintf): New declaration.
46076         * lib/rintf.c: New file.
46077         * m4/rintf.m4: New file.
46078         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
46079         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
46080         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
46081         * modules/rintf: New file.
46082         * tests/test-math-c++.cc: Check the declaration of rintf.
46083         * doc/posix-functions/rintf.texi: Mention the new module.
46085 2011-10-09  Bruno Haible  <bruno@clisp.org>
46087         rint: Support for MSVC.
46088         * lib/math.in.h (rint): New declaration.
46089         * lib/rint.c: New file.
46090         * m4/rint.m4: New file.
46091         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
46092         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
46093         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
46094         * modules/rint (Description): Fix.
46095         (Files): Add lib/rint.c, m4/rint.m4.
46096         (Depends-on): Add math.
46097         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
46098         gl_MATH_MODULE_INDICATOR.
46099         * tests/test-math-c++.cc: Check the declaration of rint.
46100         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46101         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
46102         * doc/posix-functions/rint.texi: Mention the replacement provided by
46103         the module.
46105         rint tests: More tests.
46106         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
46107         minus-zero.h, infinity.h, nan.h.
46108         (main): Skip the test if the current rounding mode is not standard. Add
46109         tests for negative numbers, minus zero, infinity, NaN.
46110         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
46111         tests/nan.h.
46112         (Depends-on): Add isnand-nolibm.
46114 2011-10-09  Bruno Haible  <bruno@clisp.org>
46116         Tests for module 'copysignl'.
46117         * modules/copysignl-tests: New file.
46118         * tests/test-copysignl.c: New file.
46120         New module 'copysignl'.
46121         * lib/math.in.h (copysignl): New declaration.
46122         * lib/copysignl.c: New file.
46123         * m4/copysignl.m4: New file.
46124         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
46125         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
46126         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
46127         HAVE_COPYSIGNL.
46128         * modules/copysignl: New file.
46129         * tests/test-math-c++.cc: Check the declaration of copysignl.
46130         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46131         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
46132         * doc/posix-functions/copysignl.texi: Mention the new module.
46134 2011-10-09  Bruno Haible  <bruno@clisp.org>
46136         Tests for module 'copysignf'.
46137         * modules/copysignf-tests: New file.
46138         * tests/test-copysignf.c: New file.
46140         New module 'copysignf'.
46141         * lib/math.in.h (copysignf): New declaration.
46142         * lib/copysignf.c: New file.
46143         * m4/copysignf.m4: New file.
46144         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
46145         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
46146         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
46147         HAVE_COPYSIGNF.
46148         * modules/copysignf: New file.
46149         * tests/test-math-c++.cc: Check the declaration of copysignf.
46150         * doc/posix-functions/copysignf.texi: Mention the new module.
46152 2011-10-09  Bruno Haible  <bruno@clisp.org>
46154         Ensure that HAVE_* variables are set to 1 before they are set to 0.
46155         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
46156         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
46157         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
46158         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
46159         gl_SIGNAL_H_DEFAULTS.
46161 2011-10-09  Bruno Haible  <bruno@clisp.org>
46163         poll: Make macro safer.
46164         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
46165         ac_cv_header_poll_h is not set.
46167 2011-10-09  Bruno Haible  <bruno@clisp.org>
46169         copysign: Provide replacement.
46170         * lib/math.in.h (copysign): New declaration.
46171         * lib/copysign.c: New file.
46172         * m4/copysign.m4: New file.
46173         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
46174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
46175         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
46176         HAVE_COPYSIGN.
46177         * modules/copysign (Description): Clarify.
46178         (Files): Add lib/copysign.c, m4/copysign.m4.
46179         (Depends-on): Add math, signbit.
46180         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
46181         gl_MATH_MODULE_INDICATOR.
46182         * tests/test-math-c++.cc: Check the declaration of copysign.
46183         * doc/posix-functions/copysign.texi: Mention the effects of the module
46184         on Minix and MSVC.
46186 2011-10-09  Bruno Haible  <bruno@clisp.org>
46188         isinf: Ensure macro on AIX 5.1.
46189         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
46190         macro.
46191         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
46193 2011-10-09  Bruno Haible  <bruno@clisp.org>
46195         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
46196         * modules/snprintf-posix-tests (configure.ac): Require
46197         gl_LONG_DOUBLE_VS_DOUBLE.
46198         * modules/sprintf-posix-tests (configure.ac): Likewise.
46199         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
46200         * modules/vasprintf-posix-tests (configure.ac): Likewise.
46201         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
46202         * modules/vsprintf-posix-tests (configure.ac): Likewise.
46203         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
46204         tests on platforms where 'long double' is the same as 'double'.
46205         * tests/test-sprintf-posix.h (test_function): Likewise.
46206         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46207         * tests/test-vasprintf-posix.c (test_function): Likewise.
46209         *printf: Fix for platforms where 'long double' == 'double'.
46210         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46211         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
46212         * modules/dprintf-posix (Files): Add m4/math_h.m4.
46213         * modules/fprintf-posix (Files): Likewise.
46214         * modules/obstack-printf-posix (Files): Likewise.
46215         * modules/snprintf-posix (Files): Likewise.
46216         * modules/sprintf-posix (Files): Likewise.
46217         * modules/vasnprintf (Files): Likewise.
46218         * modules/vasnprintf-posix (Files): Likewise.
46219         * modules/vasprintf-posix (Files): Likewise.
46220         * modules/vdprintf-posix (Files): Likewise.
46221         * modules/vfprintf-posix (Files): Likewise.
46222         * modules/vsnprintf-posix (Files): Likewise.
46223         * modules/vsprintf-posix (Files): Likewise.
46224         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46225         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46226         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46227         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46228         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46229         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46230         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46232         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
46233         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
46234         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46235         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
46236         'long double'.
46237         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
46239         isinf: Fix for platforms where 'long double' == 'double'.
46240         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46241         Don't blindly assume 80-bit 'long double'.
46243         isfinite: Fix for platforms where 'long double' == 'double'.
46244         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46245         Don't blindly assume 80-bit 'long double'.
46247         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
46248         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
46249         * modules/isfinite-tests (configure.ac): Require
46250         gl_LONG_DOUBLE_VS_DOUBLE.
46251         * modules/isinf-tests (configure.ac): Likewise.
46252         * modules/isnan-tests (configure.ac): Likewise.
46253         * modules/isnanl-tests (configure.ac): Likewise.
46254         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
46255         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
46256         tests on platforms where 'long double' is the same as 'double'.
46257         * tests/test-isinf.c (test_isinfl): Likewise.
46258         * tests/test-isnan.c (test_long_double): Likewise.
46259         * tests/test-isnanl.h (main): Likewise.
46261 2011-10-08  Bruno Haible  <bruno@clisp.org>
46263         Tests for module 'tanhf'.
46264         * modules/tanhf-tests: New file.
46265         * tests/test-tanhf.c: New file.
46267         New module 'tanhf'.
46268         * lib/math.in.h (tanhf): New declaration.
46269         * lib/tanhf.c: New file.
46270         * m4/tanhf.m4: New file.
46271         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
46272         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
46273         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
46274         * modules/tanhf: New file.
46275         * tests/test-math-c++.cc: Check the declaration of tanhf.
46276         * doc/posix-functions/tanhf.texi: Mention the new module.
46278         tanh: Use a .m4 file.
46279         * m4/tanh.m4: New file.
46280         * modules/tanh (Files): Add it.
46281         (configure.ac): Just invoke gl_FUNC_TANH.
46283 2011-10-08  Bruno Haible  <bruno@clisp.org>
46285         Tests for module 'coshf'.
46286         * modules/coshf-tests: New file.
46287         * tests/test-coshf.c: New file.
46289         New module 'coshf'.
46290         * lib/math.in.h (coshf): New declaration.
46291         * lib/coshf.c: New file.
46292         * m4/coshf.m4: New file.
46293         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
46294         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
46295         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
46296         * modules/coshf: New file.
46297         * tests/test-math-c++.cc: Check the declaration of coshf.
46298         * doc/posix-functions/coshf.texi: Mention the new module.
46300         cosh: Use a .m4 file.
46301         * m4/cosh.m4: New file.
46302         * modules/cosh (Files): Add it.
46303         (configure.ac): Just invoke gl_FUNC_COSH.
46305 2011-10-08  Bruno Haible  <bruno@clisp.org>
46307         Tests for module 'sinhf'.
46308         * modules/sinhf-tests: New file.
46309         * tests/test-sinhf.c: New file.
46311         New module 'sinhf'.
46312         * lib/math.in.h (sinhf): New declaration.
46313         * lib/sinhf.c: New file.
46314         * m4/sinhf.m4: New file.
46315         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
46316         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
46317         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
46318         * modules/sinhf: New file.
46319         * tests/test-math-c++.cc: Check the declaration of sinhf.
46320         * doc/posix-functions/sinhf.texi: Mention the new module.
46322         sinh: Use a .m4 file.
46323         * m4/sinh.m4: New file.
46324         * modules/sinh (Files): Add it.
46325         (configure.ac): Just invoke gl_FUNC_SINH.
46327 2011-10-08  Bruno Haible  <bruno@clisp.org>
46329         Tests for module 'atan2f'.
46330         * modules/atan2f-tests: New file.
46331         * tests/test-atan2f.c: New file.
46333         New module 'atan2f'.
46334         * lib/math.in.h (atan2f): New declaration.
46335         * lib/atan2f.c: New file.
46336         * m4/atan2f.m4: New file.
46337         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
46338         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
46339         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
46340         * modules/atan2f: New file.
46341         * tests/test-math-c++.cc: Check the declaration of atan2f.
46342         * doc/posix-functions/atan2f.texi: Mention the new module.
46344         atan2: Use a .m4 file.
46345         * m4/atan2.m4: New file.
46346         * modules/atan2 (Files): Add it.
46347         (configure.ac): Just invoke gl_FUNC_ATAN2.
46349 2011-10-08  Bruno Haible  <bruno@clisp.org>
46351         Tests for module 'atanf'.
46352         * modules/atanf-tests: New file.
46353         * tests/test-atanf.c: New file.
46355         New module 'atanf'.
46356         * lib/math.in.h (atanf): New declaration.
46357         * lib/atanf.c: New file.
46358         * m4/atanf.m4: New file.
46359         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
46360         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
46361         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
46362         * modules/atanf: New file.
46363         * tests/test-math-c++.cc: Check the declaration of atanf.
46364         * doc/posix-functions/atanf.texi: Mention the new module.
46366         atan: Use a .m4 file.
46367         * m4/atan.m4: New file.
46368         * modules/atan (Files): Add it.
46369         (configure.ac): Just invoke gl_FUNC_ATAN.
46371 2011-10-08  Bruno Haible  <bruno@clisp.org>
46373         Tests for module 'acosf'.
46374         * modules/acosf-tests: New file.
46375         * tests/test-acosf.c: New file.
46377         New module 'acosf'.
46378         * lib/math.in.h (acosf): New declaration.
46379         * lib/acosf.c: New file.
46380         * m4/acosf.m4: New file.
46381         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
46382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
46383         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
46384         * modules/acosf: New file.
46385         * tests/test-math-c++.cc: Check the declaration of acosf.
46386         * doc/posix-functions/acosf.texi: Mention the new module.
46388         acos: Use a .m4 file.
46389         * m4/acos.m4: New file.
46390         * modules/acos (Files): Add it.
46391         (configure.ac): Just invoke gl_FUNC_ACOS.
46393 2011-10-08  Bruno Haible  <bruno@clisp.org>
46395         Tests for module 'asinf'.
46396         * modules/asinf-tests: New file.
46397         * tests/test-asinf.c: New file.
46399         New module 'asinf'.
46400         * lib/math.in.h (asinf): New declaration.
46401         * lib/asinf.c: New file.
46402         * m4/asinf.m4: New file.
46403         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
46404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
46405         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
46406         * modules/asinf: New file.
46407         * tests/test-math-c++.cc: Check the declaration of asinf.
46408         * doc/posix-functions/asinf.texi: Mention the new module.
46410         asin: Use a .m4 file.
46411         * m4/asin.m4: New file.
46412         * modules/asin (Files): Add it.
46413         (configure.ac): Just invoke gl_FUNC_ASIN.
46415 2011-10-08  Bruno Haible  <bruno@clisp.org>
46417         Tests for module 'tanf'.
46418         * modules/tanf-tests: New file.
46419         * tests/test-tanf.c: New file.
46421         New module 'tanf'.
46422         * lib/math.in.h (tanf): New declaration.
46423         * lib/tanf.c: New file.
46424         * m4/tanf.m4: New file.
46425         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
46426         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
46427         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
46428         * modules/tanf: New file.
46429         * tests/test-math-c++.cc: Check the declaration of tanf.
46430         * doc/posix-functions/tanf.texi: Mention the new module.
46432         tan: Use a .m4 file.
46433         * m4/tan.m4: New file.
46434         * modules/tan (Files): Add it.
46435         (configure.ac): Just invoke gl_FUNC_TAN.
46437 2011-10-08  Bruno Haible  <bruno@clisp.org>
46439         Tests for module 'cosf'.
46440         * modules/cosf-tests: New file.
46441         * tests/test-cosf.c: New file.
46443         New module 'cosf'.
46444         * lib/math.in.h (cosf): New declaration.
46445         * lib/cosf.c: New file.
46446         * m4/cosf.m4: New file.
46447         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
46448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
46449         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
46450         * modules/cosf: New file.
46451         * tests/test-math-c++.cc: Check the declaration of cosf.
46452         * doc/posix-functions/cosf.texi: Mention the new module.
46454         cos: Use a .m4 file.
46455         * m4/cos.m4: New file.
46456         * modules/cos (Files): Add it.
46457         (configure.ac): Just invoke gl_FUNC_COS.
46459 2011-10-08  Bruno Haible  <bruno@clisp.org>
46461         Tests for module 'sinf'.
46462         * modules/sinf-tests: New file.
46463         * tests/test-sinf.c: New file.
46465         New module 'sinf'.
46466         * lib/math.in.h (sinf): New declaration.
46467         * lib/sinf.c: New file.
46468         * m4/sinf.m4: New file.
46469         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
46470         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
46471         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
46472         * modules/sinf: New file.
46473         * tests/test-math-c++.cc: Check the declaration of sinf.
46474         * doc/posix-functions/sinf.texi: Mention the new module.
46476         sin: Use a .m4 file.
46477         * m4/sin.m4: New file.
46478         * modules/sin (Files): Add it.
46479         (configure.ac): Just invoke gl_FUNC_SIN.
46481 2011-10-08  Bruno Haible  <bruno@clisp.org>
46483         Tests for module 'powf'.
46484         * modules/powf-tests: New file.
46485         * tests/test-powf.c: New file.
46487         New module 'powf'.
46488         * lib/math.in.h (powf): New declaration.
46489         * lib/powf.c: New file.
46490         * m4/powf.m4: New file.
46491         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
46492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
46493         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
46494         * modules/powf: New file.
46495         * tests/test-math-c++.cc: Check the declaration of powf.
46496         * doc/posix-functions/powf.texi: Mention the new module.
46498         pow: Use a .m4 file.
46499         * m4/pow.m4: New file.
46500         * modules/pow (Files): Add it.
46501         (configure.ac): Just invoke gl_FUNC_POW.
46503 2011-10-08  Bruno Haible  <bruno@clisp.org>
46505         Tests for module 'log10f'.
46506         * modules/log10f-tests: New file.
46507         * tests/test-log10f.c: New file.
46509         New module 'log10f'.
46510         * lib/math.in.h (log10f): New declaration.
46511         * lib/log10f.c: New file.
46512         * m4/log10f.m4: New file.
46513         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
46514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
46515         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
46516         * modules/log10f: New file.
46517         * tests/test-math-c++.cc: Check the declaration of log10f.
46518         * doc/posix-functions/log10f.texi: Mention the new module.
46520         log10: Use a .m4 file.
46521         * m4/log10.m4: New file.
46522         * modules/log10 (Files): Add it.
46523         (configure.ac): Just invoke gl_FUNC_LOG10.
46525 2011-10-08  Bruno Haible  <bruno@clisp.org>
46527         Tests for module 'logf'.
46528         * modules/logf-tests: New file.
46529         * tests/test-logf.c: New file.
46531         New module 'logf'.
46532         * lib/math.in.h (logf): New declaration.
46533         * lib/logf.c: New file.
46534         * m4/logf.m4: New file.
46535         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
46536         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
46537         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
46538         * modules/logf: New file.
46539         * tests/test-math-c++.cc: Check the declaration of logf.
46540         * doc/posix-functions/logf.texi: Mention the new module.
46542         log: Use a .m4 file.
46543         * m4/log.m4: New file.
46544         * modules/log (Files): Add it.
46545         (configure.ac): Just invoke gl_FUNC_LOG.
46547 2011-10-08  Bruno Haible  <bruno@clisp.org>
46549         Tests for module 'expf'.
46550         * modules/expf-tests: New file.
46551         * tests/test-expf.c: New file.
46553         New module 'expf'.
46554         * lib/math.in.h (expf): New declaration.
46555         * lib/expf.c: New file.
46556         * m4/expf.m4: New file.
46557         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
46558         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
46559         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
46560         * modules/expf: New file.
46561         * tests/test-math-c++.cc: Check the declaration of expf.
46562         * doc/posix-functions/expf.texi: Mention the new module.
46564         exp: Use a .m4 file.
46565         * m4/exp.m4: New file.
46566         * modules/exp (Files): Add it.
46567         (configure.ac): Just invoke gl_FUNC_EXP.
46569 2011-10-08  Bruno Haible  <bruno@clisp.org>
46571         Tests for module 'sqrtf'.
46572         * modules/sqrtf-tests: New file.
46573         * tests/test-sqrtf.c: New file.
46575         New module 'sqrtf'.
46576         * lib/math.in.h (sqrtf): New declaration.
46577         * lib/sqrtf.c: New file.
46578         * m4/sqrtf.m4: New file.
46579         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
46580         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
46581         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
46582         * modules/sqrtf: New file.
46583         * tests/test-math-c++.cc: Check the declaration of sqrtf.
46584         * doc/posix-functions/sqrtf.texi: Mention the new module.
46586 2011-10-08  Bruno Haible  <bruno@clisp.org>
46588         Tests: Avoid link failures w.r.t. libintl.
46589         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
46590         $(LIBINTL).
46591         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
46592         $(LIBINTL).
46593         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
46594         against $(LIBINTL).
46595         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
46596         $(LIBINTL).
46597         * modules/openat-tests (Makefile.am): Link test-fchmodat against
46598         $(LIBINTL).
46599         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
46601 2011-10-08  Bruno Haible  <bruno@clisp.org>
46603         pow tests: Defeat compiler optimizations.
46604         * tests/test-pow.c (main): Assign arguments to x and y before use.
46606 2011-10-08  Bruno Haible  <bruno@clisp.org>
46608         gnulib-tool: Improve last commit.
46609         * gnulib-tool (func_modules_transitive_closure): Simplify code.
46610         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
46611         ignore dependencies that are not among the modules list.
46613 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
46615         gnulib-tool: don't follow dependencies to avoided modules
46616         This fixes a bug that is related to the previous one.
46617         * gnulib-tool (func_modules_transitive_closure)
46618         (func_emit_autoconf_snippets):
46619         Check whether a dependency is acceptable before using it.
46620         (--extract-dependencies): Report an error if --avoid is also used,
46621         since this combination of options is not yet supported.
46623         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
46624         Problem reported by Peter Dyballa in
46625         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
46626         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
46627         when echoing "$condition".
46629 2011-10-07  Bruno Haible  <bruno@clisp.org>
46631         Fix documentation about math functions on MacOS X.
46632         * doc/posix-functions/exp2.texi: Don't say the function is missing on
46633         MacOS X 10.5.
46634         * doc/posix-functions/fdim.texi: Likewise.
46635         * doc/posix-functions/feclearexcept.texi: Likewise.
46636         * doc/posix-functions/fegetenv.texi: Likewise.
46637         * doc/posix-functions/fegetround.texi: Likewise.
46638         * doc/posix-functions/feholdexcept.texi: Likewise.
46639         * doc/posix-functions/feraiseexcept.texi: Likewise.
46640         * doc/posix-functions/fesetenv.texi: Likewise.
46641         * doc/posix-functions/fesetround.texi: Likewise.
46642         * doc/posix-functions/fetestexcept.texi: Likewise.
46643         * doc/posix-functions/feupdateenv.texi: Likewise.
46644         * doc/posix-functions/fmax.texi: Likewise.
46645         * doc/posix-functions/fmin.texi: Likewise.
46646         * doc/posix-functions/log2.texi: Likewise.
46647         * doc/posix-functions/modff.texi: Likewise.
46648         * doc/posix-functions/nan.texi: Likewise.
46649         * doc/posix-functions/nanf.texi: Likewise.
46650         * doc/posix-functions/nextafterf.texi: Likewise.
46651         * doc/posix-functions/remquo.texi: Likewise.
46653 2011-10-07  Bruno Haible  <bruno@clisp.org>
46655         modff: Drop assumption about library that defines modff.
46656         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
46657         AC_CHECK_FUNCS.
46658         * modules/modff (Files): Add m4/mathfunc.m4.
46660 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
46662         raise tests: Avoid a GCC warning.
46663         * tests/test-raise.c (handler): Use _Noreturn.
46665 2011-10-07  Bruno Haible  <bruno@clisp.org>
46667         Tests for module 'ldexpf'.
46668         * modules/ldexpf-tests: New file.
46669         * tests/test-ldexpf.c: New file.
46671         New module 'ldexpf'.
46672         * lib/math.in.h (ldexpf): New declaration.
46673         * lib/ldexpf.c: New file.
46674         * m4/ldexpf.m4: New file.
46675         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
46676         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
46677         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
46678         * modules/ldexpf: New file.
46679         * tests/test-math-c++.cc: Check the declaration of ldexpf.
46680         * doc/posix-functions/ldexpf.texi: Mention the new module.
46682 2011-10-06  Bruno Haible  <bruno@clisp.org>
46684         frexpf: Work around problems on IRIX and mingw.
46685         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
46686         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
46687         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
46688         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
46689         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
46690         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
46691         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
46693 2011-10-06  Bruno Haible  <bruno@clisp.org>
46695         fabsf: Drop assumption about library that defines fabsf.
46696         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
46697         AC_CHECK_FUNCS.
46698         * modules/fabsf (Files): Add m4/mathfunc.m4.
46700 2011-10-06  Bruno Haible  <bruno@clisp.org>
46702         frexpf: Drop assumption about library that defines frexpf.
46703         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
46704         'int *', 'float *', 'long double *', 'float', 'long double'.
46705         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
46706         AC_CHECK_FUNCS.
46707         * modules/frexpf (Files): Add m4/mathfunc.m4.
46709         Tests for module 'frexpf'.
46710         * modules/frexpf-tests: New file.
46711         * tests/test-frexpf.c: New file.
46713         New module 'frexpf'.
46714         * lib/math.in.h (frexpf): New declaration.
46715         * lib/frexpf.c: New file.
46716         * m4/frexpf.m4: New file.
46717         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
46718         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
46719         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
46720         * modules/frexpf: New file.
46721         * tests/test-math-c++.cc: Check the declaration of frexpf.
46722         * doc/posix-functions/frexpf.texi: Mention the new module.
46724 2011-10-06  Bruno Haible  <bruno@clisp.org>
46726         math: Sort function declarations of math.in.h.
46727         * lib/math.in.h (frexp, logb): Move declarations.
46729 2011-10-05  Bruno Haible  <bruno@clisp.org>
46731         Tests for module 'modff'.
46732         * modules/modff-tests: New file.
46733         * tests/test-modff.c: New file.
46735         New module 'modff'.
46736         * lib/math.in.h (modff): New declaration.
46737         * lib/modff.c: New file.
46738         * m4/modff.m4: New file.
46739         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
46740         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
46741         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
46742         * modules/modff: New file.
46743         * tests/test-math-c++.cc: Check the declaration of modff.
46744         * doc/posix-functions/modff.texi: Mention the new module.
46746         modf tests: Make test sharper.
46747         * tests/test-modf.c (main): Strengthen upper bound.
46749         modf: Use a .m4 file.
46750         * m4/modf.m4: New file.
46751         * modules/modf (Files): Add it.
46752         (configure.ac): Just invoke gl_FUNC_MODF.
46754 2011-10-05  Bruno Haible  <bruno@clisp.org>
46756         Tests for module 'fmodf'.
46757         * modules/fmodf-tests: New file.
46758         * tests/test-fmodf.c: New file.
46760         New module 'fmodf'.
46761         * lib/math.in.h (fmodf): New declaration.
46762         * lib/fmodf.c: New file.
46763         * m4/fmodf.m4: New file.
46764         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
46765         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
46766         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
46767         * modules/fmodf: New file.
46768         * tests/test-math-c++.cc: Check the declaration of fmodf.
46769         * doc/posix-functions/fmodf.texi: Mention the new module.
46771         fmod: Use a .m4 file.
46772         * m4/fmod.m4: New file.
46773         * modules/fmod (Files): Add it.
46774         (configure.ac): Just invoke gl_FUNC_FMOD.
46776 2011-10-05  Bruno Haible  <bruno@clisp.org>
46778         Tests for module 'fabsf'.
46779         * modules/fabsf-tests: New file.
46780         * tests/test-fabsf.c: New file.
46782         New module 'fabsf'.
46783         * lib/math.in.h (fabsf): New declaration.
46784         * lib/fabsf.c: New file.
46785         * m4/fabsf.m4: New file.
46786         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
46787         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
46788         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
46789         * modules/fabsf: New file.
46790         * tests/test-math-c++.cc: Check the declaration of fabsf.
46791         * doc/posix-functions/fabsf.texi: Mention the new module.
46793         fabs: Use a .m4 file.
46794         * m4/fabs.m4: New file.
46795         * modules/fabs (Files): Add it.
46796         (configure.ac): Just invoke gl_FUNC_FABS.
46798 2011-10-05  Jim Meyering  <meyering@redhat.com>
46800         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
46801         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
46802         ls -lL regression introduced in coreutils-8.12, it does so at the
46803         cost of an additional stat call in the common case.  Besides, now
46804         that the kernel change that prompted commit 95f7c57f has been reverted
46805         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
46806         we have no use for commit 95f7c57f, "file-has-acl: use
46807         acl_extended_file_nofollow if available".
46809 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
46811         file-has-acl: revert unintended change in behavior of ls -L
46812         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
46813         derived from...
46814         (file_has_acl): ...code here.  Call it.
46815         This problem was introduced with 2011-07-22 commit 95f7c57f,
46816         "file-has-acl: use acl_extended_file_nofollow if available".
46817         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
46819 2011-10-03  Bruno Haible  <bruno@clisp.org>
46821         poll: Avoid link errors on MSVC.
46822         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
46823         * modules/poll (Depends-on): Add sockets.
46824         (Link): New section.
46825         * NEWS: Mention the change.
46826         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
46827         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
46828         $(LIB_POLL) instead of $(LIBSOCKET).
46830 2011-10-03  Bruno Haible  <bruno@clisp.org>
46832         sys_select tests: Fix link error on MSVC 9.
46833         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
46834         with $(LIB_SELECT) instead of $(LIBSOCKET).
46836 2011-10-03  Bruno Haible  <bruno@clisp.org>
46838         sys_select: Fix compilation error on mingw.
46839         * lib/sys_select.in.h: On native Windows, include <io.h>.
46841 2011-10-03  Bruno Haible  <bruno@clisp.org>
46843         wmemset: Support for MSVC.
46844         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
46845         whether wmemset() exists.
46847 2011-10-03  Bruno Haible  <bruno@clisp.org>
46849         wmemmove: Support for MSVC.
46850         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
46851         whether wmemmove() exists.
46853 2011-10-03  Bruno Haible  <bruno@clisp.org>
46855         wmemcpy: Support for MSVC.
46856         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
46857         whether wmemcpy() exists.
46859 2011-10-03  Bruno Haible  <bruno@clisp.org>
46861         wmemcmp: Support for MSVC.
46862         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
46863         whether wmemcmp() exists.
46865 2011-10-03  Bruno Haible  <bruno@clisp.org>
46867         wmemchr: Support for MSVC.
46868         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
46869         whether wmemchr() exists.
46871 2011-10-03  Bruno Haible  <bruno@clisp.org>
46873         glthread/*, strsignal: Support for MSVC.
46874         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
46875         including <winsock.h> on MSVC 9.
46876         * lib/glthread/lock.h: Likewise.
46877         * lib/glthread/thread.h: Likewise.
46878         * lib/glthread/tls.h: Likewise.
46879         * lib/glthread/yield.h: Likewise.
46880         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
46881         if HAVE_UNISTD_H is false.
46882         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
46884 2011-10-03  Bruno Haible  <bruno@clisp.org>
46886         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
46887         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
46888         Set to 100000.
46890 2011-10-03  Bruno Haible  <bruno@clisp.org>
46892         acl: Fix specification.
46893         * lib/file-has-acl.c (file_has_acl): Fix specification.
46895 2011-10-03  Bruno Haible  <bruno@clisp.org>
46897         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
46898         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
46899         (compute_curr_prefix, shared_library_fullname,
46900         find_shared_library_fullname, get_shared_library_fullname, relocate):
46901         Use it together with PIC && INSTALLDIR.
46902         Reported by <jojelino@gmail.com>
46903         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
46905 2011-10-01  Jim Meyering  <meyering@redhat.com>
46907         maint.mk: adjust a release-related rule not to require use of gzip
46908         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
46909         Instead, check each file in $(DIST_ARCHIVES).  This is better for
46910         projects that build only .tar.xz files.  Also fix an erroneous test.
46912         test-linkat: don't leave behind a temporary file
46913         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
46914         Otherwise, coreutils' "make distcheck" would fail with this:
46915           Only in /c/cu/tests/torture/coreutils/test/\
46916             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
46917           make[2]: *** [my-distcheck] Error 1
46919         float, math: add omitted file
46920         * lib/itold.c: Add file, required for yesterday's float change.
46922 2011-10-01  Bruno Haible  <bruno@clisp.org>
46924         isinf: Fix for OpenBSD/x86.
46925         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
46926         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
46927         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
46929 2011-10-01  Bruno Haible  <bruno@clisp.org>
46931         isfinite: Fix syntax error in configure test.
46932         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
46934         isfinite: Fix typo.
46935         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
46936         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
46938 2011-10-01  Bruno Haible  <bruno@clisp.org>
46940         nonblocking tests: Fix test failure on Linux/IA-64.
46941         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
46942         Set to 270000.
46944 2011-10-01  Bruno Haible  <bruno@clisp.org>
46946         mkfifoat tests: Fix a test failure on mingw.
46947         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
46948         with error ENOSYS.
46950 2011-09-30  Bruno Haible  <bruno@clisp.org>
46952         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
46953         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
46954         'long double'. Set REPLACE_ITOLD.
46955         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
46956         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
46957         * lib/itold.c: New file.
46958         * modules/float (Files): Add lib/itold.c.
46959         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
46960         (Makefile.am): Substitute REPLACE_ITOLD.
46961         * modules/math (Depends-on): Add float.
46962         (Makefile.am): Substitute REPLACE_ITOLD.
46963         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
46964         * doc/posix-headers/math.texi: Likewise.
46965         * doc/posix-functions/logl.texi: Likewise.
46967 2011-09-30  Bruno Haible  <bruno@clisp.org>
46969         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
46970         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
46971         Set to 140000.
46973 2011-09-30  Bruno Haible  <bruno@clisp.org>
46975         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
46976         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
46977         invocation, say "right after AC_PROG_CC_STDC", not "right after
46978         AC_PROG_CC".
46979         Reported by Gary V. Vaughan <gary@gnu.org>.
46981 2011-09-30  Bruno Haible  <bruno@clisp.org>
46983         Centralize C99 requirement.
46984         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
46985         * modules/stdarg (configure.ac-early): Invoke it instead of
46986         AC_PROG_CC_STDC.
46987         Reported by Gary V. Vaughan and Paul Eggert.
46989 2011-09-29  Bruno Haible  <bruno@clisp.org>
46991         float: Fix LDBL_MAX value on Linux/PowerPC.
46992         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
46993         on Linux/PowerPC.
46994         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
46995         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
46996         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
46997         platform.
46998         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
47000 2011-09-29  Bruno Haible  <bruno@clisp.org>
47002         doc: Improve doc about gl_EARLY.
47003         * doc/gnulib-tool.texi (Initial import): Mention where to place an
47004         AC_PROG_CC_STDC invocation.
47005         Reported by Gary V. Vaughan <gary@gnu.org>.
47007 2011-09-28  Bruno Haible  <bruno@clisp.org>
47009         fgetc, fputc, fread, fwrite tests: Fix link error.
47010         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
47011         on non-MSVC platforms.
47012         * tests/test-fputc.c (main): Likewise.
47013         * tests/test-fread.c (main): Likewise.
47014         * tests/test-fwrite.c (main): Likewise.
47015         Reported by Jim Meyering.
47017 2011-09-27  Bruno Haible  <bruno@clisp.org>
47019         fputc, fwrite tests: Avoid test failure on MSVC.
47020         * tests/test-fgetc.c: Include msvc-inval.h.
47021         (main): Invoke gl_msvc_inval_ensure_handler.
47022         * tests/test-fputc.c: Include msvc-inval.h.
47023         (main): Invoke gl_msvc_inval_ensure_handler.
47024         * tests/test-fread.c: Include msvc-inval.h.
47025         (main): Invoke gl_msvc_inval_ensure_handler.
47026         * tests/test-fwrite.c: Include msvc-inval.h.
47027         (main): Invoke gl_msvc_inval_ensure_handler.
47028         * modules/fgetc-tests (Depends-on): Add msvc-inval.
47029         * modules/fputc-tests (Depends-on): Likewise.
47030         * modules/fread-tests (Depends-on): Likewise.
47031         * modules/fwrite-tests (Depends-on): Likewise.
47033 2011-09-27  Bruno Haible  <bruno@clisp.org>
47035         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
47036         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
47037         (raise): Remove older, duplicated declaration.
47038         (_gl_raise_SIGPIPE): New declaration.
47039         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
47040         (rpl_raise): Remove function.
47041         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
47042         a gnulib-defined SIGPIPE here.
47043         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
47044         'sigprocmask' has detected missing signal-blocking and the module
47045         'sigpipe' is enabled.
47046         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47048 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
47050         base64-tests: avoid memory leak
47051         * tests/test-base64.c (main): Plug memory leak.
47053         base32: new module
47054         * modules/base32: New module.
47055         * lib/base32.c: New file.
47056         * lib/base32.h: Likewise.
47057         * m4/base32.m4: Likewise.
47058         * modules/base32-tests: New test.
47059         * tests/test-base32.c: Likewise.
47060         * MODULES.html.sh (Misc): Mention it.
47062 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47064         gnulib: use more-standard license notice wording
47065         * gnulib-tool (func_emit_copyright_notice): When emitting a
47066         license notice into a file, use the standard wording as suggested
47067         by the current information for GNU maintainers, except say "file"
47068         rather than "program".  The new wording gives a license version
47069         number, which addresses an issue raised by Glenn Morris in
47070         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
47071         * m4/onceonly.m4: Use that same wording here, too.
47073         dup2: minor simplification
47074         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
47075         as lib/dup2.c no longer uses 'inline'.
47077 2011-09-25  Bruno Haible  <bruno@clisp.org>
47079         strings: Fix compilation error on MSVC.
47080         * lib/strings.in.h: Include <stddef.h> for size_t.
47082 2011-09-25  Bruno Haible  <bruno@clisp.org>
47084         fflush et al.: Document limitation on MSVC.
47085         * doc/posix-functions/fflush.texi: Document possible crash in handling
47086         mode other than DEFAULT_HANDLING.
47087         * doc/posix-functions/fgetc.texi: Likewise.
47088         * doc/posix-functions/fputc.texi: Likewise.
47089         * doc/posix-functions/fread.texi: Likewise.
47090         * doc/posix-functions/fwrite.texi: Likewise.
47092 2011-09-25  Bruno Haible  <bruno@clisp.org>
47094         msvc-inval: Allow three invalid parameter handling modes.
47095         * lib/msvc-inval.h: Don't include <stdlib.h> here.
47096         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
47097         macros.
47098         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
47099         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
47100         SANE_LIBRARY_HANDLING as a no-op.
47101         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
47102         <stdlib.h>.
47103         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
47105 2011-09-25  Bruno Haible  <bruno@clisp.org>
47107         msvc-inval: Make handler multithread-safe.
47108         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
47109         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
47110         declarations.
47111         (gl_msvc_inval_current): New declaration.
47112         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
47113         Operate on the structure returned by gl_msvc_inval_current().
47114         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
47115         Remove varaiables.
47116         (tls_index, tls_initialized): New variables.
47117         (not_per_thread): New variable.
47118         (gl_msvc_inval_current): New function.
47119         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
47120         returned by gl_msvc_inval_current().
47122 2011-09-25  Bruno Haible  <bruno@clisp.org>
47124         msvc-inval: Install handler globally.
47125         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
47126         !_MSC_VER.
47127         (gl_msvc_invalid_parameter_handler): Remove declaration.
47128         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
47129         declarations.
47130         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
47131         Install the handler globally, don't uninstall it.
47132         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
47133         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
47134         currently valid, call RaiseException instead.
47135         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
47136         for !_MSC_VER.
47138 2011-09-25  Bruno Haible  <bruno@clisp.org>
47140         strerror_r-posix: Fix for MSVC 9.
47141         * lib/strerror_r.c (local_snprintf): New function.
47142         (snprintf): Define to local_snprintf, not to _snprintf.
47144 2011-09-25  Bruno Haible  <bruno@clisp.org>
47146         ftruncate: Support for MSVC 9.
47147         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
47148         (chsize_nothrow): New function.
47149         (chsize): Redefine as a macro.
47150         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
47151         * modules/ftruncate (Depends-on): Add msvc-inval.
47153 2011-09-25  Bruno Haible  <bruno@clisp.org>
47155         New module 'fstat'.
47156         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
47157         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
47158         * lib/fchdir.c (rpl_fstat): Remove function.
47159         * m4/fstat.m4: New file.
47160         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
47161         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
47162         declared.
47163         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
47164         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
47165         * modules/fstat: New file.
47166         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
47167         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
47168         is set.
47169         * doc/posix-functions/fstat.texi: Mention the new module and the
47170         problem on MSVC.
47171         * NEWS: Mention the change.
47172         * modules/acl (Depends-on): Add fstat.
47173         * modules/chdir-safer (Depends-on): Likewise.
47174         * modules/chown (Depends-on): Likewise.
47175         * modules/copy-file (Depends-on): Likewise.
47176         * modules/fchdir (Depends-on): Likewise.
47177         * modules/fdopendir (Depends-on): Likewise.
47178         * modules/fopen (Depends-on): Likewise.
47179         * modules/fts (Depends-on): Likewise.
47180         * modules/getcwd (Depends-on): Likewise.
47181         * modules/isapipe (Depends-on): Likewise.
47182         * modules/linkat (Depends-on): Likewise.
47183         * modules/lseek (Depends-on): Likewise.
47184         * modules/mkdir-p (Depends-on): Likewise.
47185         * modules/open (Depends-on): Likewise.
47186         * modules/openat (Depends-on): Likewise.
47187         * modules/read-file (Depends-on): Likewise.
47188         * modules/renameat (Depends-on): Likewise.
47189         * modules/utimens (Depends-on): Likewise.
47191 2011-09-25  Bruno Haible  <bruno@clisp.org>
47193         linkat: Fix compilation on MSVC 9.
47194         * lib/linkat.c: Don't include <stdint.h>.
47196 2011-09-25  Bruno Haible  <bruno@clisp.org>
47198         fclose: Support for MSVC 9.
47199         * lib/fclose.c: Include msvc-inval.h.
47200         (fclose_nothrow): New function.
47201         (rpl_fclose): Use it.
47202         * modules/fclose (Depends-on): Add msvc-inval.
47203         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
47205 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47207         dup2: minor simplifications
47208         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
47209         that it's a performance win.
47210         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
47211         ! defined __CYGWIN__)" to "ifdef F_GETFL".
47213 2011-09-24  Jim Meyering  <meyering@redhat.com>
47215         test-futimens: avoid a warning from gcc -Wshadow
47216         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
47217         to avoid a shadowing warning.
47219 2011-09-24  Bruno Haible  <bruno@clisp.org>
47221         fdopen: Support for MSVC 9.
47222         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
47223         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
47224         * lib/fdopen.c: Include msvc-inval.h.
47225         (fdopen_nothrow): New function.
47226         (rpl_fdopen): Use it.
47227         * modules/fdopen (Depends-on): Add msvc-inval.
47228         * modules/fclose-tests (Depends-on): Add fdopen.
47229         * modules/fflush-tests (Depends-on): Likewise.
47230         * modules/fgetc-tests (Depends-on): Likewise.
47231         * modules/fputc-tests (Depends-on): Likewise.
47232         * modules/fread-tests (Depends-on): Likewise.
47233         * modules/freopen-tests (Depends-on): Likewise.
47234         * modules/fseeko-tests (Depends-on): Likewise.
47235         * modules/ftello-tests (Depends-on): Likewise.
47236         * modules/fwrite-tests  (Depends-on): Likewise.
47237         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
47239 2011-09-24  Bruno Haible  <bruno@clisp.org>
47241         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
47242         * modules/fgetc-tests (Depends-on): Add unistd.
47243         * modules/fputc-tests (Depends-on): Likewise.
47244         * modules/fread-tests (Depends-on): Likewise.
47245         * modules/fwrite-tests (Depends-on): Likewise.
47247 2011-09-24  Bruno Haible  <bruno@clisp.org>
47249         dup: Simplify autoconf test.
47250         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
47251         on gl_MSVC_INVAL's result.
47253 2011-09-24  Bruno Haible  <bruno@clisp.org>
47255         Tests for function fwrite().
47256         * modules/fwrite-tests: New file.
47257         * tests/test-fwrite.c: New file.
47258         * modules/stdio-tests (Depends-on): Add fwrite-tests.
47260         Tests for function fread().
47261         * modules/fread-tests: New file.
47262         * tests/test-fread.c: New file.
47263         * modules/stdio-tests (Depends-on): Add fread-tests.
47265         Activate fputc tests.
47266         * modules/stdio-tests (Depends-on): Add fputc-tests.
47268         Enhance fgetc, fputc tests.
47269         * tests/test-fgetc.c (main): Also test the stream's error indicator.
47270         * tests/test-fputc.c (main): Likewise.
47272 2011-09-24  Bruno Haible  <bruno@clisp.org>
47274         write: Support for MSVC 9.
47275         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47276         is not 1.
47277         * lib/write.c (write_nothrow): New function.
47278         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
47279         not 1. Use write_nothrow.
47280         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
47281         invalid parameter handler.
47282         (gl_PREREQ_WRITE): New macro.
47283         * modules/write (Depends-on): Add msvc-inval.
47284         (configure.ac): Invoke gl_PREREQ_WRITE.
47285         * doc/posix-functions/write.texi: Mention the problem on MSVC.
47287 2011-09-24  Bruno Haible  <bruno@clisp.org>
47289         read: Fix last commit.
47290         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
47292 2011-09-24  Bruno Haible  <bruno@clisp.org>
47294         dup2: Fix last commit.
47295         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
47296         (rpl_dup2): Disable fcntl workaround on native Windows.
47298         sigprocmask: Make code safer.
47299         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
47300         section that changes macro definitions for this compilation unit.
47302 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47304         dup2: clarify by coalescing Windows-specific material
47305         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
47306         "msvc-nothrow.h"' to the Windows-specific section, so that the
47307         Emacs source need not contain these include files.
47308         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
47309         Windows-specific fixes into this function rather than just the
47310         nothrow fix, as this shortens and clarifies the code.  Always
47311         define as a function, as that's a bit cleaner than having it be
47312         sometimes a function and sometimes a macro.
47313         (rpl_dup2): Move the Windows-specific stuff out of here and into
47314         ms_windows_dup2.  Don't protect the Haiku-related fix with
47315         "#if !defined __linux__", as the same code also works around
47316         a Linux kernel bug, and it doesn't add any system calls on any
47317         platform.  Add comment about FreeBSD 6.1.
47319         sigprocmask: move #include directive
47320         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
47321         Windows-specific section, so that the Emacs source need not
47322         contain msvc-inval.h.
47324 2011-09-23  Bruno Haible  <bruno@clisp.org>
47326         read: Support for MSVC 9.
47327         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47328         is not 1.
47329         * lib/read.c (read_nothrow): New function.
47330         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
47331         read_nothrow.
47332         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
47333         invalid parameter handler.
47334         (gl_PREREQ_READ): New macro.
47335         * modules/read (Depends-on): Add msvc-inval.
47336         (configure.ac): Invoke gl_PREREQ_READ.
47337         * doc/posix-functions/read.texi: Mention the problem on MSVC.
47339 2011-09-23  Bruno Haible  <bruno@clisp.org>
47341         close: Support for MSVC 9.
47342         * lib/close.c: Include <errno.h>, msvc-inval.h.
47343         (close_nothrow): New function.
47344         (rpl_close): Use it.
47345         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
47346         invalid parameter handler.
47347         * modules/close (Depends-on): Add msvc-inval.
47348         * modules/dup2-tests (Depends-on): Add close.
47349         * modules/dup3-tests (Depends-on): Likewise.
47350         * modules/fcntl-tests (Depends-on): Likewise.
47351         * modules/spawn-pipe-tests (Depends-on): Likewise.
47352         * modules/unistd-safer-tests (Depends-on): Likewise.
47353         * doc/posix-functions/close.texi: Mention the problem on MSVC.
47355 2011-09-23  Bruno Haible  <bruno@clisp.org>
47357         New module 'dup'.
47358         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
47359         Allow replacement.
47360         * lib/dup.c: New file.
47361         * lib/fchdir.c (rpl_dup): Remove function.
47362         * m4/dup.m4: New file.
47363         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
47364         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
47365         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
47366         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
47367         * modules/dup: New file.
47368         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
47369         'dup' module is in use.
47370         * modules/fdopendir (Depends-on): Add dup.
47371         * modules/fdutimensat-tests (Depends-on): Likewise.
47372         * modules/fts (Depends-on): Likewise.
47373         * modules/futimens-tests (Depends-on): Likewise.
47374         * modules/posix_spawnp-tests (Depends-on): Likewise.
47375         * modules/unistd-safer-tests (Depends-on): Likewise.
47376         * modules/utimens-tests (Depends-on): Likewise.
47377         * doc/posix-functions/dup.texi: Mention the new module and the problem
47378         on MSVC.
47380 2011-09-23  Bruno Haible  <bruno@clisp.org>
47382         getdtablesize: Support for MSVC 9.
47383         * lib/getdtablesize.c: Include msvc-inval.h.
47384         (_setmaxstdio_nothrow): New function.
47385         (_setmaxstdio): Redefine it.
47386         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
47387         * modules/getdtablesize (Depends-on): Add msvc-inval.
47388         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
47390 2011-09-23  Bruno Haible  <bruno@clisp.org>
47392         signal-h: Rename from signal.
47393         * modules/signal-h: Renamed from modules/signal.
47394         * modules/pthread_sigmask (Depends-on): Update.
47395         * modules/raise (Depends-on): Likewise.
47396         * modules/sigaction (Depends-on): Likewise.
47397         * modules/sigpipe (Depends-on): Likewise.
47398         * modules/sigprocmask (Depends-on): Likewise.
47399         * modules/sys_select (Depends-on): Likewise.
47400         * modules/signal-h-tests: Renamed from modules/signal-tests.
47401         (Files, Depends-on, Makefile.am): Update.
47402         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
47403         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
47404         (Files, Makefile.am): Update.
47405         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
47406         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
47407         * modules/signal: New placeholder file.
47408         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
47409         * doc/posix-headers/signal.texi: Update.
47410         * NEWS: Mention the change.
47412 2011-09-23  Bruno Haible  <bruno@clisp.org>
47414         sigprocmask: Avoid crashes through signal() on MSVC 9.
47415         * lib/sigprocmask.c: Include msvc-inval.h.
47416         (signal_nothrow): New function.
47417         (signal): Redefine it.
47418         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
47419         * modules/sigprocmask (Depends-on): Add msvc-inval.
47420         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
47422 2011-09-23  Bruno Haible  <bruno@clisp.org>
47424         Tests for module 'raise'.
47425         * modules/raise-tests: New file.
47426         * tests/test-raise.c: New file.
47428         raise: Support for MSVC.
47429         * lib/signal.in.h (raise): New declaration.
47430         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
47431         for native Windows platforms.
47432         * m4/raise.m4: New file.
47433         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
47434         HAVE_RAISE, REPLACE_RAISE.
47435         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
47436         REPLACE_RAISE.
47437         * modules/raise (Status, Notice): Remove fields.
47438         (Files): Add m4/raise.m4.
47439         (Depends-on): Add signal, msvc-inval.
47440         (configure.ac): Use the common idioms.
47441         (Maintainer): Add me.
47442         * tests/test-signal-c++.cc: Check the signature of raise.
47443         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
47445 2011-09-23  Bruno Haible  <bruno@clisp.org>
47447         pipe2: Fix compilation on pre-C99 compilers.
47448         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
47450 2011-09-23  Bruno Haible  <bruno@clisp.org>
47452         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
47453         * lib/msvc-nothrow.h: New file.
47454         * lib/msvc-nothrow.c: New file.
47455         * m4/msvc-nothrow.m4: New file.
47456         * modules/msvc-nothrow: New file.
47457         * lib/dup2.c: Include msvc-nothrow.h.
47458         (rpl_dup2): No need to protect _get_osfhandle call here.
47459         * lib/accept4.c: Include msvc-nothrow.h.
47460         * lib/error.c: Likewise.
47461         * lib/fcntl.c: Likewise.
47462         * lib/lseek.c: Likewise.
47463         * lib/nonblocking.c: Likewise.
47464         * lib/poll.c: Likewise.
47465         * lib/read.c: Likewise.
47466         * lib/select.c: Likewise.
47467         * lib/sockets.h: Likewise.
47468         * lib/sockets.c: Likewise.
47469         * lib/stdio-read.c: Likewise.
47470         * lib/stdio-write.c: Likewise.
47471         * lib/write.c: Likewise.
47472         * lib/w32sock.h: Likewise.
47473         * lib/w32spawn.h: Likewise.
47474         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
47475         * lib/fsync.c: Likewise.
47476         * lib/isapipe.c: Likewise.
47477         * modules/dup2 (Depends-on): Add msvc-nothrow.
47478         * modules/accept4 (Depends-on): Likewise.
47479         * modules/error (Depends-on): Likewise.
47480         * modules/fcntl (Depends-on): Likewise.
47481         * modules/lseek (Depends-on): Likewise.
47482         * modules/nonblocking (Depends-on): Likewise.
47483         * modules/poll (Depends-on): Likewise.
47484         * modules/read (Depends-on): Likewise.
47485         * modules/select (Depends-on): Likewise.
47486         * modules/sockets (Depends-on): Likewise.
47487         * modules/sigpipe (Depends-on): Likewise.
47488         * modules/write (Depends-on): Likewise.
47489         * modules/accept (Depends-on): Likewise.
47490         * modules/bind (Depends-on): Likewise.
47491         * modules/connect (Depends-on): Likewise.
47492         * modules/gethostname (Depends-on): Likewise.
47493         * modules/getpeername (Depends-on): Likewise.
47494         * modules/getsockname (Depends-on): Likewise.
47495         * modules/getsockopt (Depends-on): Likewise.
47496         * modules/ioctl (Depends-on): Likewise.
47497         * modules/listen (Depends-on): Likewise.
47498         * modules/recv (Depends-on): Likewise.
47499         * modules/recvfrom (Depends-on): Likewise.
47500         * modules/send (Depends-on): Likewise.
47501         * modules/sendto (Depends-on): Likewise.
47502         * modules/setsockopt (Depends-on): Likewise.
47503         * modules/shutdown (Depends-on): Likewise.
47504         * modules/socket (Depends-on): Likewise.
47505         * modules/execute (Depends-on): Likewise.
47506         * modules/spawn-pipe (Depends-on): Likewise.
47507         * modules/flock (Depends-on): Likewise.
47508         * modules/fsync (Depends-on): Likewise.
47509         * modules/isapipe (Depends-on): Likewise.
47510         * tests/test-cloexec.c: Include msvc-nothrow.h.
47511         * tests/test-dup-safer.c: Likewise.
47512         * tests/test-dup2.c: Likewise.
47513         * tests/test-dup3.c: Likewise.
47514         * tests/test-fcntl.c: Likewise.
47515         * tests/test-pipe.c: Likewise.
47516         * tests/test-pipe2.c: Likewise.
47517         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
47518         * modules/unistd-safer-tests (Depends-on): Likewise.
47519         * modules/dup2-tests (Depends-on): Likewise.
47520         * modules/dup3-tests (Depends-on): Likewise.
47521         * modules/fcntl-tests (Depends-on): Likewise.
47522         * modules/pipe-posix-tests (Depends-on): Likewise.
47523         * modules/pipe2-tests (Depends-on): Likewise.
47525 2011-09-23  Bruno Haible  <bruno@clisp.org>
47527         dup2: Make code more maintainable.
47528         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
47529         (rpl_dup2): Use it.
47530         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
47531         * modules/dup2 (configure.ac): Invoke it.
47532         Reported by Paul Eggert.
47534 2011-09-23  Bruno Haible  <bruno@clisp.org>
47536         msvc-inval: Fix compilation error.
47537         * lib/msvc-inval.h: Include <excpt.h>.
47539 2011-09-23  Bruno Haible  <bruno@clisp.org>
47541         mkdir: Tweak for MSVC 9.
47542         * lib/sys_stat.in.h: Update comments.
47543         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
47545         Tests for module 'chdir'.
47546         * modules/chdir-tests: New file.
47547         * tests/test-chdir.c: New file.
47549         New module 'chdir'.
47550         * modules/chdir: New file.
47551         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
47552         (chdir): New declaration.
47553         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
47554         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
47555         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
47556         * tests/test-unistd-c++.cc: Check signature of chdir.
47557         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
47558         * modules/chdir-long (Depends-on): Add chdir.
47559         * modules/fchdir (Depends-on): Likewise.
47560         * modules/rename (Depends-on): Likewise.
47561         * modules/savewd (Depends-on): Likewise.
47563         rmdir: Support for mingw, MSVC 9.
47564         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
47565         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
47567         getcwd: Tweak for MSVC 9.
47568         * lib/unistd.in.h: Update comments.
47569         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
47571 2011-09-22  Bruno Haible  <bruno@clisp.org>
47573         strerror_r-posix: Avoid a link error on MSVC.
47574         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
47575         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
47577 2011-09-22  Bruno Haible  <bruno@clisp.org>
47579         select: Avoid link errors on MSVC.
47580         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
47581         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
47582         * modules/pselect (Link): Likewise.
47583         * NEWS: Mention the change.
47584         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
47585         test-select-stdin against $(LIB_SELECT).
47586         * modules/pselect-tests (Makefile.am): Link test-pselect against
47587         $(LIB_SELECT).
47589 2011-09-22  Bruno Haible  <bruno@clisp.org>
47591         select: Avoid compilation error on MSVC.
47592         * lib/select.c: Don't include <stdbool.h>.
47594 2011-09-21  Bruno Haible  <bruno@clisp.org>
47596         Consolidate all uses of PATH_MAX in *.m4 files.
47597         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
47598         macros.
47599         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
47600         and gl_PATHMAX_SNIPPET.
47601         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
47602         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47603         * modules/chdir-long (Files): Add m4/pathmax.m4.
47604         * modules/getcwd (Files): Likewise.
47606 2011-09-21  Bruno Haible  <bruno@clisp.org>
47608         ftruncate: Un-deprecate, concentrate on Win32 support.
47609         * modules/ftruncate (Status, Notice): Remove sections.
47610         (Depends-on): Add largefile.
47611         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
47612         non-mingw platforms.
47613         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
47614         include <io.h>.
47615         * modules/perror-tests (Depends-on): Add ftruncate.
47616         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
47617         'ftruncate' module.
47619 2011-09-21  Bruno Haible  <bruno@clisp.org>
47621         Add dependencies to new dirent related modules.
47622         * modules/opendir (Depends-on): Add closedir.
47623         * modules/getcwd (Depends-on): Add opendir, closedir.
47624         * modules/dirent-safer-tests (Depends-on): Likewise.
47625         * modules/fdopendir-tests (Depends-on): Likewise.
47626         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
47627         * modules/renameat-tests (Depends-on): Likewise.
47629 2011-09-21  Bruno Haible  <bruno@clisp.org>
47631         opendir: Avoid compilation error on mingw.
47632         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
47633         * modules/opendir (Depends-on): Add unistd.
47635 2011-09-21  Bruno Haible  <bruno@clisp.org>
47637         ftruncate tests: Avoid a test failure on mingw.
47638         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
47640 2011-09-21  Bruno Haible  <bruno@clisp.org>
47642         select tests: Avoid test failures on OSF/1 5.1 and mingw.
47643         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
47644         native Windows.
47646 2011-09-21  Bruno Haible  <bruno@clisp.org>
47648         New module 'fdopen'.
47649         * lib/stdio.in.h (fdopen): New declaration.
47650         * lib/fdopen.c: New file.
47651         * m4/fdopen.m4: New file.
47652         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
47653         REPLACE_FDOPEN.
47654         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
47655         REPLACE_FDOPEN.
47656         * modules/fdopen: New file.
47657         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
47658         * tests/test-stdio-c++.cc: Check signature of fdopen.
47659         * doc/posix-functions/fdopen.texi: Mention the new module.
47661 2011-09-21  Bruno Haible  <bruno@clisp.org>
47663         unlockpt tests: Avoid test failure on NetBSD 5.1.
47664         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
47665         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
47667 2011-09-21  Bruno Haible  <bruno@clisp.org>
47669         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
47670         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
47671         * tests/test-getlogin_r.c (main): Likewise.
47673 2011-09-20  Bruno Haible  <bruno@clisp.org>
47675         time tests: Don't require pid_t.
47676         * doc/posix-headers/time.texi: Revert last change.
47677         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
47678         * tests/test-time.c: Comment out the check for pid_t.
47680 2011-09-20  Bruno Haible  <bruno@clisp.org>
47682         fsync tests: Avoid a test failure on mingw.
47683         * tests/test-fsync.c (main): Allow a failure with EIO.
47685 2011-09-20  Bruno Haible  <bruno@clisp.org>
47687         euidaccess: Update comments.
47688         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
47690 2011-09-20  Bruno Haible  <bruno@clisp.org>
47692         Ensure EBADF returns for socket functions on mingw.
47693         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
47694         descriptor is invalid.
47695         * lib/bind.c (rpl_bind): Likewise.
47696         * lib/connect.c (rpl_connect): Likewise.
47697         * lib/getpeername.c (rpl_getpeername): Likewise.
47698         * lib/getsockname.c (rpl_getsockname): Likewise.
47699         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47700         * lib/listen.c (rpl_listen): Likewise.
47701         * lib/recv.c (rpl_recv): Likewise.
47702         * lib/recvfrom.c (rpl_recvfrom): Likewise.
47703         * lib/send.c (rpl_send): Likewise.
47704         * lib/sendto.c (rpl_sendto): Likewise.
47705         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47706         * lib/shutdown.c (rpl_shutdown): Likewise.
47708 2011-09-20  Bruno Haible  <bruno@clisp.org>
47710         select tests: EBADF tests.
47711         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
47712         test_bad_fd): New functions.
47713         (test_function): Invoke also test_bad_fd.
47715 2011-09-20  Bruno Haible  <bruno@clisp.org>
47717         Tests for module 'posix_spawn_file_actions_addopen.
47718         * modules/posix_spawn_file_actions_addopen-tests: New file.
47719         * tests/test-posix_spawn_file_actions_addopen.c: New file.
47721         Tests for module 'posix_spawn_file_actions_adddup2'.
47722         * modules/posix_spawn_file_actions_adddup2-tests: New file.
47723         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
47725         Tests for module 'posix_spawn_file_actions_addclose'.
47726         * modules/posix_spawn_file_actions_addclose-tests: New file.
47727         * tests/test-posix_spawn_file_actions_addclose.c: New file.
47729 2011-09-20  Bruno Haible  <bruno@clisp.org>
47731         Tests for module 'unlockpt'.
47732         * modules/unlockpt-tests: New file.
47733         * tests/test-unlockpt.c: New file.
47734         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
47736         Tests for module 'grantpt'.
47737         * modules/grantpt-tests: New file.
47738         * tests/test-grantpt.c: New file.
47739         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
47741 2011-09-20  Bruno Haible  <bruno@clisp.org>
47743         freopen tests: EBADF tests.
47744         * tests/test-freopen.c: Include errno.h, unistd.h.
47745         (main): Add tests for EBADF, commented out for the moment.
47747         fclose tests: EBADF tests.
47748         * tests/test-fclose.c (main): Add tests for EBADF.
47750         fflush tests: EBADF tests.
47751         * tests/test-fflush.c: Include errno.h, macros.h.
47752         (main): Add tests for EBADF.
47754         ftello tests: EBADF tests.
47755         * tests/test-ftello4.sh: New file.
47756         * tests/test-ftello4.c: New file.
47757         * modules/ftello-tests (Files): Add them.
47758         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
47760         fseeko tests: EBADF tests.
47761         * tests/test-fseeko4.sh: New file.
47762         * tests/test-fseeko4.c: New file.
47763         * modules/fseeko-tests (Files): Add them.
47764         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
47766         Tests for function fputc().
47767         * modules/fputc-tests: New file.
47768         * tests/test-fputc.c: New file.
47769         * modules/stdio-tests (Depends-on): Add fputc-tests.
47771         Tests for function fgetc().
47772         * modules/fgetc-tests: New file.
47773         * tests/test-fgetc.c: New file.
47774         * modules/stdio-tests (Depends-on): Add fgetc-tests.
47776         Tests for function fdopen().
47777         * modules/fdopen-tests: New file.
47778         * tests/test-fdopen.c: New file.
47779         * modules/stdio-tests (Depends-on): Add fdopen-tests.
47781         Tests for module 'vdprintf'.
47782         * modules/vdprintf-tests: New file.
47783         * tests/test-vdprintf.c: New file.
47785         Tests for module 'dprintf'.
47786         * modules/dprintf-tests: New file.
47787         * tests/test-dprintf.c: New file.
47789 2011-09-20  Bruno Haible  <bruno@clisp.org>
47791         Tests for module 'ioctl'.
47792         * modules/ioctl-tests: New file.
47793         * tests/test-ioctl.c: New file.
47795 2011-09-20  Bruno Haible  <bruno@clisp.org>
47797         fcntl tests: EBADF tests.
47798         * tests/test-fcntl.c (main): Add more tests for EBADF.
47800 2011-09-20  Bruno Haible  <bruno@clisp.org>
47802         utimensat tests: EBADF tests.
47803         * tests/test-utimensat.c (main): Add tests for EBADF.
47805         renameat tests: EBADF tests.
47806         * tests/test-renameat.c (main): Add tests for EBADF.
47808         mkfifoat tests: EBADF tests.
47809         * tests/test-mkfifoat.c (main): Add tests for EBADF.
47811         readlinkat tests: EBADF tests.
47812         * tests/test-readlinkat.c (main): Add tests for EBADF.
47814         symlinkat tests: EBADF tests.
47815         * tests/test-symlinkat.c (main): Add tests for EBADF.
47817         linkat tests: EBADF tests.
47818         * tests/test-linkat.c (main): Add tests for EBADF.
47820         Tests for module 'faccessat'.
47821         * modules/faccessat-tests: New file.
47822         * tests/test-faccessat.c: New file.
47824         fdopendir tests: EBADF tests.
47825         * tests/test-fdopendir.c (main): Add more tests for EBADF.
47827         openat tests: EBADF tests.
47828         * tests/test-fchownat.c (main): Add tests for EBADF.
47829         * tests/test-fstatat.c (main): Likewise.
47830         * tests/test-mkdirat.c (main): Likewise.
47831         * tests/test-openat.c (main): Likewise.
47832         * tests/test-unlinkat.c (main): Likewise.
47833         * tests/test-fchmodat.c: New file.
47834         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
47835         (Makefile.am): Also run 'test-fchmodat'.
47837 2011-09-20  Bruno Haible  <bruno@clisp.org>
47839         utimens, futimens, fdutimensat tests: EBADF tests.
47840         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
47842         Tests for function fstat().
47843         * modules/fstat-tests: New file.
47844         * tests/test-fstat.c: New file.
47845         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
47847 2011-09-20  Bruno Haible  <bruno@clisp.org>
47849         test-ttyname_r tests: EBADF tests.
47850         * tests/test-ttyname_r.c (main): Add tests for EBADF.
47852         Tests for module 'isatty'.
47853         * modules/isatty-tests: New file.
47854         * tests/test-isatty.c: New file.
47856         Tests for module 'write'.
47857         * modules/write-tests: New file.
47858         * tests/test-write.c: New file.
47860         Tests for module 'read'.
47861         * modules/read-tests: New file.
47862         * tests/test-read.c: New file.
47864         pwrite tests: EBADF tests.
47865         * tests/test-pwrite.c (main): Add tests for EBADF.
47867         pread tests: EBADF tests.
47868         * tests/test-pread.c (main): Add tests for EBADF.
47870         lseek tests: EBADF tests.
47871         * tests/test-lseek.c (main): Add more tests for EBADF.
47873         Tests for module 'ftruncate'.
47874         * modules/ftruncate-tests: New file.
47875         * tests/test-ftruncate.sh: New file.
47876         * tests/test-ftruncate.c: New file.
47878         fsync tests: EBADF tests.
47879         * tests/test-fsync.c (main): Add more tests for EBADF.
47881         fdatasync tests: EBADF tests.
47882         * tests/test-fdatasync.c (main): Add more tests for EBADF.
47884         Tests for module 'fchown'.
47885         * modules/fchown-tests: New file.
47886         * tests/test-fchown.c: New file.
47888         Tests for module 'fchmod'.
47889         * modules/fchmod-tests: New file.
47890         * tests/test-fchmod.c: New file.
47892         fchdir tests: EBADF tests.
47893         * tests/test-fchdir.c (main): Add more tests for EBADF.
47895         dup2 tests: EBADF tests.
47896         * tests/test-dup2.c (main): Add more tests for EBADF.
47898         Tests for module 'dup'.
47899         * modules/dup-tests: New file.
47900         * tests/test-dup.c: New file.
47902         Tests for module 'close'.
47903         * modules/close-tests: New file.
47904         * tests/test-close.c: New file.
47906 2011-09-20  Bruno Haible  <bruno@clisp.org>
47908         Tests for module 'shutdown'.
47909         * modules/shutdown-tests: New file.
47910         * tests/test-shutdown.c: New file.
47912         Tests for module 'setsockopt'.
47913         * modules/setsockopt-tests: New file.
47914         * tests/test-setsockopt.c: New file.
47916         Tests for module 'sendto'.
47917         * modules/sendto-tests: New file.
47918         * tests/test-sendto.c: New file.
47920         Tests for module 'send'.
47921         * modules/send-tests: New file.
47922         * tests/test-send.c: New file.
47924         Tests for module 'recvfrom'.
47925         * modules/recvfrom-tests: New file.
47926         * tests/test-recvfrom.c: New file.
47928         Tests for module 'recv'.
47929         * modules/recv-tests: New file.
47930         * tests/test-recv.c: New file.
47932         Tests for module 'listen'.
47933         * modules/listen-tests: New file.
47934         * tests/test-listen.c: New file.
47936         Tests for module 'getsockopt'.
47937         * modules/getsockopt-tests: New file.
47938         * tests/test-getsockopt.c: New file.
47940         Tests for module 'getsockname'.
47941         * modules/getsockname-tests: New file.
47942         * tests/test-getsockname.c: New file.
47944         Tests for module 'getpeername'.
47945         * modules/getpeername-tests: New file.
47946         * tests/test-getpeername.c: New file.
47948         Tests for module 'connect'.
47949         * modules/connect-tests: New file.
47950         * tests/test-connect.c: New file.
47952         Tests for module 'bind'.
47953         * modules/bind-tests: New file.
47954         * tests/test-bind.c: New file.
47956         accept4 tests: Fix for native Windows.
47957         * tests/test-accept4.c: Include sockets.h.
47958         (main): Invoke gl_sockets_startup.
47959         * modules/accept4-tests (Depends-on): Add sockets.
47961         accept tests: Fix for native Windows.
47962         * tests/test-accept.c: Include sockets.h.
47963         (main): Invoke gl_sockets_startup.
47964         * modules/accept-tests (Depends-on): Add sockets.
47966 2011-09-19  Bruno Haible  <bruno@clisp.org>
47968         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
47969         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
47970         do...while(0).
47971         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
47972         Suggested by Paul Eggert.
47974 2011-09-19  Bruno Haible  <bruno@clisp.org>
47976         sched: Ensure pid_t is defined.
47977         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
47978         not define pid_t.
47979         * lib/sched.in.h: Include <sys/types.h>.
47980         * doc/posix-headers/sched.texi: Mention the pid_t problem.
47981         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47983 2011-09-19  Bruno Haible  <bruno@clisp.org>
47985         msvc-inval: Ensure the entire expansion is a single statement.
47986         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
47987         of braces.
47989 2011-09-19  Jim Meyering  <meyering@redhat.com>
47991         tests: use printf, not echo in init.sh's warn_ function
47992         * tests/init.sh (warn_): Use printf, not echo.  The latter would
47993         misbehave when given strings containing a backslash or starting
47994         with e.g., -n.  James Youngman suggested setting IFS.
47996 2011-09-19  Eric Blake  <eblake@redhat.com>
47998         futimens: enhance test
47999         * tests/test-futimens.h (test_futimens): Also check for EBADF on
48000         closed non-negative fd.
48002         date: accept 'hence' as opposite of 'ago'
48003         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
48004         * tests/test-parse-datetime.c (main): Enhance test.
48005         Suggested by Jesse Wilson.
48007 2011-09-19  Jim Meyering  <meyering@redhat.com>
48009         getcwd: don't fail in a deep directory on a system without openat
48010         Before this change, getcwd would fail when called from a directory
48011         of depth PATH_MAX / 3 or greater.  That was due to the fact that
48012         the non-openat implementation used "..", "../..", "../../..", etc.
48013         to access ancestor directories.  With too many, that string would
48014         be longer than PATH_MAX.
48015         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
48016         using gnulib's openat replacement.
48017         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
48018         we're using the replacement function.
48020 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
48022         maint.mk: avoid warnings from perl about missing files
48023         * top/maint.mk (def_sym_regex): Ignore files listed in
48024         $(gl_other_headers_) that do not exist, say because a project
48025         does not use a corresponding module.
48027 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
48029         stat: use pathmax.h only if needed
48030         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
48031         This is better for Emacs, which does not have a mingw port and
48032         therefore can avoid the pathmax module.
48034         utimens: remove dependency on dup2
48035         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
48036         to work around the Linux kernel bug.
48037         * modules/utimens (Depends-on): Remove dup2.
48039 2011-09-18  Bruno Haible  <bruno@clisp.org>
48041         inet_ntop, inet_pton: Look for it also in libresolv.
48042         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
48043         libnsl, search for it in libresolv.
48044         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48045         Needed on Solaris 7.
48047 2011-09-18  Bruno Haible  <bruno@clisp.org>
48049         accept, accept4 tests: Avoid link error on Solaris.
48050         * modules/accept-tests (Makefile.am): Link test-accept against
48051         $(LIBSOCKET).
48052         * modules/accept4-tests (Makefile.am): Link test-accept4 against
48053         $(LIBSOCKET).
48055         accept4: Avoid link error on Solaris.
48056         * modules/accept4 (Link): New section.
48058         socket functions: Avoid link errors on Solaris.
48059         * modules/accept (Depends-on): Add socketlib.
48060         (Link): New section.
48061         * modules/bind (Depends-on): Add socketlib.
48062         (Link): New section.
48063         * modules/connect (Depends-on): Add socketlib.
48064         (Link): New section.
48065         * modules/getpeername (Depends-on): Add socketlib.
48066         (Link): New section.
48067         * modules/getsockname (Depends-on): Add socketlib.
48068         (Link): New section.
48069         * modules/getsockopt (Depends-on): Add socketlib.
48070         (Link): New section.
48071         * modules/listen (Depends-on): Add socketlib.
48072         (Link): New section.
48073         * modules/recv (Depends-on): Add socketlib.
48074         (Link): New section.
48075         * modules/recvfrom (Depends-on): Add socketlib.
48076         (Link): New section.
48077         * modules/send (Depends-on): Add socketlib.
48078         (Link): New section.
48079         * modules/sendto (Depends-on): Add socketlib.
48080         (Link): New section.
48081         * modules/setsockopt (Depends-on): Add socketlib.
48082         (Link): New section.
48083         * modules/shutdown (Depends-on): Add socketlib.
48084         (Link): New section.
48085         * modules/socket (Depends-on): Add socketlib.
48086         (Link): New section.
48088 2011-09-18  Bruno Haible  <bruno@clisp.org>
48090         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
48091         * tests/test-ptsname.c (main): Terminate the test if it takes longer
48092         than 5 seconds.
48093         * modules/ptsname-tests (configure.ac): Test for alarm.
48095 2011-09-18  Bruno Haible  <bruno@clisp.org>
48097         posix_spawn_file_actions_add*: Fix module dependencies.
48098         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
48099         posix_spawn_file_actions_init.
48100         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
48101         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
48103 2011-09-18  Bruno Haible  <bruno@clisp.org>
48105         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
48106         * tests/test-rename.h (test_rename): Allow error code EEXIST.
48107         * tests/test-renameat.c (main): Likewise.
48109 2011-09-18  Bruno Haible  <bruno@clisp.org>
48111         Tests for module 'accept4'.
48112         * modules/accept4-tests: New file.
48113         * tests/test-accept4.c: New file.
48115 2011-09-18  Bruno Haible  <bruno@clisp.org>
48117         Tests for module 'accept'.
48118         * modules/accept-tests: New file.
48119         * tests/test-accept.c: New file.
48121 2011-09-18  Bruno Haible  <bruno@clisp.org>
48123         dup2: Support for MSVC.
48124         * lib/dup2.c: Include msvc-inval.h.
48125         (rpl_dup2): Handle invalid parameter notifications during dup2 and
48126         _get_osfhandle calls.
48127         * modules/dup2 (Depends-on): Add msvc-inval.
48128         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
48130         New module 'msvc-inval'.
48131         * lib/msvc-inval.h: New file.
48132         * lib/msvc-inval.c: New file.
48133         * m4/msvc-inval.m4: New file.
48134         * modules/msvc-inval: New file.
48136 2011-09-17  Bruno Haible  <bruno@clisp.org>
48138         Tests for module 'pclose'.
48139         * modules/pclose-tests: New file.
48141         New module 'pclose'.
48142         * lib/stdio.in.h (pclose): New declaration.
48143         * lib/pclose.c: New file.
48144         * m4/pclose.m4: New file.
48145         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
48146         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
48147         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
48148         * modules/pclose: New file.
48149         * modules/popen-tests (Depends-on): Add pclose.
48150         * modules/popen-safer-tests (Depends-on): Likewise.
48151         * doc/posix-functions/pclose.texi: Mention the new module.
48153 2011-09-17  Bruno Haible  <bruno@clisp.org>
48155         popen: Support for MSVC.
48156         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
48157         * lib/popen.c (popen): Provide alternate definition for native Windows.
48158         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
48159         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
48160         * modules/popen (Depends-on, configure.ac): Update condition.
48161         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
48162         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
48163         fixed.
48165 2011-09-17  Bruno Haible  <bruno@clisp.org>
48167         isnanl, isnand, isnanf: Work around MSVC bug.
48168         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
48170 2011-09-17  Bruno Haible  <bruno@clisp.org>
48172         sys_socket tests: Fix recent mistake.
48173         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
48175 2011-09-17  Bruno Haible  <bruno@clisp.org>
48177         putenv: Support for MSVC.
48178         * modules/putenv (Depends-on): Add environ.
48179         * lib/putenv.c (environ): Disable declaration.
48180         * lib/unistd.in.h: Update comment.
48182 2011-09-17  Bruno Haible  <bruno@clisp.org>
48184         math: Avoid macro redefinition warnings on MSVC.
48185         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
48186         Undefine before redefining.
48188 2011-09-17  Bruno Haible  <bruno@clisp.org>
48190         doc: Mention functions which are declared as macros.
48191         * doc/posix-functions/*[fl].texi: Mention that some functions are
48192         defined as macros with arguments only.
48194 2011-09-17  Bruno Haible  <bruno@clisp.org>
48196         Add dependencies to new dirent related modules.
48197         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
48198         * modules/fts (Depends-on): Likewise.
48199         * modules/glob (Depends-on): Likewise.
48200         * modules/savedir (Depends-on): Likewise.
48201         * modules/scandir (Depends-on): Likewise.
48202         * modules/dirent-safer (Depends-on): Add opendir, closedir.
48203         * modules/fdopendir (Depends-on): Add opendir.
48205 2011-09-17  Bruno Haible  <bruno@clisp.org>
48207         inet_pton: Support for MSVC on Windows Vista or newer.
48208         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
48209         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
48210         HAVE_DECL_INET_PTON is defined.
48211         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48212         On platforms with <winsock2.h>, test whether inet_pton is declared in
48213         <ws2tcpip.h>. If so, arrange to replace it.
48214         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48215         REPLACE_INET_PTON.
48216         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
48217         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
48218         (Depends-on, configure.ac): Update condition.
48219         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
48221 2011-09-17  Bruno Haible  <bruno@clisp.org>
48223         inet_ntop: Support for MSVC on Windows Vista or newer.
48224         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
48225         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
48226         HAVE_DECL_INET_NTOP is defined.
48227         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48228         On platforms with <winsock2.h>, test whether inet_ntop is declared in
48229         <ws2tcpip.h>. If so, arrange to replace it.
48230         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48231         REPLACE_INET_NTOP.
48232         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
48233         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
48234         (Depends-on, configure.ac): Update condition.
48235         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
48237 2011-09-16  Eric Blake  <eblake@redhat.com>
48239         test-fsync: yet another enhancement
48240         * tests/test-fsync.c (main): Also test behavior on read-only text
48241         file.
48243 2011-09-16  Bruno Haible  <bruno@clisp.org>
48245         Enhance fsync, fdatasync tests.
48246         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
48247         * tests/test-fdatasync.c (main): Likewise.
48249 2011-09-16  Bruno Haible  <bruno@clisp.org>
48251         Support for MSVC compiler: Ensure mode_t gets defined.
48252         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
48253         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
48254         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48255         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
48256         * tests/test-fcntl-h.c: Check that mode_t is defined.
48257         * tests/test-sys_stat.c: Likewise.
48258         * tests/test-sys_types.c: Likewise.
48259         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
48260         * doc/posix-headers/sys_stat.texi: Likewise.
48261         * doc/posix-headers/sys_types.texi: Likewise.
48263 2011-09-16  Bruno Haible  <bruno@clisp.org>
48265         sys_stat: Support for MSVC.
48266         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
48267         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
48268         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
48269         MSVC.
48271 2011-09-16  Bruno Haible  <bruno@clisp.org>
48273         Support for MSVC compiler: Ensure off_t gets defined.
48274         * lib/unistd.in.h: Include <sys/types.h>.
48275         * tests/test-fcntl-h.c: Check that off_t is defined.
48276         * tests/test-sys_stat.c: Likewise.
48277         * tests/test-sys_types.c: Likewise.
48279 2011-09-16  Eric Blake  <eblake@redhat.com>
48281         fdatasync: port to Solaris
48282         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
48283         * modules/fdatasync (Link): Document it.
48284         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
48286         fdatasync: port to MacOS X 10.7
48287         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
48288         declared.
48289         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
48290         * modules/unistd (Makefile.am): Substitute it.
48291         * lib/unistd.in.h (fdatasync): Declare on MacOS.
48292         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
48294         fdatasync: minor improvements
48295         * modules/fdatasync (Depends-on): Add condition for fsync.
48296         * lib/fdatasync.c (fdatasync): Add comment.
48297         * tests/test-unistd-c++.cc: Test fdatasync.
48299         unistd: update refs to newer POSIX
48300         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
48301         Suggested by Bruno Haible.
48303         fdatasync: new module
48304         * modules/fsync (Description): Document difference to fdatasync.
48305         * modules/fdatasync: New module.
48306         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
48307         * lib/fdatasync.c (fdatasync): Likewise.
48308         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
48309         defaults.
48310         * modules/unistd (Makefile.am): Set witnesses.
48311         * lib/unistd.in.h (fdatasync): Declare.
48312         * MODULES.html.sh: Document it.
48313         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
48314         * modules/fdatasync-tests: New test.
48315         * tests/test-fdatasync.c: Likewise.
48317 2011-09-16  Eric Blake  <eblake@redhat.com>
48319         test-fsync: enhance tests
48320         * modules/fsync-tests (Depends-on): Add errno, for mingw.
48321         * tests/test-fsync.c (main): Enhance test.
48323 2011-09-15  Bruno Haible  <bruno@clisp.org>
48325         Support for MSVC compiler: Ensure ssize_t gets defined.
48326         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
48327         * doc/posix-headers/stdio.texi: Likewise.
48328         * modules/stdio (Depends-on): Add ssize_t.
48329         * modules/sys_socket (Depends-on): Likewise.
48330         * modules/sys_types (Depends-on): Likewise.
48331         * modules/sys_uio (Depends-on): Likewise.
48332         * modules/unistd (Depends-on): Likewise.
48333         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
48334         * tests/test-sys_types.c: Check that ssize_t is defined.
48336 2011-09-14  Bruno Haible  <bruno@clisp.org>
48338         Avoid using #, the m4 comment starter character, near brackets.
48339         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
48340         delimiter character in sed expressions.
48341         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
48342         Suggested by Eric Blake.
48344         Properly quote AC_CHECK_DECLS' 4th argument.
48345         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
48346         argument.
48347         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
48348         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
48349         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
48350         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
48351         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
48352         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
48353         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
48354         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
48355         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
48356         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48357         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
48358         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48359         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48360         * m4/isinf.m4 (gl_ISINF): Likewise.
48361         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
48362         * m4/readutmp.m4 (gl_READUTMP): Likewise.
48363         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48364         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
48365         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
48366         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
48367         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
48368         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
48369         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
48370         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
48371         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
48372         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48373         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
48374         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48375         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48376         Reported by Eric Blake.
48378         Properly quote AC_CHECK_DECL's 4th argument.
48379         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
48380         argument.
48381         * m4/argp.m4 (gl_ARGP): Likewise.
48382         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
48383         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
48384         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
48385         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
48386         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
48387         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
48388         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
48389         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
48390         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48391         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
48392         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
48393         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
48394         Reported by Eric Blake.
48396 2011-09-14  Eric Blake  <eblake@redhat.com>
48398         opendir: avoid compile warning
48399         * lib/opendir.c (includes): Always include errno.h.
48400         Reported by Tatsuro MATSUOKA.
48402 2011-09-14  Jim Meyering  <meyering@redhat.com>
48404         maint.mk: sc_tight_scope: propagate failure from sub-make
48405         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
48406         Reported by Martin von Gagern.
48408 2011-09-13  Bruno Haible  <bruno@clisp.org>
48410         tempname: Support for MSVC.
48411         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
48412         MSVC.
48413         * modules/tempname (Depends-on): Add fcntl-h.
48415 2011-09-13  Bruno Haible  <bruno@clisp.org>
48417         sys_time: Support for MSVC.
48418         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
48419         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
48420         include <winsock2.h>.
48421         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
48422         function declarations that collide with POSIX.
48423         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
48424         (Makefile.am): Substitute HAVE_WINSOCK2_H.
48426 2011-09-13  Bruno Haible  <bruno@clisp.org>
48428         stat: Support for MSVC.
48429         * lib/stat.c: Include pathmax.h.
48430         * modules/stat (Depends-on): Add pathmax.
48432         pathmax: Support for native Windows.
48433         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
48435 2011-09-12  Bruno Haible  <bruno@clisp.org>
48437         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
48438         * lib/dirent.in.h (struct dirent): New type.
48439         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
48440         DT_WHT): New macros.
48441         (DIR): New type.
48442         (opendir, closedir): Declare only if the module 'opendir' is enabled.
48443         (readdir, rewinddir): New declarations.
48444         * lib/dirent-private.h: New file.
48445         * lib/opendir.c: New file.
48446         * lib/readdir.c: New file.
48447         * lib/rewinddir.c: New file.
48448         * lib/closedir.c: New file.
48449         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
48450         * m4/opendir.m4: New file.
48451         * m4/readdir.m4: New file.
48452         * m4/rewinddir.m4: New file.
48453         * m4/closedir.m4: New file.
48454         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
48455         REPLACE_CLOSEDIR here.
48456         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
48457         readdir, rewinddir are declared.
48458         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
48459         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
48460         HAVE_REWINDDIR, HAVE_CLOSEDIR.
48461         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
48462         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
48463         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
48464         * modules/opendir: New file.
48465         * modules/readdir: New file.
48466         * modules/rewinddir: New file.
48467         * modules/closedir: New file.
48468         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
48469         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
48470         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
48471         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
48472         * NEWS: Mention the 'fchdir' change.
48474 2011-09-11  Bruno Haible  <bruno@clisp.org>
48476         asm-underscore.m4: Support for MSVC.
48477         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
48478         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
48480 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
48482         Doc about crypt functions.
48483         * doc/posix-functions/crypt.texi: Expand range of glibc versions
48484         needing for _GNU_SOURCE to get crypt.
48485         * doc/posix-functions/encrypt.texi: Likewise.
48486         * doc/posix-functions/setkey.texi: Likewise.
48488 2011-09-11  Bruno Haible  <bruno@clisp.org>
48490         doc: Update regarding MSVC 9.
48491         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
48492         tested".
48493         * doc/posix-functions/*.texi: Update with info about MSVC 9.
48494         * doc/posix-headers/*.texi: Likewise.
48495         * doc/pastposix-functions/*.texi: Likewise.
48496         * doc/glibc-functions/*.texi: Likewise.
48497         * doc/glibc-headers/*.texi: Likewise.
48499 2011-09-11  Bruno Haible  <bruno@clisp.org>
48501         unistd et al.: Don't assume <unistd.h> exists.
48502         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
48503         does not exist.
48504         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
48505         exist. But include <stdlib.h>.
48506         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
48507         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
48508         symlink() does not exist.
48509         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
48510         include <io.h> instead.
48511         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
48512         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
48513         include <direct.h> instead.
48514         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
48515         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48516         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
48517         <io.h> instead.
48518         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
48519         correctly if the system does not have hard links.
48520         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
48521         <direct.h> instead.
48522         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
48523         it when looking for function declarations.
48524         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
48525         <direct.h> and <io.h> instead.
48526         * doc/posix-headers/unistd.texi: More details about MSVC problem.
48528 2011-09-11  Bruno Haible  <bruno@clisp.org>
48530         strcase: Support for MSVC.
48531         * modules/strcase (Status, Notice): Remove obsoletion mark.
48532         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
48533         * doc/posix-functions/strncasecmp.texi: Likewise.
48535         strings: Don't assume <strings.h> exists.
48536         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
48537         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
48538         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
48539         * doc/posix-headers/strings.texi: Mention the MSVC problem.
48541 2011-09-11  Bruno Haible  <bruno@clisp.org>
48543         dirent: Don't assume <dirent.h> exists.
48544         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
48545         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
48546         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
48547         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
48549 2011-09-11  Bruno Haible  <bruno@clisp.org>
48551         Fix wint_t on MSVC.
48552         * lib/wchar.in.h (wint_t): On MSVC, override it.
48553         * lib/wctype.in.h (wint_t): Likewise.
48554         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
48555         MSVC.
48556         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
48557         * doc/posix-headers/wctype.texi: Likewise.
48559 2011-09-11  Bruno Haible  <bruno@clisp.org>
48561         sys_types: Fix typo.
48562         * lib/sys_types.in.h: Fix typo in comment.
48563         Reported by Paul Eggert.
48565         Support for MSVC compiler: Ensure size_t gets defined.
48566         * modules/strings (Depends-on): Add 'sys_types'.
48567         * modules/sys_uio (Depends-on): Likewise.
48568         * lib/sys_uio.in.h: Update comment.
48570         C++ tests for module 'sys_types'.
48571         * modules/sys_types-c++-tests: New file.
48572         * tests/test-sys_types-c++.cc: New file.
48574         Tests for module 'sys_types'.
48575         * modules/sys_types-tests: New file.
48576         * tests/test-sys_types.c: New file.
48578         New module 'sys_types'.
48579         * lib/sys_types.in.h: New file.
48580         * m4/sys_types_h.m4: New file.
48581         * modules/sys_types: New file.
48582         * doc/posix-headers/sys_types.texi: Mention the new module and the
48583         size_t problem on MSVC 9.
48585 2011-09-11  Bruno Haible  <bruno@clisp.org>
48587         Support for MSVC compiler: Avoid division by a literal 0.
48588         * lib/math.in.h (NAN): Define through a function call also on MSVC.
48589         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
48590         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
48591         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
48592         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
48593         * tests/infinity.h: New file.
48594         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
48595         on MSVC.
48596         * tests/test-ceilf1.c: Include infinity.h.
48597         (main): Use Infinityf.
48598         * tests/test-ceil1.c: Include infinity.h.
48599         (main): Use Infinityd.
48600         * tests/test-ceill.c: Include infinity.h.
48601         (main): Use Infinityl.
48602         * tests/test-dprintf-posix.c: Include infinity.h.
48603         (test_function): Use Infinityd.
48604         * tests/test-floorf1.c: Include infinity.h.
48605         (main): Use Infinityf.
48606         * tests/test-floor1.c: Include infinity.h.
48607         (main): Use Infinityd.
48608         * tests/test-floorl.c: Include infinity.h.
48609         (main): Use Infinityl.
48610         * tests/test-fprintf-posix.c: Include infinity.h.
48611         (test_function): Use Infinityd.
48612         * tests/test-frexp.c: Include infinity.h.
48613         (main): Use Infinityd.
48614         * tests/test-frexpl.c: Include infinity.h.
48615         (main): Use Infinityl.
48616         * tests/test-isfinite.c: Include infinity.h.
48617         (test_isfinitef): Use Infinityf.
48618         (test_isfinited): Use Infinityd.
48619         (test_isfinitel): Use Infinityl.
48620         * tests/test-isinf.c: Include infinity.h.
48621         (test_isinff): Use Infinityf.
48622         (test_isinfd): Use Infinityd.
48623         (test_isinfl): Use Infinityl.
48624         * tests/test-isnan.c: Include infinity.h.
48625         (test_float): Use Infinityf.
48626         (test_double): Use Infinityd.
48627         (test_long_double): Use Infinityl.
48628         * tests/test-isnanf.h: Include infinity.h.
48629         (main): Use Infinityf.
48630         * tests/test-isnand.h: Include infinity.h.
48631         (main): Use Infinityd.
48632         * tests/test-isnanl.h: Include infinity.h.
48633         (main): Use Infinityl.
48634         * tests/test-ldexpl.c: Include infinity.h.
48635         (main): Use Infinityl.
48636         * tests/test-printf-posix.h: Include infinity.h.
48637         (test_function): Use Infinityd.
48638         * tests/test-roundf1.c: Include infinity.h.
48639         (main): Use Infinityf.
48640         * tests/test-round1.c: Include infinity.h.
48641         (main): Use Infinityd.
48642         * tests/test-roundl.c: Include infinity.h.
48643         (main): Use Infinityl.
48644         * tests/test-signbit.c: Include infinity.h.
48645         (test_signbitf): Use Infinityf.
48646         (test_signbitd): Use Infinityd.
48647         (test_signbitl): Use Infinityl.
48648         * tests/test-snprintf-posix.h: Include infinity.h.
48649         (test_function): Use Infinityd, Infinityl.
48650         * tests/test-sprintf-posix.h: Include infinity.h.
48651         (test_function): Use Infinityd, Infinityl.
48652         * tests/test-truncf1.c: Include infinity.h.
48653         (main): Use Infinityf.
48654         * tests/test-trunc1.c: Include infinity.h.
48655         (main): Use Infinityd.
48656         * tests/test-truncl.c: Include infinity.h.
48657         (main): Use Infinityl.
48658         * tests/test-vasnprintf-posix.c: Include infinity.h.
48659         (test_function): Use Infinityd, Infinityl.
48660         * tests/test-vasprintf-posix.c: Include infinity.h.
48661         (test_function): Use Infinityd, Infinityl.
48662         * modules/ceilf-tests (Files): Add tests/infinity.h.
48663         * modules/ceil-tests (Files): Likewise.
48664         * modules/ceill-tests (Files): Likewise.
48665         * modules/dprintf-posix-tests (Files): Likewise.
48666         * modules/floorf-tests (Files): Likewise.
48667         * modules/floor-tests (Files): Likewise.
48668         * modules/floorl-tests (Files): Likewise.
48669         * modules/fprintf-posix-tests (Files): Likewise.
48670         * modules/frexp-tests (Files): Likewise.
48671         * modules/frexp-nolibm-tests (Files): Likewise.
48672         * modules/frexpl-tests (Files): Likewise.
48673         * modules/frexpl-nolibm-tests (Files): Likewise.
48674         * modules/isfinite-tests (Files): Likewise.
48675         * modules/isinf-tests (Files): Likewise.
48676         * modules/isnan-tests (Files): Likewise.
48677         * modules/isnanf-tests (Files): Likewise.
48678         * modules/isnanf-nolibm-tests (Files): Likewise.
48679         * modules/isnand-tests (Files): Likewise.
48680         * modules/isnand-nolibm-tests (Files): Likewise.
48681         * modules/isnanl-tests (Files): Likewise.
48682         * modules/isnanl-nolibm-tests (Files): Likewise.
48683         * modules/ldexpl-tests (Files): Likewise.
48684         * modules/printf-posix-tests (Files): Likewise.
48685         * modules/roundf-tests (Files): Likewise.
48686         * modules/round-tests (Files): Likewise.
48687         * modules/roundl-tests (Files): Likewise.
48688         * modules/signbit-tests (Files): Likewise.
48689         * modules/snprintf-posix-tests (Files): Likewise.
48690         * modules/sprintf-posix-tests (Files): Likewise.
48691         * modules/truncf-tests (Files): Likewise.
48692         * modules/trunc-tests (Files): Likewise.
48693         * modules/truncl-tests (Files): Likewise.
48694         * modules/vasnprintf-posix-tests (Files): Likewise.
48695         * modules/vasprintf-posix-tests (Files): Likewise.
48696         * modules/vdprintf-posix-tests (Files): Likewise.
48697         * modules/vfprintf-posix-tests (Files): Likewise.
48698         * modules/vprintf-posix-tests (Files): Likewise.
48699         * modules/vsnprintf-posix-tests (Files): Likewise.
48700         * modules/vsprintf-posix-tests (Files): Likewise.
48701         * modules/xprintf-posix-tests (Files): Likewise.
48703 2011-09-11  Bruno Haible  <bruno@clisp.org>
48705         Ensure pid_t gets defined.
48706         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
48707         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
48708         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
48709         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
48710         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
48711         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
48712         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
48713         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
48714         * tests/test-fcntl-h.c: Check that pid_t is defined.
48715         * tests/test-sched.c: Likewise.
48716         * tests/test-termios.c: Likewise.
48717         * tests/test-time.c: Likewise.
48718         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
48719         * doc/posix-headers/signal.texi: Likewise.
48720         * doc/posix-headers/sys_types.texi: Likewise.
48721         * doc/posix-headers/time.texi: Likewise.
48723 2011-09-11  Bruno Haible  <bruno@clisp.org>
48725         acl: Fix compilation on Solaris 10 (older version).
48726         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
48727         of ACE_EVERYONE.
48728         * lib/set-mode-acl.c (qset_acl): Likewise.
48729         Reported by Christian Jullien <eligis@orange.fr>.
48731 2011-09-10  Bruno Haible  <bruno@clisp.org>
48733         iconv, unsetenv: Add support for MSVC compiler.
48734         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
48735         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
48737 2011-09-10  Bruno Haible  <bruno@clisp.org>
48739         *printf: Add support for MSVC compiler.
48740         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
48741         handles the exception caused by the %n directive. When cross-compiling,
48742         guess no on native Windows.
48743         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
48744         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
48745         emulate it through vsnprintf.
48746         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
48747         * doc/posix-functions/dprintf.texi: Update documentation regarding
48748         MSVC 9.
48749         * doc/posix-functions/fprintf.texi: Likewise.
48750         * doc/posix-functions/printf.texi: Likewise.
48751         * doc/posix-functions/snprintf.texi: Likewise.
48752         * doc/posix-functions/sprintf.texi: Likewise.
48753         * doc/posix-functions/swprintf.texi: Likewise.
48754         * doc/posix-functions/vdprintf.texi: Likewise.
48755         * doc/posix-functions/vfprintf.texi: Likewise.
48756         * doc/posix-functions/vprintf.texi: Likewise.
48757         * doc/posix-functions/vsnprintf.texi: Likewise.
48758         * doc/posix-functions/vsprintf.texi: Likewise.
48759         * doc/glibc-functions/asprintf.texi: Likewise.
48760         * doc/glibc-functions/obstack_printf.texi: Likewise.
48761         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
48762         * doc/glibc-functions/vasprintf.texi: Likewise.
48764 2011-09-10  Bruno Haible  <bruno@clisp.org>
48766         nocrash: Add support for native Windows.
48767         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
48769 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
48770             Bruno Haible  <bruno@clisp.org>
48772         absolute-header, include-next: Add support for MSVC compiler.
48773         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
48774         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
48775         directory separator in #line directives.
48776         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
48777         recognize also backslash as directory separator in #line directives.
48779 2011-09-08  Jim Meyering  <meyering@redhat.com>
48781         maint.mk: mark the post-release commit log with "maint: " prefix
48782         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
48783         one-line commit-log summary.
48785 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
48786             Bruno Haible  <bruno@clisp.org>
48788         Doc about crypt functions.
48789         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
48790         systems.
48791         * doc/posix-functions/encrypt.texi: Likewise.
48792         * doc/posix-functions/setkey.texi: Likewise.
48794 2011-09-08  Simon Josefsson  <simon@josefsson.org>
48796         * lib/gc.h: Fix copyright header.
48798 2011-09-07  Bruno Haible  <bruno@clisp.org>
48800         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
48801         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
48802         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
48804 2011-09-07  Bruno Haible  <bruno@clisp.org>
48806         openat: Work around compilation error with OSF/1 5.1 DTK cc.
48807         * lib/fopen.c: Use different syntax for include of <stdio.h>.
48808         * lib/freopen.c: Likewise.
48809         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
48810         * lib/lstat.c: Likewise.
48811         * lib/stat.c: Likewise.
48812         * lib/open.c: Use different syntax for include of <fcntl.h>.
48813         * lib/openat.c: Include fcntl.h again, explicitly.
48815 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
48817         parse-datetime: document the newly accepted format
48818         * doc/parse-datetime.texi (Combined date and time of day items):
48819         New section.
48821 2011-09-06  Bruno Haible  <bruno@clisp.org>
48823         acl: Fix a test failure on newer Solaris 10 with ZFS.
48824         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
48825         ENOSYS as no ACL.
48826         Reported by Jim Meyering.
48828 2011-09-06  Bruno Haible  <bruno@clisp.org>
48830         acl: Update for AIX >= 5.3 with NFS.
48831         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
48832         ENOSYS as no ACL.
48834         acl: Fix a test failure on AIX >= 5.3 with NFS.
48835         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
48836         as no ACL.
48838 2011-09-06  Bruno Haible  <bruno@clisp.org>
48840         acl: Fix a test failure on IRIX 6.5 with NFS.
48841         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
48842         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
48843         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
48844         * lib/copy-acl.c (qcopy_acl): Likewise.
48846 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
48848         openat: port to AIX 7.1 with large files
48849         AIX 7.1 does a "#define openat open64at" if large files are in use,
48850         so we can't simply #undef openat.  Use the orig_openat trick (similar
48851         to orig_open in lib/open.c) to work around the problem.  Problem
48852         reported by Kevin Brott for GNU tar, in the thread containing
48853         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
48854         * lib/openat.c (__need_system_fcntl_h): Define first.
48855         Include <fcntl.h> and <sys/types.h> before undefining.
48856         (orig_openat) [HAVE_OPENAT]: New inline function.
48857         (openat) [HAVE_OPENAT]: Do not undef.
48858         (rpl_openat): Use orig_openat, not openat.
48860 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
48861             Bruno Haible  <bruno@clisp.org>
48863         acl: Avoid errors on NonStop Kernel.
48864         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
48865         ENOTSUP errors.
48867 2011-09-05  Bruno Haible  <bruno@clisp.org>
48869         acl: Clean up Solaris code.
48870         * lib/acl-internal.h: Remove no-op #if.
48871         * lib/file-has-acl.c: Likewise.
48872         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
48873         * lib/copy-acl.c (qcopy_acl): Likewise.
48875 2011-09-05  Bruno Haible  <bruno@clisp.org>
48877         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
48878         binaries built on the original Solaris 10.
48879         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
48880         trivial.
48882 2011-09-05  Bruno Haible  <bruno@clisp.org>
48884         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
48885         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
48886         10.
48887         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
48888         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
48889         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
48890         instead of acl_get, facl_get, acl_set, facl_set.
48892 2011-09-05  Bruno Haible  <bruno@clisp.org>
48894         copy-file: Try unit tests on more file systems.
48895         * tests/test-copy-file-1.sh: New file.
48896         * tests/test-copy-file-2.sh: New file.
48897         * modules/copy-file-tests (Files): Add them.
48898         (Makefile.am): Add them to TESTS.
48900         acl: Try unit tests on more file systems.
48901         * tests/test-file-has-acl-1.sh: New file.
48902         * tests/test-file-has-acl-2.sh: New file.
48903         * tests/test-set-mode-acl-1.sh: New file.
48904         * tests/test-set-mode-acl-2.sh: New file.
48905         * tests/test-copy-acl-1.sh: New file.
48906         * tests/test-copy-acl-2.sh: New file.
48907         * modules/acl-tests (Files): Add them.
48908         (Makefile.am): Add them to TESTS.
48910 2011-09-04  Bruno Haible  <bruno@clisp.org>
48912         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
48913         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
48914         10.
48915         (OLD_ALLOW, OLD_DENY): New macros.
48916         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
48917         ACE_ACCESS_ALLOWED_ACE_TYPE.
48918         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
48919         ACE_ACCESS_DENIED_ACE_TYPE.
48920         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
48921         (NEW_ACE_EXECUTE): Fix value.
48922         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
48923         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
48924         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
48925         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
48926         NEW_ACE_SYNCHRONIZE): New macros.
48927         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
48928         instead of acl_fromtext, acl_set, facl_set.
48929         Fixes a coreutils/tests/cp/perm failure.
48931 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
48933         openat: test for fstatat (..., 0) bug
48934         Further testing with tar suggests that fstatat (..., 0)
48935         does not work in general, on AIX 7.1; see
48936         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
48937         So, give up entirely on AIX 7.1's fstatat, and fall back on our
48938         replacement fstatat (which is what older AIX releases were using
48939         anyway).
48940         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
48941         use is now changed to orig_fstatat.  This was probably the right
48942         thing to do anyway.
48943         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
48944         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
48945         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
48946         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
48947         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
48948         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
48949         if the bug is found.
48951         openat: test for fstatat (AT_FDCWD, ..., 0) bug
48952         This tests for another fstatat bug on AIX 7.1:
48953         fstatat (AT_FDCWD, ..., 0) does not work.  See
48954         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
48955         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
48956         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
48957         (rpl_fstatat): Adjust so that it works around either (or both)
48958         bugs if present.
48959         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
48961 2011-09-03  Karl Berry  <karl@gnu.org>
48963         * doc/regex.texi (Character Class Operators): Avoid literal ":"
48964         in index entries.
48966 2011-09-02  Bruno Haible  <bruno@clisp.org>
48968         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
48969         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
48970         values of AR, ARFLAGS, RANLIB.
48971         Reported by John W. Eaton <jwe@gnu.org> for Octave.
48973 2011-09-02  Bruno Haible  <bruno@clisp.org>
48975         Find 'ar' program that fits with --host argument.
48976         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
48978 2011-09-02  Bruno Haible  <bruno@clisp.org>
48980         tests: init.sh: Support any non-GNU diff.
48981         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
48982         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
48983         Solaris 8.
48985 2011-09-02  Bruno Haible  <bruno@clisp.org>
48987         tests: init.sh: work also with any non-GNU diff that supports -u
48988         * tests/init.sh: Relax check for diff -u support.
48989         Rather than checking for GNU diff via --version, simply check
48990         for support for -u itself.  Useful at least on OpenBSD 4.9,
48991         AIX 7.1, IRIX 6.5, and Solaris 10.
48993 2011-09-01  Bruno Haible  <bruno@clisp.org>
48995         strtoimax, strtoumax: Document problem on HP-UX 11.
48996         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
48997         * doc/posix-functions/strtoumax.texi: Likewise.
48999 2011-09-01  Bruno Haible  <bruno@clisp.org>
49001         strtoumax: Avoid link error on OSF/1 with DTK cc.
49002         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
49003         defined as a function.
49004         * modules/strtoumax (Depends-on, configure.ac): Test only whether
49005         strtoumax is defined, not whether it is declared.
49007 2011-09-01  Bruno Haible  <bruno@clisp.org>
49009         strtoimax: Avoid link error on OSF/1 with DTK cc.
49010         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
49011         defined as a function.
49012         * modules/strtoimax (Depends-on, configure.ac): Test only whether
49013         strtoimax is defined, not whether it is declared.
49015 2011-09-01  Bruno Haible  <bruno@clisp.org>
49017         imaxdiv: Avoid link error on OSF/1 with DTK cc.
49018         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
49019         as a function.
49020         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
49021         whether it is declared.
49023 2011-09-01  Bruno Haible  <bruno@clisp.org>
49025         imaxabs: Avoid link error on OSF/1 with DTK cc.
49026         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
49027         as a function.
49028         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
49029         whether it is declared.
49031 2011-09-01  Bruno Haible  <bruno@clisp.org>
49033         Tests for module 'strtoumax'.
49034         * modules/strtoumax-tests: New file.
49035         * tests/test-strtoumax.c: New file.
49037         Tests for module 'strtoimax'.
49038         * modules/strtoimax-tests: New file.
49039         * tests/test-strtoimax.c: New file.
49041         Tests for module 'imaxdiv'.
49042         * modules/imaxdiv-tests: New file.
49043         * tests/test-imaxdiv.c: New file.
49045         Tests for module 'imaxabs'.
49046         * modules/imaxabs-tests: New file.
49047         * tests/test-imaxabs.c: New file.
49049 2011-09-01  Bruno Haible  <bruno@clisp.org>
49051         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
49052         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
49053         pthread_create.
49055 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49057         openat: work around AIX 7.1 fstatat issue
49058         This should fix the problem that was not properly fixed
49059         in the previous change, dated 2011-08-30.
49060         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
49061         __need_system_stat_h defined.
49062         (orig_fstatat) [HAVE_FSTATAT]: New function.
49063         (rpl_fstatat): Go back to the old way of doing things,
49064         except call orig_fstatat instead of fstatat.
49065         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
49066         Remove unnecessary check whether fstatat fills in st_size etc.
49068 2011-09-01  Bruno Haible  <bruno@clisp.org>
49070         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
49071         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
49072         just include the system's header.
49074 2011-08-31  Jim Meyering  <meyering@redhat.com>
49076         tests: avoid spurious assertion failure in test-float.c on ppc64
49077         * tests/test-float.c (test_long_double): Comment out an assertion,
49078         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
49079         with gcc-4.4.4.
49081         maint: indent with spaces, not TABs
49082         I need to get in the habit of running gnulib's "make check".
49083         Both of these would have been caught.
49084         * m4/largefile.m4: Indent with spaces, not TABs.
49085         * lib/parse-datetime.y (iso_8601_time): Likewise.
49086         Spotted by Pádraig Brady.
49088         test-parse-datetime.c: accommodate a relatively strict gcc warning
49089         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
49090         to avoid a warning from gcc's -Werror=missing-declarations.
49091         Insert a few spaces-before-funcall-parenthesis.
49093 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
49095         parse-datetime: accept ISO 8601 date and time rep with "T" separator
49096         The parser now accepts ISO 8601 date-time strings with "T" as the
49097         separator.  It has long parsed dates like "2004-02-29 16:21:42"
49098         with a space between the date and time strings.  Now it also parses
49099         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
49100         variants like "2004-02-29T16:21:42.333-07:00"
49101         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
49102         of day representation using the 'T' separator character.
49103         * doc/parse-datetime.texi (General date syntax): replace use of
49104         deprecated --iso-8601 option with --rfc-3339 in example of date
49105         command output formats that can be parsed.
49106         * tests/test-parse-datetime.c (tm_diff): New function, taken from
49107         lib/parse-datetime.y.
49108         (gmt_offset): New function.
49109         (main): Add additional test cases to validate ISO8601 extended
49110         date and time of day parsing.
49112 2011-08-31  Bruno Haible  <bruno@clisp.org>
49114         freopen: Documentation.
49115         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
49116         name.
49117         Reported by Claudio Bley <claudio.bley@gmail.com>.
49119 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
49121         freopen: Don't crash if the filename argument is NULL.
49122         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
49123         NULL.
49125 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49127         openat: work around AIX 7.1 fstatat bug
49128         Problem reported by Kevin Brott for GNU tar, in the thread containing
49129         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
49130         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
49131         FSTATAT_ST_SIZE_ETC_BROKEN.
49132         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
49133         rpl_fstatat.
49134         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
49135         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
49136         AC_CHECK_FUNCS_ONCE for fstatat.
49137         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
49138         fchmodat, mkdirat, openat and unlinkat.
49140 2011-08-30  Bruno Haible  <bruno@clisp.org>
49142         Avoid endless recursions if config.h includes some header files.
49143         * lib/fopen.c (__need_FILE): Define already before including config.h.
49144         * lib/freopen.c (__need_FILE): Likewise.
49145         * lib/open.c (__need_system_fcntl_h): Likewise.
49146         * lib/stat.c (__need_system_sys_stat_h): Likewise.
49147         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
49148         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
49150 2011-08-25  Karl Berry  <karl@gnu.org>
49152         * config/srclist.txt (ylwrap): new try.
49153         * build-aux/ylwrap: new file.
49155 2011-08-23  Bruno Haible  <bruno@clisp.org>
49157         tmpdir: Use a good default directory on native Windows.
49158         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
49159         (P_tmpdir): Default to _P_tmpdir on native Windows.
49160         (path_search): On native Windows, try the value returned by GetTempPath
49161         before trying P_tmpdir.
49162         * modules/tmpdir (Depends-on): Add pathmax.
49163         Suggested by John Darrington <john@darrington.wattle.id.au>.
49165 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
49167         doc: fix typo in README-release
49168         * top/README-release: Capitalize first word of a sentence.
49170 2011-08-19  Jim Meyering  <meyering@redhat.com>
49172         fts: do not exhaust memory when processing million-entry directories
49173         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
49174         directory would require about 256*N bytes of memory.  Thus, it was
49175         easy to construct a directory too large to be processed by any of
49176         those tools.  With this change, fts' maximum memory utilization is
49177         now limited to around 30MB.
49178         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
49179         (fts_read): When we've processed the final entry (i.e., when
49180         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
49181         using the parent entry to read any remaining entries.  Dispatch
49182         depending on what fts_build returns:
49183         - NULL+stop, aka failure: stop
49184         - NULL otherwise: move up in the dir hierarchy
49185         - non-NULL: handle this new entry
49186         (fts_build): Declare and use new local, continue_readdir.
49187         Prepare to be called from fts_read, when the entries
49188         from a partially-read directory have just been exhausted.
49189         In that case, we'll skip the opendir and instead use the parent's
49190         fts_dirp and derive dir_fd from that.
49191         Finally, in the readdir loop, if we read max_entries entries,
49192         exit the loop ensuring *not* to call closedir.  This is required
49193         so that fts_dirp can be reused on a subsequent call.
49194         Prompted by Ben England's report of memory exhaustion in find
49195         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
49197         maint: fts: move decl of `dp' down into while loop; split a long line
49198         * lib/fts.c (fts_build): No semantic change.
49200         fts: add/use new struct member, fts_dirp
49201         We are about to use this to manage any directory with
49202         too many entries to read all of them into memory at once.
49203         To do that, we'll need to save the DIR* pointer in each
49204         affected FTSENT struct.
49205         * lib/fts_.h: Include <dirent.h>.
49206         (struct FTSENT) [fts_dirp]: New member.
49207         * lib/fts.c (closedir_and_clear): Define.
49208         Use it in place of closedir so that we are sure to
49209         clear the new fts_dirp member when done with it.
49210         (fts_alloc): Initialize the new member.
49211         (fts_lfree): Free, if needed.
49213         maint: fts: give __opendir2 a new parameter and rename
49214         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
49215         than surreptitiously using sole caller's "dir_fd".
49216         (fts_opendir): Rename from __opendir2.
49218         maint: fts.c: remove __opendir2's now-unused parameter, oflag
49219         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
49221         maint: fts.c: correct off-by-one indentation
49222         * lib/fts.c (fts_build): Correct indentation, change style
49223         of a couple of block comments, and bracing style.
49225         maint: fts.c: move __opendir2 #define "up" out of function body
49226         * lib/fts.c (__opendir2): Move "up".  No semantic change.
49228         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
49229         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
49230         out for a long time and besides was useful only on BSD systems.
49232 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
49234         regex: port to Stratus OpenVOS
49235         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
49236         define to empty, rather than attempting nonportable optimizations.
49237         Problem reported by Paul Green in:
49238         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
49239         and fix suggested by Eric Blake in:
49240         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
49242 2011-08-17  Eric Blake  <eblake@redhat.com>
49244         getcwd: fix test failures on mingw
49245         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
49246         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
49247         test if long directory cannot be created, and allow mingw errno.
49249         getcwd-lgpl: fix m4 to match relaxed test for BSD
49250         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
49251         (gl_FUNC_GETCWD_SIGNATURE): New macro.
49252         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
49253         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
49254         signature problem.
49256         getcwd: fix compilation on mingw64
49257         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
49258         getcwd.
49259         Reported by Marc-André Lureau.
49261         pipe2: silence compiler warning
49262         * lib/pipe2.c (pipe2): Hide label if it is not used.
49264 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
49266         relocatable-prog: fix link error
49267         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
49268         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
49269         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
49270         into modules/relocatable-lib without noticing that
49271         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
49272         also needs to build relocatable.c.
49274 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49276         getaddrinfo: fix sh typo in gai_strerrorA decl checking
49277         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
49278         shell code: it contained a 'break' that was not in a loop.
49279         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
49280         via a shell-language loop; this may have been true in old Autoconf
49281         versions, but it's not true in Autoconf 2.68.  I found this bug
49282         when testing coreutils git on Solaris 8, whose shell complains
49283         about the syntax error.
49285 2011-08-12  Simon Josefsson  <simon@josefsson.org>
49287         * lib/base64.c: Fix comment to reference RFC 4648.
49288         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
49289         <gvtulder@gmail.com>.
49291 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49293         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
49295         po/Makefile.in.in: fix make -q problem
49296         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
49297         rule, since there's no file named 'check-macro-version' and its
49298         use as a file breaks make -q.
49299         (all): Don't depend on check-macro-version.
49300         (CHECK_MACRO_VERSION): New macro.
49301         (stamp-po): Use it.
49303         configmake: fix make -q problem
49304         * modules/configmake (configmake.h): Update configmake.h's time stamp
49305         even if the file does not change.  Otherwise, 'make -q' fails.
49306         Problem reported by Simon Josefsson in
49307         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
49309 2011-08-11  Jim Meyering  <meyering@redhat.com>
49311         git-version-gen: correct the advice in a comment
49312         * build-aux/git-version-gen: Correct comment.
49313         Don't recommend to list .tarball-version in .gitignore.
49315 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49317         base64: fix off-by-one buffer size bug
49318         Problem and (trivial) fix reported by Gijs van Tulder in
49319         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
49320         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
49321         * tests/test-base64.c (main): Catch the bug.
49323 2011-08-10  Eric Blake  <eblake@redhat.com>
49325         closein: correct comments
49326         * lib/closein.c (close_stdin): Improve comments.
49328 2011-08-09  Bruno Haible  <bruno@clisp.org>
49330         More tests for 'fseeko'.
49331         * tests/test-fseeko3.c: New file, from Eric Blake.
49332         * tests/test-fseeko3.sh: New file.
49333         * modules/fseeko-tests (Files): Add them.
49334         (TESTS): Add test-fseeko3.sh.
49335         (check_PROGRAMS): Add test-fseeko3.
49337 2011-08-09  Eric Blake  <eblake@redhat.com>
49339         fseeko: remove unneeded hack
49340         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
49342         fseeko: fix bug on glibc
49343         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
49344         Reported by John W. Eaton.
49346 2011-08-08  Bruno Haible  <bruno@clisp.org>
49348         unictype/base: Fix interoperability with preinstalled libunistring.
49349         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
49350         Reported by Simon Josefsson.
49352 2011-08-08  Bruno Haible  <bruno@clisp.org>
49354         iswblank: Detect declaration correctly.
49355         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
49356         AC_CHECK_DECLS invocation.
49358 2011-08-08  Bruno Haible  <bruno@clisp.org>
49360         tcgetsid: Detect declaration correctly.
49361         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
49362         AC_CHECK_DECLS invocation.
49363         Reported by Simon Josefsson.
49365 2011-08-08  Eric Blake  <eblake@redhat.com>
49367         largefile: fix typo that regressed large file support
49368         * modules/largefile (configure.ac-early): Fix section name.
49370 2011-08-06  Karl Berry  <karl@gnu.org>
49372         * MODULES.html.sh (func_all_files): _Noreturn is no longer
49373         a separate module.
49375 2011-08-05  Simon Josefsson  <simon@josefsson.org>
49377         openat: Fix warnings and commens when building unlinkat.c on Hurd.
49378         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
49379         get prototype for free.
49381 2011-08-04  Bruno Haible  <bruno@clisp.org>
49383         Tests for module 'pathmax'.
49384         * modules/pathmax-tests: New file.
49385         * tests/test-pathmax.c: New file.
49387         canonicalize-lgpl: Support larger filenames on the Hurd.
49388         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
49389         Reported by Paul Eggert.
49391         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
49392         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
49393         * lib/chdir-long.h: Include pathmax.h.
49394         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
49395         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
49396         (PATH_MAX): Remove code that is done by pathmax.h.
49397         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
49398         * lib/tmpfile.c: Add a comment.
49399         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
49400         * modules/chdir-long (Depends-on): Add pathmax.
49401         * modules/getcwd (Depends-on): Add pathmax.
49402         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
49403         is not defined.
49404         * doc/posix-headers/limits.texi: Mention the pathmax module.
49405         * NEWS: Mention the change.
49407 2011-08-02  Bruno Haible  <bruno@clisp.org>
49409         pthread_sigmask: Actually use results of gl_THREADLIB.
49410         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
49411         gl_THREADLIB, not gl_[]THREADLIB.
49412         Reported by Eric Blake.
49414 2011-08-02  Jim Meyering  <meyering@redhat.com>
49416         maint.mk: relax the default _gl_TS_function_match regexp
49417         * top/maint.mk (_gl_TS_function_match): Don't require at least one
49418         space between function name and "(" in an "extern" declaration.
49419         That would fail to match a decl with no space there: extern void foo();
49421 2011-07-31  Iain Nicol  <iain@thenicols.net>
49423         git-version-gen: document that EXTRA_DIST must include .version
49424         * build-aux/git-version-gen: In the how-to-use comment, document
49425         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
49426         will fail when run from an unpacked distribution tarball.
49428 2011-08-01  Bruno Haible  <bruno@clisp.org>
49430         wctype-h: Fix last change.
49431         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
49432         REPLACE_TOWLOWER to 0.
49433         Reported by Sam Steingold <sds@gnu.org>.
49435 2011-07-31  Bruno Haible  <bruno@clisp.org>
49437         frexpl: Update autoconf test.
49438         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
49439         according to changes of 2011-06-20.
49441 2011-07-31  Bruno Haible  <bruno@clisp.org>
49443         sys_utsname: Add support for Minix.
49444         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
49445         <sys/utsname.h>.
49446         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
49447         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
49449 2011-07-31  Bruno Haible  <bruno@clisp.org>
49451         strings: Add support for Minix.
49452         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
49453         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
49454         * doc/posix-headers/strings.texi: Document the Minix problem.
49456 2011-07-31  Bruno Haible  <bruno@clisp.org>
49458         wctype-h: Add support for Minix.
49459         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
49460         REPLACE_TOWLOWER.
49461         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
49462         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
49463         REPLACE_ISWCNTRL.
49465 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
49467         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
49468         This is a performance improvement for 64-bit hosts: it causes the
49469         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
49471 2011-07-31  Bruno Haible  <bruno@clisp.org>
49473         stdioext: Add support for Minix.
49474         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
49475         * lib/fpurge.c (fpurge): Likewise.
49476         * lib/freadahead.c (freadahead): Likewise.
49477         * lib/freadable.c (freadable): Likewise.
49478         * lib/freading.c (freading): Likewise.
49479         * lib/freadptr.c (freadptr): Likewise.
49480         * lib/freadseek.c (freadptrinc): Likewise.
49481         * lib/fseeko.c (rpl_fseeko): Likewise.
49482         * lib/fseterr.c (fseterr): Likewise.
49483         * lib/fwritable.c (fwritable): Likewise.
49484         * lib/fwriting.c (fwriting): Likewise.
49485         * lib/fflush.c (clear_ungetc_buffer): Update comment.
49486         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
49488 2011-07-31  Bruno Haible  <bruno@clisp.org>
49490         errno: Port to Minix.
49491         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
49492         ECONNABORTED are defined.
49493         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
49494         GNULIB_defined_ECONNABORTED): New macros.
49495         * lib/strerror-override.h (strerror_override): Test also
49496         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
49497         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
49498         ECONNABORTED.
49499         * doc/posix-headers/errno.texi: Mention the Minix problem.
49501 2011-07-31  Bruno Haible  <bruno@clisp.org>
49503         Work around declaration collisions on Minix.
49504         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
49505         defined, set REPLACE_MBSINIT.
49506         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
49507         defined, set REPLACE_MBRTOWC.
49508         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
49509         set REPLACE_MBRLEN.
49510         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
49511         defined, set REPLACE_MBSRTOWCS.
49512         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
49513         defined, set REPLACE_WCRTOMB.
49514         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
49515         defined, set REPLACE_WCSRTOMBS.
49517 2011-07-31  Bruno Haible  <bruno@clisp.org>
49519         Add support for Minix with ACK compiler.
49520         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
49521         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
49522         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
49524 2011-07-31  Bruno Haible  <bruno@clisp.org>
49526         Documentation about Minix.
49527         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
49528         * doc/glibc-headers/*.texi: Likewise.
49529         * doc/posix-functions/*.texi: Likewise.
49530         * doc/glibc-functions/*.texi: Likewise.
49532 2011-07-31  Bruno Haible  <bruno@clisp.org>
49534         snippet/warn-on-use: Fix indentation.
49535         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
49537 2011-07-25  Jim Meyering  <meyering@redhat.com>
49539         tests: test-update-copyright.sh: remove unnecessary "rm" commands
49540         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
49541         commands.
49543 2011-07-27  Jim Meyering  <meyering@redhat.com>
49545         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
49546         * top/maint.mk (gl_extract_significant_defines_): Now that
49547         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
49548         gnulib/lib/signal.in.h, and now that we recommend to
49549         define-if-undefined those two symbols in application code,
49550         we must filter them out of the "significant" list.
49551         This avoids a "make syntax-check" failure in coreutils.
49553 2011-07-26  Eric Blake  <eblake@redhat.com>
49555         warnings: add comments about previous patch
49556         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
49557         * m4/include_next.m4: Likewise.
49558         * m4/warn-on-use.m4: Likewise.
49559         * m4/warnings.m4: Likewise, and simplify use.
49560         Suggested by Stefano Lattarini.
49562         include-next, warnings: support older autoconf
49563         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
49564         AS_VAR_PUSHDEF in a way that works with older autoconf.
49565         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
49566         Reported by Daniel P. Berrange.
49568 2011-07-25  Bruno Haible  <bruno@clisp.org>
49570         fseek, ftell: Fix doc.
49571         * doc/posix-functions/fseek.texi: Reword statement about
49572         AC_SYS_LARGEFILE.
49573         * doc/posix-functions/ftell.texi: Likewise.
49575 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49576             Bruno Haible  <bruno@clisp.org>
49578         Add dependencies to the 'largefile' module.
49579         * modules/fopen (Depends-on): Add 'largefile'.
49580         * modules/freopen (Depends-on): Likewise.
49581         * modules/fseeko (Depends-on): Likewise.
49582         * modules/ftello (Depends-on): Likewise.
49583         * modules/glob (Depends-on): Likewise.
49584         * modules/lseek (Depends-on): Likewise.
49585         * modules/lstat (Depends-on): Likewise.
49586         * modules/mkostemp (Depends-on): Likewise.
49587         * modules/mkostemps (Depends-on): Likewise.
49588         * modules/mkstemp (Depends-on): Likewise.
49589         * modules/mkstemps (Depends-on): Likewise.
49590         * modules/open (Depends-on): Likewise.
49591         * modules/openat (Depends-on): Likewise.
49592         * modules/pread (Depends-on): Likewise.
49593         * modules/pwrite (Depends-on): Likewise.
49594         * modules/scandir (Depends-on): Likewise.
49595         * modules/stat (Depends-on): Likewise.
49596         * modules/tmpfile (Depends-on): Likewise.
49597         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
49598         since the containing module now depends on the largefile module.
49599         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
49600         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
49601         off_t is fixed by gnulib.
49602         * doc/posix-functions/freopen.texi: Likewise.
49603         * doc/posix-functions/fseeko.texi: Likewise.
49604         * doc/posix-functions/fstatat.texi: Likewise.
49605         * doc/posix-functions/ftello.texi: Likewise.
49606         * doc/posix-functions/glob.texi: Likewise.
49607         * doc/posix-functions/lseek.texi: Likewise.
49608         * doc/posix-functions/lstat.texi: Likewise.
49609         * doc/posix-functions/mkstemp.texi: Likewise.
49610         * doc/posix-functions/open.texi: Likewise.
49611         * doc/posix-functions/openat.texi: Likewise.
49612         * doc/posix-functions/pread.texi: Likewise.
49613         * doc/posix-functions/pwrite.texi: Likewise.
49614         * doc/posix-functions/scandir.texi: Likewise.
49615         * doc/posix-functions/stat.texi: Likewise.
49616         * doc/posix-functions/tmpfile.texi: Likewise.
49617         * doc/glibc-functions/mkostemp.texi: Likewise.
49618         * doc/glibc-functions/mkostemps.texi: Likewise.
49619         * doc/glibc-functions/mkstemps.texi: Likewise.
49621 2011-07-25  Bruno Haible  <bruno@clisp.org>
49623         fcntl: Move AC_LIBOBJ invocation to module description.
49624         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
49625         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
49627         fcntl: Remove call-in from fchdir.m4.
49628         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
49629         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
49631         dup3: Remove potential call-in from fchdir.m4.
49632         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
49633         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
49635         dup2: Move AC_LIBOBJ invocation to module description.
49636         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
49637         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
49638         Don't invoke AC_LIBOBJ.
49639         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
49641         dup2: Remove call-in from fchdir.m4.
49642         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
49643         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
49645         fclose: Move AC_LIBOBJ invocation to module description.
49646         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
49647         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
49648         to 1.
49649         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
49651         fclose: Remove call-in from close.m4.
49652         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
49653         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
49655         close: Move AC_LIBOBJ invocation to module description.
49656         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
49657         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
49658         1.
49659         * modules/close (configure.ac): Invoke AC_LIBOBJ.
49661         close: Remove call-in from fchdir.m4.
49662         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
49663         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
49665         open: Move AC_LIBOBJ invocation to module description.
49666         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
49667         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
49668         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
49670         open: Remove call-in from fchdir.m4.
49671         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
49672         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
49674         fchdir: Start to remove gl_REPLACE_* idiom.
49675         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
49676         (gl_FUNC_FCHDIR): Invoke it.
49678 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49680         * lib/ftell.c (ftell): Comment out cast.
49682         close: use gl_REPLACE_FCLOSE only if defined
49683         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
49684         is defined.  The close module doesn't depend on the fclose module
49685         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
49686         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
49687         I reproduced the problem with "./gnulib-tool --test close sys_socket".
49689 2011-07-24  Jim Meyering  <meyering@redhat.com>
49691         test-select.h: avoid warning when using gcc's -Wmissing-declarations
49692         * tests/test-select.h (test_function): Declare as "static".
49694 2011-07-24  Bruno Haible  <bruno@clisp.org>
49696         doc: Mention the effects of AC_SYS_LARGEFILE.
49697         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
49698         on this function.
49699         * doc/posix-functions/aio_error.texi: Likewise.
49700         * doc/posix-functions/aio_fsync.texi: Likewise.
49701         * doc/posix-functions/aio_read.texi: Likewise.
49702         * doc/posix-functions/aio_return.texi: Likewise.
49703         * doc/posix-functions/aio_suspend.texi: Likewise.
49704         * doc/posix-functions/aio_write.texi: Likewise.
49705         * doc/posix-functions/fgetpos.texi: Likewise.
49706         * doc/posix-functions/fopen.texi: Likewise.
49707         * doc/posix-functions/freopen.texi: Likewise.
49708         * doc/posix-functions/fsetpos.texi: Likewise.
49709         * doc/posix-functions/fstatvfs.texi: Likewise.
49710         * doc/posix-functions/ftruncate.texi: Likewise.
49711         * doc/posix-functions/ftw.texi: Likewise.
49712         * doc/posix-functions/getrlimit.texi: Likewise.
49713         * doc/posix-functions/glob.texi: Likewise.
49714         * doc/posix-functions/lio_listio.texi: Likewise.
49715         * doc/posix-functions/lockf.texi: Likewise.
49716         * doc/posix-functions/mkstemp.texi: Likewise.
49717         * doc/posix-functions/mmap.texi: Likewise.
49718         * doc/posix-functions/nftw.texi: Likewise.
49719         * doc/posix-functions/openat.texi: Likewise.
49720         * doc/posix-functions/opendir.texi: Likewise.
49721         * doc/posix-functions/posix_fadvise.texi: Likewise.
49722         * doc/posix-functions/posix_fallocate.texi: Likewise.
49723         * doc/posix-functions/pread.texi: Likewise.
49724         * doc/posix-functions/pwrite.texi: Likewise.
49725         * doc/posix-functions/readdir.texi: Likewise.
49726         * doc/posix-functions/readdir_r.texi: Likewise.
49727         * doc/posix-functions/rewinddir.texi: Likewise.
49728         * doc/posix-functions/scandir.texi: Likewise.
49729         * doc/posix-functions/seekdir.texi: Likewise.
49730         * doc/posix-functions/setrlimit.texi: Likewise.
49731         * doc/posix-functions/statvfs.texi: Likewise.
49732         * doc/posix-functions/telldir.texi: Likewise.
49733         * doc/posix-functions/tmpfile.texi: Likewise.
49734         * doc/posix-functions/truncate.texi: Likewise.
49735         * doc/glibc-functions/fallocate.texi: Likewise.
49736         * doc/glibc-functions/fstatfs.texi: Likewise.
49737         * doc/glibc-functions/fts_children.texi: Likewise.
49738         * doc/glibc-functions/fts_read.texi: Likewise.
49739         * doc/glibc-functions/getdirentries.texi: Likewise.
49740         * doc/glibc-functions/mkostemp.texi: Likewise.
49741         * doc/glibc-functions/mkostemps.texi: Likewise.
49742         * doc/glibc-functions/mkstemps.texi: Likewise.
49743         * doc/glibc-functions/preadv.texi: Likewise.
49744         * doc/glibc-functions/pwritev.texi: Likewise.
49745         * doc/glibc-functions/sendfile.texi: Likewise.
49746         * doc/glibc-functions/statfs.texi: Likewise.
49748 2011-07-24  Bruno Haible  <bruno@clisp.org>
49750         doc: Fix typo.
49751         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
49753 2011-07-24  Bruno Haible  <bruno@clisp.org>
49755         doc: Mention fsusage.
49756         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
49758 2011-07-24  Bruno Haible  <bruno@clisp.org>
49760         doc: Mention new glibc headers and functions.
49761         * doc/glibc-headers/gshadow.texi: New file.
49762         * doc/glibc-functions/endsgent.texi: New file.
49763         * doc/glibc-functions/fgetsgent.texi: New file.
49764         * doc/glibc-functions/fgetsgent_r.texi: New file.
49765         * doc/glibc-functions/getsgent.texi: New file.
49766         * doc/glibc-functions/getsgent_r.texi: New file.
49767         * doc/glibc-functions/getsgnam.texi: New file.
49768         * doc/glibc-functions/getsgnam_r.texi: New file.
49769         * doc/glibc-functions/putsgent.texi: New file.
49770         * doc/glibc-functions/setsgent.texi: New file.
49771         * doc/glibc-functions/sgetsgent.texi: New file.
49772         * doc/glibc-functions/sgetsgent_r.texi: New file.
49773         * doc/glibc-functions/malloc_info.texi: New file.
49774         * doc/glibc-functions/preadv.texi: New file.
49775         * doc/glibc-functions/pwritev.texi: New file.
49776         * doc/glibc-functions/register_printf_modifier.texi: New file.
49777         * doc/glibc-functions/register_printf_specifier.texi: New file.
49778         * doc/glibc-functions/register_printf_type.texi: New file.
49779         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
49780         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
49781         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
49782         * doc/glibc-functions/pthread_getname_np.texi: New file.
49783         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
49784         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
49785         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
49786         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
49787         * doc/glibc-functions/pthread_setname_np.texi: New file.
49788         * doc/glibc-functions/pthread_sigqueue.texi: New file.
49789         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
49790         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
49791         * doc/glibc-functions/qsort_r.texi: New file.
49792         * doc/glibc-functions/quick_exit.texi: New file.
49793         * doc/glibc-functions/syncfs.texi: New file.
49794         * doc/gnulib.texi: Include them.
49795         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
49796         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
49797         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
49798         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
49799         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
49800         * doc/glibc-functions/execvpe.texi: Likewise.
49802 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49804         ftell: don't include <unistd.h>
49805         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
49806         guaranteed to define off_t, and the ftell module depends on the
49807         stdio module.
49809         ftell: do not assume wraparound signed arithmetic
49810         * lib/ftell.c: Include <limits.h>.
49811         (ftell): Don't assume wraparound signed arithmetic.
49813 2011-07-24  Bruno Haible  <bruno@clisp.org>
49815         close: No longer depend on module 'fclose'.
49816         * modules/close (Depends-on): Remove fclose.
49817         * NEWS: Mention the change.
49818         Suggested by Sam Steingold <sds@gnu.org>.
49820 2011-07-24  Bruno Haible  <bruno@clisp.org>
49822         fsusage: Enable large volume support on AIX >= 5.2.
49823         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
49824         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
49825         instead of STAT_STATVFS.
49826         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
49828         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
49829         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
49830         f_blocks field only on MacOS X.
49832         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
49833         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
49834         * modules/fsusage (Depends-on): Add largefile.
49836 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49838         * README: Modernize discussion of signed integers.
49839         Assuming overflow wraparound is no longer safe.
49840         Mention ones' complement and signed magnitude.
49842 2011-07-22  Bruno Haible  <bruno@clisp.org>
49844         select tests, pselect tests: Refactor.
49845         * tests/test-select.h: New file, extracted from tests/test-select.c.
49846         (select_fn): New type.
49847         (test, do_select, do_select_nowait, do_select_wait, test_tty,
49848         test_connect_first, test_accept_first, test_pair, test_socket_pair,
49849         test_pipe): Add my_select argument.
49850         (test_function): Renamed from main. Add my_select argument.
49851         * tests/test-select.c: Move most code to tests/test-select.h. Include
49852         test-select.h.
49853         * modules/select-tests (Files): Add tests/test-select.h.
49854         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
49855         (my_select, main): New functions.
49856         * modules/pselect-tests (Files): Add tests/test-select.h,
49857         tests/macros.h, tests/signature.h.
49858         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
49859         (configure.ac): Check for <sys/wait.h>.
49861 2011-07-22  Bruno Haible  <bruno@clisp.org>
49863         sys_select tests: Check the signature of FD_*.
49864         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
49865         signature tests from here...
49866         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
49867         here.
49868         * modules/sys_select-tests (Files): Add tests/signature.h.
49870 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49872         largefile: new module, replacing large-inode
49873         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
49874         * MODULES.html.sh: Add largefile, remove large-inode.
49875         * modules/largefile, m4/largefile.m4: New files.
49876         * modules/large-inode, m4/large-inode.m4: Remove.
49878         fsusage: port to MacOS X 10.7 with 4 TiB file systems
49879         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
49880         implementations that use only 32 bits to count blocks.
49881         On typical hosts with 1024-byte blocks, this fails with file
49882         systems as small as 4 TiB.  Problem reported by Herb Wartens
49883         <http://debbugs.gnu.org/9140> and this should also fix a similar
49884         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
49886         large-inode: New module
49887         * MODULES.html.sh: Add it.
49888         * modules/large-inode, m4/large-inode.m4: New files.
49890         extensions: Enable extensions on MacOS X 10.5 and later.
49891         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
49893 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
49895         file-has-acl: use acl_extended_file_nofollow if available
49896         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
49897         (acl_extended_file): New macro.
49898         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
49899         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
49901 2011-07-21  Bruno Haible  <bruno@clisp.org>
49903         Declare system functions in a way that works with C++.
49904         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
49905         declare fdopendir as extern "C".
49906         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
49907         declare frexpl as extern "C".
49908         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
49909         declare gai_strerror as extern "C".
49910         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
49911         programs, declare gai_strerror as extern "C".
49912         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
49913         declare getlogin_r as extern "C".
49914         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
49915         as extern "C".
49916         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
49917         declare ldexpl as extern "C".
49918         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
49919         as extern "C".
49920         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
49921         program, declare getmntinfo as extern "C".
49922         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
49923         stpncpy as extern "C".
49924         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
49925         program, declare __xpg_strerror_r as extern "C".
49926         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
49927         strndup as extern "C".
49928         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
49929         declare memset and bzero as extern "C".
49930         Reported by Sam Steingold <sds@gnu.org>.
49932 2011-07-12  Jim Meyering  <meyering@redhat.com>
49934         maint.mk: prohibit inclusion of "verify.h" without use
49935         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
49937 2011-07-19  Pádraig Brady  <P@draigBrady.com>
49939         timer-time: A new module to check for timer_settime()
49940         * m4/timer_time.m4: Check for the posix function.
49941         * modules/timer-time: Add the new module.
49942         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
49943         Mention it.
49945 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
49946             Bruno Haible  <bruno@clisp.org>
49948         pthread_sigmask: assume POSIX threads if --avoid=threadlib
49949         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
49950         not defined, assume POSIX threads and look for pthread_sigmask in
49951         $LIBS, without changing $CPPFLAGS.
49953 2011-07-19  Bruno Haible  <bruno@clisp.org>
49955         strstr: Update cross-compilation guess.
49956         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
49957         CPUs, guess no, in view of glibc
49958         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
49959         Suggested by Eric Blake. Reported by Reuben Thomas.
49961 2011-07-19  Pádraig Brady  <P@draigBrady.com>
49963         getopt-gnu: suppress core dumps from detection code
49964         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
49965         to suppress core dumps that may well occur on glibc systems.
49966         * modules/getopt-gnu: Depend on nocrash.
49968 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49970         pthread_sigmask: ensure usleep is declared
49971         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
49972         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
49974 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49976         doc: Document NonStop portability issues.
49977         * doc/posix-functions/sigaction.texi (sigaction):
49978         * doc/posix-headers/signal.texi (signal.h):
49979         Document NonStop.  See Joachim Schmitz in
49980         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
49982 2011-07-15  Bruno Haible  <bruno@clisp.org>
49984         ffsl, ffsll: Avoid unportable behaviour.
49985         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
49987 2011-07-15  Bruno Haible  <bruno@clisp.org>
49989         ffs: More tests.
49990         * tests/test-ffs.c (NBITS): New macro.
49991         (main): Add more tests.
49992         * tests/test-ffsl.c (NBITS): New macro.
49993         (main): Add more tests.
49994         * tests/test-ffsll.c (NBITS): New macro.
49995         (main): Add more tests.
49997 2011-07-15  Eric Blake  <eblake@redhat.com>
49999         ffsl, ffsll: new modules
50000         * modules/ffsl: New file.
50001         * modules/ffsll: Likewise.
50002         * m4/ffsl.m4: Likewise.
50003         * m4/ffsll.m4: Likewise.
50004         * lib/ffsl.c: Likewise.
50005         * lib/ffsl.h: Likewise.
50006         * lib/ffsll.c: Likewise.
50007         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
50008         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
50009         * modules/string (Makefile.am): Substitute witnesses.
50010         * lib/strings.in.h (ffsl, ffsll): Declare.
50011         * modules/ffsl-tests: New test file.
50012         * modules/ffsll-tests: Likewise.
50013         * tests/test-ffsl.c: Likewise.
50014         * tests/test-ffsll.c: Likewise.
50015         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50016         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
50017         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
50019         ffs: fix m4 prerequisite
50020         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
50022         ffs: avoid undefined behavior
50023         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
50024         * tests/test-ffs.c (naive, main): Avoid signed shifts.
50025         Reported by Bruno Haible.
50027 2011-07-12  Bruno Haible  <bruno@clisp.org>
50029         pthread_sigmask: Rely on module 'threadlib'.
50030         * modules/pthread_sigmask (Depends-on): Add threadlib.
50031         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
50032         is defined.
50034 2011-07-12  Bruno Haible  <bruno@clisp.org>
50036         regex: Depend on module 'strcase'.
50037         * modules/regex (Depends-on): Add strcase, for strcasecmp().
50039 2011-07-12  Jim Meyering  <meyering@redhat.com>
50041         warn-on-use: fix typo in file name
50042         * modules/snippet/warn-on-use (Files): Correct file name:
50043         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
50045 2011-07-12  Bruno Haible  <bruno@clisp.org>
50047         strings: Document module.
50048         * doc/posix-headers/strings.texi: Mention module 'strings'.
50050 2011-07-12  Bruno Haible  <bruno@clisp.org>
50052         Rename module '_Noreturn' to 'snippet/_Noreturn'.
50053         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
50054         (Files, Makefile.am): Update.
50055         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
50056         * modules/stdlib (Depends-on): Update.
50058 2011-07-12  Bruno Haible  <bruno@clisp.org>
50060         * NEWS: Mention the changes.
50062         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
50063         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
50064         (Files, Makefile.am): Update.
50065         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
50066         * modules/arpa_inet (Depends-on): Update.
50067         * modules/ctype (Depends-on): Update.
50068         * modules/dirent (Depends-on): Update.
50069         * modules/fcntl-h (Depends-on): Update.
50070         * modules/glob (Depends-on): Update.
50071         * modules/iconv-h (Depends-on): Update.
50072         * modules/inttypes-incomplete (Depends-on): Update.
50073         * modules/langinfo (Depends-on): Update.
50074         * modules/locale (Depends-on): Update.
50075         * modules/math (Depends-on): Update.
50076         * modules/netdb (Depends-on): Update.
50077         * modules/poll-h (Depends-on): Update.
50078         * modules/pty (Depends-on): Update.
50079         * modules/search (Depends-on): Update.
50080         * modules/signal (Depends-on): Update.
50081         * modules/spawn (Depends-on): Update.
50082         * modules/stdio (Depends-on): Update.
50083         * modules/stdlib (Depends-on): Update.
50084         * modules/string (Depends-on): Update.
50085         * modules/strings (Depends-on): Update.
50086         * modules/sys_file (Depends-on): Update.
50087         * modules/sys_ioctl (Depends-on): Update.
50088         * modules/sys_select (Depends-on): Update.
50089         * modules/sys_socket (Depends-on): Update.
50090         * modules/sys_stat (Depends-on): Update.
50091         * modules/sys_time (Depends-on): Update.
50092         * modules/sys_times (Depends-on): Update.
50093         * modules/sys_utsname (Depends-on): Update.
50094         * modules/sys_wait (Depends-on): Update.
50095         * modules/termios (Depends-on): Update.
50096         * modules/time (Depends-on): Update.
50097         * modules/unistd (Depends-on): Update.
50098         * modules/wchar (Depends-on): Update.
50099         * modules/wctype-h (Depends-on): Update.
50100         * MODULES.html.sh (Support for building libraries and executables):
50101         Update.
50103         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
50104         * modules/snippet/unused-parameter: Renamed from
50105         modules/unused-parameter.
50106         (Files, Makefile.am): Update.
50107         * build-aux/snippet/unused-parameter.h: Renamed from
50108         build-aux/unused-parameter.h.
50109         * modules/selinux-h (Depends-on): Update.
50110         * modules/unistr/base (Depends-on): Update.
50111         * MODULES.html.sh (Core language properties): Update.
50113         Rename module 'link-warning' to 'snippet/link-warning'.
50114         * modules/snippet/link-warning: Renamed from modules/link-warning.
50115         (Files, Makefile.am): Update.
50116         * build-aux/snippet/link-warning.h: Renamed from
50117         build-aux/link-warning.h.
50118         * MODULES.html.sh (Support for building libraries and executables):
50119         Update.
50121         Rename module 'c++defs' to 'snippet/c++defs'.
50122         * modules/snippet/c++defs: Renamed from modules/c++defs.
50123         (Files, Makefile.am): Update.
50124         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
50125         * modules/arpa_inet (Depends-on): Update.
50126         * modules/ctype (Depends-on): Update.
50127         * modules/dirent (Depends-on): Update.
50128         * modules/fcntl-h (Depends-on): Update.
50129         * modules/glob (Depends-on): Update.
50130         * modules/iconv-h (Depends-on): Update.
50131         * modules/langinfo (Depends-on): Update.
50132         * modules/locale (Depends-on): Update.
50133         * modules/math (Depends-on): Update.
50134         * modules/netdb (Depends-on): Update.
50135         * modules/poll-h (Depends-on): Update.
50136         * modules/pty (Depends-on): Update.
50137         * modules/search (Depends-on): Update.
50138         * modules/signal (Depends-on): Update.
50139         * modules/spawn (Depends-on): Update.
50140         * modules/stdio (Depends-on): Update.
50141         * modules/stdlib (Depends-on): Update.
50142         * modules/string (Depends-on): Update.
50143         * modules/strings (Depends-on): Update.
50144         * modules/sys_ioctl (Depends-on): Update.
50145         * modules/sys_select (Depends-on): Update.
50146         * modules/sys_socket (Depends-on): Update.
50147         * modules/sys_stat (Depends-on): Update.
50148         * modules/sys_time (Depends-on): Update.
50149         * modules/sys_wait (Depends-on): Update.
50150         * modules/termios (Depends-on): Update.
50151         * modules/time (Depends-on): Update.
50152         * modules/unistd (Depends-on): Update.
50153         * modules/wchar (Depends-on): Update.
50154         * modules/wctype-h (Depends-on): Update.
50156         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
50157         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
50158         (Files, Makefile.am): Update.
50159         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
50160         * modules/argv-iter (Depends-on): Update.
50161         * modules/arpa_inet (Depends-on): Update.
50162         * modules/dirent (Depends-on): Update.
50163         * modules/fcntl-h (Depends-on): Update.
50164         * modules/fnmatch (Depends-on): Update.
50165         * modules/getopt-posix (Depends-on): Update.
50166         * modules/glob (Depends-on): Update.
50167         * modules/iconv-h (Depends-on): Update.
50168         * modules/inttypes-incomplete (Depends-on): Update.
50169         * modules/locale (Depends-on): Update.
50170         * modules/math (Depends-on): Update.
50171         * modules/netdb (Depends-on): Update.
50172         * modules/search (Depends-on): Update.
50173         * modules/signal (Depends-on): Update.
50174         * modules/spawn (Depends-on): Update.
50175         * modules/stdio (Depends-on): Update.
50176         * modules/stdlib (Depends-on): Update.
50177         * modules/string (Depends-on): Update.
50178         * modules/strings (Depends-on): Update.
50179         * modules/sys_socket (Depends-on): Update.
50180         * modules/sys_stat (Depends-on): Update.
50181         * modules/sys_time (Depends-on): Update.
50182         * modules/sys_times (Depends-on): Update.
50183         * modules/sys_utsname (Depends-on): Update.
50184         * modules/time (Depends-on): Update.
50185         * modules/unistd (Depends-on): Update.
50186         * modules/wchar (Depends-on): Update.
50187         * MODULES.html.sh (Support for building libraries and executables):
50188         Update.
50190 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50192         Improvements on _Noreturn and related modules.
50194         modules/_Exit-tests: test _Noreturn too
50195         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
50196         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
50197         (main): Use them.
50199         stdnoreturn, stdnoreturn-tests: remove modules
50200         They're not needed here and a bit premature for use elsewhere.  See
50201         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
50202         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
50203         * tests/test-stdnoreturn.c: Remove files.
50204         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
50205         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
50206         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
50207         and using noreturn.
50208         * modules/openat, modules/sigpipe-die, modules/xalloc:
50209         * modules/xmemdup0, modules/xstrtol:
50210         Remove dependency on stdnoreturn.
50212         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
50213         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
50214         Reparenthesize to avoid GCC warning.
50215         Support Microsoft's syntax.
50216         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
50218         _Noreturn-tests: remove module
50219         * modules/_Noreturn-tests: Remove.
50220         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
50221         * tests/test-_Noreturn.c: Remove.
50222         * tests/test-stdnoreturn.c: Merge from the old
50223         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
50225 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50227         _Noreturn, stdnoreturn, and related modules.
50229         * top/maint.mk: Adjust to new noreturn support.
50230         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
50231         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
50233         xalloc: use stdnoreturn.h
50234         * lib/xalloc.h: Include <stdnoreturn.h>.
50235         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50236         * modules/xalloc (Depends-on): Add stdnoreturn.
50238         xstrtol: use stdnoreturn.h
50239         * lib/xstrtol.h: Include <stdnoreturn.h>.
50240         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50241         * modules/xstrtol (Depends-on): Add stdnoreturn.
50243         xmemdup0: use stdnoreturn.h
50244         * lib/xmemdup0.h: Include <stdnoreturn.h>.
50245         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50246         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
50248         sigpipe-die: use stdnoreturn.h
50249         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
50250         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50251         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
50253         openat: use stdnoreturn.h
50254         * lib/openat.h: Include <stdnoreturn.h>.
50255         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50256         * modules/openat (Depends-on): Add stdnoreturn.
50258         * lib/openat-die.c (openat_save_fail): Modernize comment.
50260         * lib/xalloc-die.c (xalloc_die): Modernize comment.
50262         * lib/glthread/thread.h: Modernize comment.
50264         obstack: use _Noreturn
50265         * lib/obstack.c (__attribute__): Remove macro.
50266         (print_and_abort): Use _Noreturn.
50268         c-stack: use _Noreturn
50269         * lib/c-stack.c (die, overflow_handler, segv_handler):
50270         Use _Noreturn rather than __attribute__((noreturn)).
50272         argmatch-tests, exclude_tests: use _Noreturn
50273         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
50274         Remove.
50275         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
50277         stdlib: use _Noreturn
50278         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
50279         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
50280         * modules/stdlib (Depends-on): Add _Noreturn.
50281         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
50283         stdnoreturn-tests: new module
50284         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
50286         stdnoreturn: new module
50287         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
50288         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
50290         _Noreturn-tests: new module
50291         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
50293         _Noreturn: new module
50294         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
50295         New section, mentioning it.
50296         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
50298         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
50300 2011-07-11  Eric Blake  <eblake@redhat.com>
50302         ffs: new module
50303         * modules/ffs: New file.
50304         * m4/ffs.m4: Likewise.
50305         * lib/ffs.c: Likewise.
50306         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
50307         * modules/strings (Makefile.am): Substitute witness.
50308         (Depends-on): Add c++defs.
50309         * lib/strings.in.h (ffs): Declare.
50310         * modules/ffs-tests: New test file.
50311         * tests/test-ffs.c: Test new module.
50312         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50313         * doc/posix-functions/ffs.texi (ffs): Likewise.
50315         regex: avoid compiler warning
50316         * lib/regex.c (includes): Include <strings.h>, for use of
50317         strcasecmp in regcomp.c.
50318         Reported by Joachim Schmitz.
50320 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50322         stdint: respect system's intmax_t if INTMAX_MAX
50323         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
50324         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
50325         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
50326         long but int64_t is long long, and where we will clash with the
50327         system intmax_t if we override it.  See
50328         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
50329         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
50330         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
50331         similarly for UINTMAX_C.
50333 2011-07-08  Bruno Haible  <bruno@clisp.org>
50335         pthread_sigmask tests: Avoid a compiler warning.
50336         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
50337         non-zero.
50339         sigprocmask tests: A better way to avoid a compiler warning.
50340         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
50341         (main): Complain if system() returns non-zero.
50342         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
50344 2011-07-08  Bruno Haible  <bruno@clisp.org>
50346         pthread_sigmask: Work around IRIX bug.
50347         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
50348         bug.
50349         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
50350         there may be unblocked pending signals.
50351         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
50353 2011-07-08  Bruno Haible  <bruno@clisp.org>
50355         pthread_sigmask: Work around Cygwin bug.
50356         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
50357         bug.
50358         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
50359         the system's pthread_sigmask function.
50360         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
50362 2011-07-08  Bruno Haible  <bruno@clisp.org>
50364         pthread_sigmask: Work around bug in single-threaded implementation.
50365         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
50366         FreeBSD, HP-UX, Solaris bug.
50367         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
50368         * lib/pthread_sigmask.c: Include <stddef.h>.
50369         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
50370         the system's pthread_sigmask function.
50371         * modules/pthread_sigmask (configure.ac): Invoke
50372         gl_PREREQ_PTHREAD_SIGMASK.
50373         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
50374         HP-UX, Solaris.
50376 2011-07-08  Eric Blake  <eblake@redhat.com>
50378         test-sigprocmask: avoid compiler warning
50379         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
50380         * tests/test-sigprocmask.c (main): Use it to silence warning.
50381         Reported by Jim Meyering.
50383         test-snprintf: avoid compiler warning
50384         * tests/test-snprintf.c (main): Avoid shadowed declaration.
50385         * tests/test-vsnprintf.c (main): Likewise.
50386         Reported by Jim Meyering.
50388 2011-07-08  Bruno Haible  <bruno@clisp.org>
50390         Tests for module 'pthread_sigmask'.
50391         * modules/pthread_sigmask-tests: New file.
50392         * tests/test-pthread_sigmask1.c: New file, based on
50393         tests/test-sigprocmask.c.
50394         * tests/test-pthread_sigmask2.c: New file.
50396 2011-07-08  Jim Meyering  <meyering@redhat.com>
50398         test-getopt.h: avoid warning about an unused variable
50399         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
50401 2011-07-07  Jim Meyering  <meyering@redhat.com>
50403         maint: reduce list of files exempt from sc_prohibit_leading_TABs
50404         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
50405         now that it no longer contains leading TABs.
50406         Remove unused "url=FIXME" statement.
50408 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
50410         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
50411         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
50412         When gl_THREADLIB is not in use, assume that the POSIX sematics
50413         are desired.  This is better for Emacs, which uses POSIX semantics
50414         on GNUish and/or POSIXish platforms, and does not use threads at
50415         all otherwise.
50417         pthread_sigmask: fix typo when testing for libraries
50418         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
50419         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
50421 2011-07-08  Eric Blake  <eblake@redhat.com>
50423         fts: introduce FTS_NOATIME
50424         * lib/fts_.h (FTS_NOATIME): New bit flag.
50425         (FTS_OPTIONMASK): Adjust.
50426         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
50427         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
50429 2011-07-08  Bruno Haible  <bruno@clisp.org>
50431         Tests for module 'thread'.
50432         * modules/thread-tests: New file.
50433         * tests/test-thread_self.c: New file.
50434         * tests/test-thread_create.cc: New file.
50436 2011-07-08  Bruno Haible  <bruno@clisp.org>
50438         thread: Avoid gcc warnings when using gl_thread_self().
50439         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
50440         'void *'.
50441         (gl_thread_self_pointer): Update.
50443 2011-07-07  Bruno Haible  <bruno@clisp.org>
50445         signal-c++-tests: Check declaration of pthread_sigmask.
50446         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
50447         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
50448         $(LIB_PTHREAD_SIGMASK).
50450 2011-07-07  Bruno Haible  <bruno@clisp.org>
50452         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
50453         * lib/signal.in.h (pthread_sigmask): Override if
50454         REPLACE_PTHREAD_SIGMASK is 1.
50455         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50456         REPLACE_PTHREAD_SIGMASK.
50457         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
50458         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
50459         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
50460         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
50461         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
50463 2011-07-07  Bruno Haible  <bruno@clisp.org>
50465         pthread_sigmask: Ensure declaration in <signal.h>.
50466         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
50467         include <pthread.h>.
50468         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
50469         problem.
50471 2011-07-07  Bruno Haible  <bruno@clisp.org>
50473         pthread_sigmask: Document the module.
50474         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
50476 2011-07-07  Bruno Haible  <bruno@clisp.org>
50478         pthread_sigmask: Follow gnulib conventions.
50479         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
50480         gl_PTHREAD_SIGMASK.
50481         * modules/pthread_sigmask (configure.ac): Update.
50483 2011-07-07  Bruno Haible  <bruno@clisp.org>
50485         pthread_sigmask: Make declaration C++ safe.
50486         * lib/signal.in.h: In two special conditions, just do an #include_next.
50487         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
50488         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
50489         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50490         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
50491         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
50492         not REPLACE_PTHREAD_MASK.
50493         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
50494         not REPLACE_PTHREAD_MASK.
50495         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
50497 2011-07-07  Bruno Haible  <bruno@clisp.org>
50499         pthread_sigmask: Fix return value.
50500         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
50501         * lib/pthread_sigmask.c: New file.
50502         * modules/pthread_sigmask (Files): Add it.
50503         (configure.ac): Invoke AC_LIBOBJ.
50505 2011-07-07  Eric Blake  <eblake@redhat.com>
50507         getopt: more portable argv creation
50508         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
50509         const, use char arrays rather than strings.
50510         Suggested by Paul Eggert.
50512 2011-07-07  Bruno Haible  <bruno@clisp.org>
50514         Tests for module 'sigprocmask'.
50515         * modules/sigprocmask-tests: New file.
50516         * tests/test-sigprocmask.c: New file.
50518 2011-07-07  Bruno Haible  <bruno@clisp.org>
50520         float tests: Tweak.
50521         * tests/test-float.c (main): Tweak skip message.
50523 2011-07-07  Eric Blake  <eblake@redhat.com>
50525         getopt: avoid compiler warning during configure
50526         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
50527         assigning string literals to non-const pointer.
50529         getopt-gnu: avoid crash in glibc getopt
50530         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
50531         * tests/test-getopt.h (test_getopt): Enhance test.
50532         * tests/test-getopt_long.h (test_getopt_long): Likewise.
50533         * doc/posix-functions/getopt.texi (getopt): Document it.
50534         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
50535         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
50536         Likewise.
50538 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
50540         getopt: handle W; without long options in getopt [BZ #12922]
50541         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
50542         but no long options are defined, just return 'W'.
50544 2011-07-07  Bruno Haible  <bruno@clisp.org>
50546         Avoid literal tabs.
50547         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
50548         variable containing a tab instead of a literal tab.
50549         Reported by Jim Meyering.
50551 2011-07-07  Bruno Haible  <bruno@clisp.org>
50553         Comments.
50554         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
50556 2011-07-06  Bruno Haible  <bruno@clisp.org>
50558         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
50559         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
50560         <winsock2.h>.
50561         (rpl_fd_isset, FD_ISSET): New definitions, copied from
50562         lib/sys_socket.in.h.
50563         (close, gethostname): Hide declarations from <winsock2.h>.
50564         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50565         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
50566         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
50567         (select): Don't override if gnulib's <sys/select.h> was already
50568         included.
50569         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
50570         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
50571         setsockopt, shutdown, select): Tweak indentation.
50573 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50575         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
50576         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
50577         in an application that does not use the sys_select module.
50579 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
50581         poll: do not return 0 on timeout=-1
50582         * lib/poll.c: Loop with yield if no events occurred.
50584 2011-07-06  Eric Blake  <eblake@redhat.com>
50586         pthread_sigmask: always replace when not using pthread
50587         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
50588         replacement when using some threading other than pthread.  Fix
50589         logic bug.
50591 2011-07-06  Bruno Haible  <bruno@clisp.org>
50593         Comments.
50594         * m4/printf.m4: Update comments about mingw.
50596 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50598         sys_select: define sigset_t more portably
50599         * lib/sys_select.in.h: Always include <sys/types.h>, since
50600         we now need sigset_t and mingw defines it there.
50601         Include <signal.h> before split inclusion guard, to avoid
50602         mishaps on Solaris, whose <signal.h> eventually includes us.
50603         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
50604         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
50605         which come from ...
50606         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50607         gl_CHECK_TYPE_SIGSET_T.
50608         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
50609         does the real work.
50610         * modules/sys_select (Depends-on): Add 'signal'.
50612         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
50613         Suggested by Bruno Haible.
50615         pselect: Use pthread_sigmask, not sigprocmask.
50616         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
50617         multithreaded apps better than sigprocmask does.
50618         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
50619         sigprocmask directly.
50621 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50623         * lib/pselect.c (pselect): Use plain name, without "rpl_".
50624         Don't #undef,  since we don't need any underlying pselect.
50625         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
50626         (Depends-on): Add select.
50627         (Link): Add $(LIBSOCKET).
50628         These changes suggested by Bruno Haible.
50630         pselect: document better
50631         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
50632         * doc/posix-functions/pselect.texi (pselect): Document new module.
50634         pthread_sigmask: new module
50635         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
50636         * doc/posix-functions/pthread_sigmask.texi: Document new module.
50637         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
50638         This is done only as a macro; I don't know how well that'll
50639         work for C++.  Move <sys/types.h> include before the include_next,
50640         to avoid mishap on Solaris.
50641         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
50642         * modules/signal (Makefile.am): Substitute the check's results.
50643         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
50645         test-pselect: new module
50646         * modules/pselect-tests, tests/test-pselect.c: New files.
50647         * tests/test-select.c, tests/test-sys_select-c++.cc:
50648         If TEST_PSELECT is defined, test pselect instead of testing select.
50650         * tests/test-sys_select.c (sigset_t): Test for it, too.
50651         Suggested by Bruno Haible.
50653 2011-07-05  Eric Blake  <eblake@redhat.com>
50655         snprintf: guarantee %1$d, for libintl
50656         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
50657         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
50658         * doc/posix-functions/snprintf.texi (snprintf): Update.
50659         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
50660         * tests/test-snprintf.c (main): Enhance test.
50661         * tests/test-vsnprintf.c (main): Likewise.
50663 2011-07-05  Jim Meyering  <meyering@redhat.com>
50665         maint: exempt stdio-read.c and stdio-write.c from the cppi check
50666         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
50667         per Bruno's request, to accommodate this idiom (no space after "#")
50668         even when the function is inside an #if block:
50669         char *
50670         gets (char *s)
50671         #undef gets
50672         {
50673           ...
50674         }
50676 2011-07-04  Jim Meyering  <meyering@redhat.com>
50678         maint: indent with spaces, not TABs, and add a rule to check this
50679         * tests/test-userspec.c: Indent with spaces, not TABs.
50680         * tests/test-argp.c: Likewise.
50681         * tests/test-c-stack2.sh: Likewise.
50682         * tests/test-parse-duration.sh: Likewise
50683         * m4/strtod.m4: Likewise.
50684         * m4/alloca.m4: Likewise.
50685         * m4/pselect.m4: Likewise.
50686         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
50688 2011-07-03  Jim Meyering  <meyering@redhat.com>
50690         maint.mk: correct omissions in prohibit_argmatch_without_use check
50691         This rule would mistakenly report that argmatch.h is included without
50692         use even when both the argmatch and invalid_arg macro were used.
50693         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
50694         of argmatch and invalid_arg.
50696 2011-07-03  Bruno Haible  <bruno@clisp.org>
50698         Comments about EINTR.
50699         * lib/safe-read.h: Explain the purpose of this module.
50700         * lib/safe-write.h: Likewise.
50701         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
50702         module.
50703         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
50704         module.
50705         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50707 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50709         xnanosleep: Rewrite to use new dtotimespec module.
50710         It has the conversion code that used to be in xnanosleep.
50711         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
50712         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
50713         (TIME_T_MAX): Remove.
50714         (xnanosleep): Rewrite in terms of dtotimespec.
50715         * modules/xnanosleep (Depends-on): Add dtotimespec.
50716         Remove intprops, stdbool.
50718         timespec-add, timespec-sub: new modules
50719         * lib/timespec.h (timespec_add, timespec_sub): New decls.
50720         * lib/timespec-add.c, lib/timespec-sub.c:
50721         * modules/timespec-add, modules/timespec-sub: New files.
50723         dtotimespec: new module
50724         * lib/timespec.h (dtotimespec): New decl.
50725         * lib/dtotimespec.c, modules/dtotimespec: New files.
50727         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
50729         pselect: new module
50730         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
50731         (pselect): New decls.
50732         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
50733         since the standard pselect decl uses 'restrict'.
50734         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
50735         HAVE_PSELECT, REPLACE_PSELECT.
50736         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
50737         HAVE_PSELECT, REPLACE_PSELECT.
50738         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
50740         sys_select: don't depend on sys_socket
50741         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
50742         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
50743         This fix works on GNU and GNU-like platforms, but has not been tested
50744         on native Windows.
50745         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
50746         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
50747         gl_HEADER_SYS_SOCKET.
50748         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
50749         gl_PREREQ_SYS_H_WINSOCK2.
50751 2011-06-29  Eric Blake  <eblake@redhat.com>
50753         pipe2: fix C89 compile problem
50754         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
50755         Reported by Bruno Haible.
50757         pipe, pipe2: don't corrupt fd on error
50758         * lib/pipe.c (pipe): Leave fd unchanged on error.
50759         * lib/pipe2.c (pipe2): Likewise.
50760         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
50761         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
50763 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
50765         mmap-anon: do not use regular expressions inadvertently
50766         * m4/mmap-anon.m4: Remove trailing period from strings sought
50767         in the output.
50769 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
50771         nanosleep: fix integer overflow problem
50772         * lib/nanosleep.c (my_usleep): Don't assume signed integer
50773         arithmetic wraps around on overflow.
50775         nanosleep: simplify carrying
50776         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
50777         first call to the underyling nanosleep, not for the last one.
50778         This doesn't fix any bugs, but it simplifies the computation of
50779         the remaining delay.  Found while auditing integer overflow issues.
50781         dup2: remove test for existence of fcntl
50782         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
50783         "#if HAVE_FCNTL", in the configure-time test program.
50784         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
50785         and therefore speeds up "configure" a bit.  Found while
50786         adding the dup2 module to Emacs.
50788 2011-06-24  Eric Blake  <eblake@redhat.com>
50790         maint.mk: enhance useless header checks
50791         * top/maint.mk (_sc_header_without_use): Check both include
50792         styles.
50793         (sc_prohibit_assert_without_use)
50794         (sc_prohibit_close_stream_without_use)
50795         (sc_prohibit_getopt_without_use)
50796         (sc_prohibit_quotearg_without_use)
50797         (sc_prohibit_quote_without_use)
50798         (sc_prohibit_long_options_without_use)
50799         (sc_prohibit_inttostr_without_use)
50800         (sc_prohibit_ignore_value_without_use)
50801         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
50802         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
50803         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
50804         (sc_prohibit_hash_pjw_without_use)
50805         (sc_prohibit_safe_read_without_use)
50806         (sc_prohibit_argmatch_without_use)
50807         (sc_prohibit_canonicalize_without_use)
50808         (sc_prohibit_root_dev_ino_without_use)
50809         (sc_prohibit_openat_without_use)
50810         (sc_prohibit_c_ctype_without_use)
50811         (sc_prohibit_signal_without_use)
50812         (sc_prohibit_stdio--_without_use)
50813         (sc_prohibit_stdio-safer_without_use)
50814         (sc_prohibit_strings_without_use)
50815         (sc_prohibit_intprops_without_use)
50816         (sc_prohibit_stddef_without_use)
50817         (sc_prohibit_xfreopen_without_use): Update clients.
50819 2011-06-24  Jim Meyering  <meyering@redhat.com>
50821         syntax-check: keep one maint.mk rule in sync with its header
50822         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
50823         of the bug Eric has just fixed, with today's commit 25e4c2ec.
50824         I prefer to avoid temporary files here, so use <(...), but that
50825         is not supported by /bin/sh, so...
50826         (SHELL): Define to /bin/bash.
50828 2011-06-24  Eric Blake  <eblake@redhat.com>
50830         maint.mk: update sc_prohibit_intprops_without_use
50831         * top/maint.mk (_intprops_names): Match recent changes.
50833 2011-06-24  Bruno Haible  <bruno@clisp.org>
50835         strerror-override: No-op tweak.
50836         * lib/strerror-override.h (strerror_override): Reorder conditions,
50837         for consistency with lib/strerror-override.c.
50839 2011-06-23  Eric Blake  <eblake@redhat.com>
50841         maint.mk: test further PATH_MAX issues
50842         * top/maint.mk (sc_prohibit_path_max_array): Rename...
50843         (sc_prohibit_path_max_allocation): ...and also test alloca.
50844         Suggested by Jim Meyering.
50846 2011-06-22  Eric Blake  <eblake@redhat.com>
50848         maint.mk: add syntax-check to avoid char[PATH_MAX]
50849         * top/maint.mk (sc_prohibit_path_max_array): New rule.
50851         stat: be robust to PATH_MAX definition
50852         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
50853         * modules/stat (Depends-on): Add verify.
50855         link: work around IRIX bug
50856         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
50857         * lib/link.c (rpl_link): Work around it.
50858         * tests/test-link.h (test_link): Enhance test.
50859         * doc/posix-functions/link.texi (link): Document the bug.
50861         getopt: silence clang warning
50862         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
50863         dereference.
50864         Reported by Gustavo Martin Domato.
50866 2011-06-22  Jim Meyering  <meyering@redhat.com>
50868         bootstrap: do not insert a blank line into each .gitignore file
50869         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
50871 2011-06-21  Eric Blake  <eblake@redhat.com>
50873         perror: test for output mismatch
50874         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
50875         perror on IRIX.
50877         strerror_r: fix OpenBSD behavior on out-of-range
50878         * lib/strerror_r.c (strerror_r): Always use maximal string.
50879         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
50881         strerror_r: fix OpenBSD behavior on 0
50882         * lib/strerror-override.c (strerror_override): Also override 0
50883         when needed.
50884         * lib/strerror-override.h (strerror_override): Likewise.
50885         * lib/strerror.c (strerror): Simplify, now that 0 override is done
50886         earlier.
50887         * lib/strerror_r.c (strerror_r): Likewise.
50888         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
50889         behavior...
50890         (gl_FUNC_STRERROR_0): ...into new macro.
50891         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
50892         is overridden.
50893         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
50894         * modules/strerror-override (Files): Add strerror.m4.
50895         (configure.ac): Also provide override for 0 when needed.
50896         * doc/posix-functions/strerror.texi (strerror): Document this.
50897         * doc/posix-functions/perror.texi (perror): Likewise.
50899         perror: adjust array size
50900         * modules/perror (Depends-on): Add strerror-override.
50901         * lib/perror.c (perror): Use it to avoid magic number.
50903         strerror-override: reduce size
50904         * lib/strerror-override.c (strerror_override): Use fewer lines.
50906 2011-06-20  Bruno Haible  <bruno@clisp.org>
50908         pathmax: Ensure correct value for PATH_MAX on HP-UX.
50909         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
50911 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50913         alloca: port to compilers that can optimize like GCC 4.6.0
50914         * lib/alloca.c (find_stack_direction): New signature, taken from
50915         Autoconf git.  This works with GCC 4.6.0.  This code should never
50916         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
50917         be used with other compilers that optimize as well as GCC 4.6.0 does.
50918         (alloca): Adjust to new signature.
50919         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
50920         New macro, which patches Autoconf in a similar way.
50922         c-stack: stop worrying about stack direction
50923         * lib/c-stack.c (find_stack_direction): Remove.
50924         (segv_handler): Don't worry about stack direction growth, as it's
50925         too much of a pain to configure this correctly, given how compilers
50926         are optimizing-away our stack-growth detection code.  Instead, assume
50927         that any access to just before or just after the stack is OK.
50928         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
50929         Don't require AC_FUNC_ALLOCA; no longer needed.
50931 2011-06-20  Eric Blake  <eblake@redhat.com>
50933         test-stat: don't allocate PATH_MAX bytes
50934         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
50935         PATH_MAX-sized buffer.
50936         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
50937         * modules/stat-tests (Depends-on): Likewise.
50938         * tests/test-fstatat.c (includes): Drop pathmax.h.
50939         * tests/test-stat.c (includes): Likewise.
50940         Reported by Bruno Haible.
50942 2011-06-20  Bruno Haible  <bruno@clisp.org>
50944         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
50945         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
50946         * lib/float.c: New file.
50947         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
50948         REPLACE_FLOAT_LDBL.
50949         * modules/float (Files): Add lib/float.c.
50950         (configure.ac): Invoke AC_LIBOBJ.
50951         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
50953 2011-06-20  Bruno Haible  <bruno@clisp.org>
50955         Tests for module 'float'.
50956         * modules/float-tests: New file.
50957         * tests/test-float.c: New file.
50959 2011-06-19  Bruno Haible  <bruno@clisp.org>
50961         isinf: Coding style.
50962         * lib/isinf.c: Use GNU coding style.
50964 2011-06-19  Bruno Haible  <bruno@clisp.org>
50966         linkat test: Avoid test failure on AIX 7.1.
50967         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
50968         * tests/test-link.h (test_link): Likewise.
50970 2011-06-19  Bruno Haible  <bruno@clisp.org>
50972         pread test: Avoid test failure on OpenBSD 4.9.
50973         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
50975 2011-06-19  Bruno Haible  <bruno@clisp.org>
50977         sprintf-posix: Fix test failure on AIX 7.1.
50978         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
50979         * doc/posix-functions/dprintf.texi: Mention limited precision problem
50980         on AIX.
50981         * doc/posix-functions/fprintf.texi: Likewise.
50982         * doc/posix-functions/printf.texi: Likewise.
50983         * doc/posix-functions/snprintf.texi: Likewise.
50984         * doc/posix-functions/sprintf.texi: Likewise.
50985         * doc/posix-functions/vdprintf.texi: Likewise.
50986         * doc/posix-functions/vfprintf.texi: Likewise.
50987         * doc/posix-functions/vprintf.texi: Likewise.
50988         * doc/posix-functions/vsnprintf.texi: Likewise.
50989         * doc/posix-functions/vsprintf.texi: Likewise.
50991 2011-06-19  Bruno Haible  <bruno@clisp.org>
50993         roundl-ieee: Fix test failure on AIX 7.1.
50994         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
50995         * doc/posix-functions/roundl.texi: Mention problem with negative
50996         arguments.
50998 2011-06-19  Bruno Haible  <bruno@clisp.org>
51000         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51001         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
51002         * doc/posix-functions/round.texi: Mention problem with negative
51003         arguments.
51004         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
51006 2011-06-19  Bruno Haible  <bruno@clisp.org>
51008         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51009         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
51010         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
51011         * doc/posix-functions/roundf.texi: Mention problem with negative
51012         arguments.
51013         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
51015 2011-06-19  Bruno Haible  <bruno@clisp.org>
51017         ceilf-ieee: Work around bug on MacOS X 10.5.
51018         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
51020         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
51021         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
51022         IEEE compliant, avoid compiler optimizations.
51023         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
51024         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
51025         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
51026         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
51027         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
51028         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
51029         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
51030         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
51031         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
51032         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
51034 2011-06-19  Bruno Haible  <bruno@clisp.org>
51036         ceilf-ieee: Work around bug on AIX 7.1.
51037         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
51038         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
51040 2011-06-19  Bruno Haible  <bruno@clisp.org>
51042         ceil-ieee: Work around bug on AIX 7.1.
51043         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
51044         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
51046 2011-06-18  Bruno Haible  <bruno@clisp.org>
51048         fsync test: Avoid test failure on MacOS X and AIX.
51049         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
51050         EINVAL.
51052 2011-06-18  Bruno Haible  <bruno@clisp.org>
51054         openat, fdopendir tests: Fix link errors.
51055         * modules/openat-tests (Depends-on): Add progname.
51056         * modules/fdopendir-tests (Depends-on): Likewise.
51057         * tests/test-fchownat.c: Include progname.h.
51058         (main): Call set_program_name.
51059         * tests/test-fstatat.c: Include progname.h.
51060         (main): Call set_program_name.
51061         * tests/test-mkdirat.c: Include progname.h.
51062         (main): Call set_program_name.
51063         * tests/test-openat.c: Include progname.h.
51064         (main): Call set_program_name.
51065         * tests/test-unlinkat.c: Include progname.h.
51066         (main): Call set_program_name.
51067         * tests/test-fdopendir.c: Include progname.h.
51068         (main): Call set_program_name.
51070 2011-06-18  Bruno Haible  <bruno@clisp.org>
51072         Doc update.
51073         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
51074         HP-UX.
51075         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
51077 2011-06-18  Bruno Haible  <bruno@clisp.org>
51079         getcwd tests: Avoid compilation error on HP-UX 11.31.
51080         * modules/getcwd-tests (Depends-on): Add pathmax.
51081         * tests/test-getcwd.c: Include pathmax.h.
51083 2011-06-18  Bruno Haible  <bruno@clisp.org>
51085         isfinite, isinf: Fix link error on AIX 6 and 7.
51086         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
51087         needed, also test the macro with a 'float' argument.
51088         * m4/isinf.m4 (gl_ISINF): Likewise.
51090 2011-06-18  Bruno Haible  <bruno@clisp.org>
51092         getloadavg: Don't clobber LIBS. Regression from previous commit.
51093         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
51094         AC_CHECK_LIB from here...
51095         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
51096         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
51097         gl_func_getloadavg_done.
51098         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51100 2011-06-18  Bruno Haible  <bruno@clisp.org>
51102         clean-temp: Improve documentation.
51103         * lib/clean-temp.h: Explain better how to use this module.
51104         Reported by John Darrington <john@darrington.wattle.id.au>.
51106 2011-06-17  Bruno Haible  <bruno@clisp.org>
51108         pread, pwrite: Avoid cc warning on AIX.
51109         * lib/unistd.in.h (pread): Undefine before defining as a macro.
51110         (pwrite): Likewise.
51112 2011-06-17  Bruno Haible  <bruno@clisp.org>
51114         spawn-pipe tests: Fix link error.
51115         * tests/test-spawn-pipe-child.c: Undefine fprintf.
51116         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51118 2011-06-17  Bruno Haible  <bruno@clisp.org>
51120         Tests: Remove unnecessary dependency.
51121         * modules/canonicalize-tests (Depends-on): Remove progname.
51122         * modules/chown-tests (Depends-on): Likewise.
51123         * modules/dirname-tests (Depends-on): Likewise.
51124         * modules/fdopendir-tests (Depends-on): Likewise.
51125         * modules/fdutimensat-tests (Depends-on): Likewise.
51126         * modules/hash-tests (Depends-on): Likewise.
51127         * modules/lchown-tests (Depends-on): Likewise.
51128         * modules/linkat-tests (Depends-on): Likewise.
51129         * modules/renameat-tests (Depends-on): Likewise.
51130         * modules/spawn-pipe-tests (Depends-on): Likewise.
51131         * modules/utimensat-tests (Depends-on): Likewise.
51133 2011-06-17  Bruno Haible  <bruno@clisp.org>
51135         spawn-pipe tests: Fix link error.
51136         * tests/test-spawn-pipe-child.c: Undefine fflush.
51138 2011-06-17  Bruno Haible  <bruno@clisp.org>
51140         Fix tests link errors.
51141         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
51142         * modules/chown-tests (Makefile.am): Don't link test-chown with
51143         LIBINTL.
51144         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
51145         LIBINTL.
51146         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
51147         LIBINTL.
51148         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
51149         LIBINTL.
51151 2011-06-16  Bruno Haible  <bruno@clisp.org>
51153         crypto/gc-sha1: Fix recent regression.
51154         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
51155         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
51157         crypto/gc-md5: Fix recent regression.
51158         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
51160         crypto/gc-md4: Fix recent regression.
51161         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
51162         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
51164         crypto/gc-arctwo: Fix recent regression.
51165         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
51166         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
51168         crypto/gc-rijndael: Fix recent regression.
51169         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
51170         (configure.ac): Invoke AC_LIBOBJ here.
51171         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
51172         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51174         crypto/gc-hmac-sha1: Fix recent regression.
51175         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
51176         (configure.ac): Invoke AC_LIBOBJ here.
51177         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
51178         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51180         crypto/gc-hmac-md5: Fix recent regression.
51181         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
51182         (configure.ac): Invoke AC_LIBOBJ here.
51183         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
51184         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51186         crypto/gc-des: Fix recent regression.
51187         * modules/crypto/gc-des (Files): Remove m4/des.m4.
51188         (configure.ac): Invoke AC_LIBOBJ here.
51189         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
51190         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51192         crypto/gc-arcfour: Fix recent regression.
51193         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
51194         (configure.ac): Invoke AC_LIBOBJ here.
51195         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
51196         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51198 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
51200         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
51201         After the 2011-05-21 change, this macro requires
51202         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
51203         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51205 2011-06-16  Bruno Haible  <bruno@clisp.org>
51207         fprintftime: Move AC_LIBOBJ invocations to module description.
51208         * m4/fprintftime.m4: Remove file.
51209         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
51210         (configure.ac): Remove gl_FPRINTFTIME call.
51211         (Makefile.am): Augment lib_SOURCES.
51212         Reported by Jim Meyering.
51214 2011-06-16  Bruno Haible  <bruno@clisp.org>
51216         tmpfile-safer: Finish 2011-05-23 commit.
51217         * m4/stdio-safer.m4: Really remove file.
51218         Reported by Jim Meyering.
51220 2011-06-16  Bruno Haible  <bruno@clisp.org>
51222         syntax-check: Fix typo.
51223         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
51224         printf-posix.m4.
51225         Reported by Jim Meyering.
51227 2011-06-13  Jim Meyering  <meyering@redhat.com>
51229         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
51230         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
51232 2011-05-23  Bruno Haible  <bruno@clisp.org>
51234         yesno: Move AC_LIBOBJ invocations to module description.
51235         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
51236         * modules/yesno (Makefile.am): Augment lib_SOURCES.
51238 2011-05-23  Bruno Haible  <bruno@clisp.org>
51240         xstrtol: Move AC_LIBOBJ invocations to module description.
51241         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
51242         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
51244 2011-05-23  Bruno Haible  <bruno@clisp.org>
51246         xstrtold: Move AC_LIBOBJ invocations to module description.
51247         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
51248         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
51250 2011-05-23  Bruno Haible  <bruno@clisp.org>
51252         xstrtod: Move AC_LIBOBJ invocations to module description.
51253         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
51254         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
51256 2011-05-23  Bruno Haible  <bruno@clisp.org>
51258         xnanosleep: Move AC_LIBOBJ invocations to module description.
51259         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
51260         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
51262 2011-05-23  Bruno Haible  <bruno@clisp.org>
51264         xgetcwd: Move AC_LIBOBJ invocations to module description.
51265         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
51266         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
51268 2011-05-23  Bruno Haible  <bruno@clisp.org>
51270         xalloc: Move AC_LIBOBJ invocations to module description.
51271         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
51272         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
51274 2011-05-23  Bruno Haible  <bruno@clisp.org>
51276         write-any-file: Move AC_LIBOBJ invocations to module description.
51277         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
51278         invocation.
51279         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
51281 2011-05-23  Bruno Haible  <bruno@clisp.org>
51283         utimens: Move AC_LIBOBJ invocations to module description.
51284         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
51285         * modules/utimens (Makefile.am): Augment lib_SOURCES.
51287 2011-05-23  Bruno Haible  <bruno@clisp.org>
51289         utimecmp: Move AC_LIBOBJ invocations to module description.
51290         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
51291         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
51293 2011-05-23  Bruno Haible  <bruno@clisp.org>
51295         userspec: Move AC_LIBOBJ invocations to module description.
51296         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
51297         * modules/userspec (Makefile.am): Augment lib_SOURCES.
51299 2011-05-23  Bruno Haible  <bruno@clisp.org>
51301         unlinkdir: Move AC_LIBOBJ invocations to module description.
51302         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
51303         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
51305 2011-05-23  Bruno Haible  <bruno@clisp.org>
51307         unistd-safer: Move AC_LIBOBJ invocations to module description.
51308         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
51309         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
51311 2011-05-23  Bruno Haible  <bruno@clisp.org>
51313         tempname: Move AC_LIBOBJ invocations to module description.
51314         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
51315         * modules/tempname (Makefile.am): Augment lib_SOURCES.
51317 2011-05-23  Bruno Haible  <bruno@clisp.org>
51319         strftime: Move AC_LIBOBJ invocations to module description.
51320         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
51321         * modules/strftime (Makefile.am): Augment lib_SOURCES.
51323 2011-05-23  Bruno Haible  <bruno@clisp.org>
51325         stdlib-safer: Move AC_LIBOBJ invocations to module description.
51326         * m4/stdlib-safer.m4: Remove file.
51327         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
51328         (configure.ac): Remove gl_STDLIB_SAFER call.
51329         (Makefile.am): Augment lib_SOURCES.
51331 2011-05-23  Bruno Haible  <bruno@clisp.org>
51333         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
51334         * m4/stdio-safer.m4: Remove file.
51335         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
51336         (configure.ac): Remove gl_TMPFILE_SAFER call.
51337         (Makefile.am): Augment lib_SOURCES.
51339 2011-05-23  Bruno Haible  <bruno@clisp.org>
51341         popen-safer: Move AC_LIBOBJ invocations to module description.
51342         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
51343         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
51344         (configure.ac): Remove gl_POPEN_SAFER call.
51345         (Makefile.am): Augment lib_SOURCES.
51347 2011-05-23  Bruno Haible  <bruno@clisp.org>
51349         freopen-safer: Move AC_LIBOBJ invocations to module description.
51350         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
51351         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
51352         (configure.ac): Remove gl_FREOPEN_SAFER call.
51353         (Makefile.am): Augment lib_SOURCES.
51355 2011-05-23  Bruno Haible  <bruno@clisp.org>
51357         fopen-safer: Move AC_LIBOBJ invocations to module description.
51358         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
51359         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
51360         (configure.ac): Remove gl_FOPEN_SAFER call.
51361         (Makefile.am): Augment lib_SOURCES.
51363 2011-05-23  Bruno Haible  <bruno@clisp.org>
51365         crypto/sha512: Move AC_LIBOBJ invocations to module description.
51366         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
51367         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
51369 2011-05-23  Bruno Haible  <bruno@clisp.org>
51371         crypto/sha256: Move AC_LIBOBJ invocations to module description.
51372         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
51373         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
51375 2011-05-23  Bruno Haible  <bruno@clisp.org>
51377         crypto/sha1: Move AC_LIBOBJ invocations to module description.
51378         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
51379         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
51381 2011-05-23  Bruno Haible  <bruno@clisp.org>
51383         settime: Move AC_LIBOBJ invocations to module description.
51384         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
51385         * modules/settime (Makefile.am): Augment lib_SOURCES.
51387 2011-05-23  Bruno Haible  <bruno@clisp.org>
51389         savedir: Move AC_LIBOBJ invocations to module description.
51390         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
51391         * modules/savedir (Makefile.am): Augment lib_SOURCES.
51393 2011-05-23  Bruno Haible  <bruno@clisp.org>
51395         save-cwd: Move AC_LIBOBJ invocations to module description.
51396         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
51397         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
51399 2011-05-23  Bruno Haible  <bruno@clisp.org>
51401         same: Move AC_LIBOBJ invocations to module description.
51402         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
51403         * modules/same (Makefile.am): Augment lib_SOURCES.
51405 2011-05-23  Bruno Haible  <bruno@clisp.org>
51407         safe-write: Move AC_LIBOBJ invocations to module description.
51408         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
51409         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
51410         instead of gl_SAFE_WRITE.
51411         (Makefile.am): Augment lib_SOURCES.
51413 2011-05-23  Bruno Haible  <bruno@clisp.org>
51415         safe-read: Move AC_LIBOBJ invocations to module description.
51416         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
51417         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
51418         of gl_SAFE_READ.
51419         (Makefile.am): Augment lib_SOURCES.
51421 2011-05-23  Bruno Haible  <bruno@clisp.org>
51423         safe-alloc: Move AC_LIBOBJ invocations to module description.
51424         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
51425         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
51427 2011-05-23  Bruno Haible  <bruno@clisp.org>
51429         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
51430         * m4/rijndael.m4: Remove file.
51431         * modules/crypto/rijndael (Files): Remove it.
51432         (configure.ac): Remove gl_RIJNDAEL call.
51433         (Makefile.am): Augment lib_SOURCES.
51435 2011-05-23  Bruno Haible  <bruno@clisp.org>
51437         readtokens: Move AC_LIBOBJ invocations to module description.
51438         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
51439         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
51441 2011-05-23  Bruno Haible  <bruno@clisp.org>
51443         read-file: Move AC_LIBOBJ invocations to module description.
51444         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
51445         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
51446         of gl_FUNC_READ_FILE.
51447         (Makefile.am): Augment lib_SOURCES.
51449 2011-05-23  Bruno Haible  <bruno@clisp.org>
51451         quotearg: Move AC_LIBOBJ invocations to module description.
51452         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
51453         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
51455 2011-05-23  Bruno Haible  <bruno@clisp.org>
51457         quote: Move AC_LIBOBJ invocations to module description.
51458         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
51459         * modules/quote (Makefile.am): Augment lib_SOURCES.
51461 2011-05-23  Bruno Haible  <bruno@clisp.org>
51463         posixver: Move AC_LIBOBJ invocations to module description.
51464         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
51465         * modules/posixver (Makefile.am): Augment lib_SOURCES.
51467 2011-05-23  Bruno Haible  <bruno@clisp.org>
51469         posixtm: Move AC_LIBOBJ invocations to module description.
51470         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
51471         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
51473 2011-05-23  Bruno Haible  <bruno@clisp.org>
51475         physmem: Move AC_LIBOBJ invocations to module description.
51476         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
51477         * modules/physmem (Makefile.am): Augment lib_SOURCES.
51479 2011-05-23  Bruno Haible  <bruno@clisp.org>
51481         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
51482         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
51483         invocation.
51484         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
51486 2011-05-23  Bruno Haible  <bruno@clisp.org>
51488         mpsort: Move AC_LIBOBJ invocations to module description.
51489         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
51490         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
51492 2011-05-23  Bruno Haible  <bruno@clisp.org>
51494         modechange: Move AC_LIBOBJ invocations to module description.
51495         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
51496         * modules/modechange (Makefile.am): Augment lib_SOURCES.
51498 2011-05-23  Bruno Haible  <bruno@clisp.org>
51500         mkdir-p: Move AC_LIBOBJ invocations to module description.
51501         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
51502         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
51504 2011-05-23  Bruno Haible  <bruno@clisp.org>
51506         mkancesdirs: Move AC_LIBOBJ invocations to module description.
51507         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
51508         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
51510 2011-05-23  Bruno Haible  <bruno@clisp.org>
51512         mgetgroups: Move AC_LIBOBJ invocations to module description.
51513         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
51514         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
51516 2011-05-23  Bruno Haible  <bruno@clisp.org>
51518         memxor: Move AC_LIBOBJ invocations to module description.
51519         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
51520         * modules/memxor (Makefile.am): Augment lib_SOURCES.
51522 2011-05-23  Bruno Haible  <bruno@clisp.org>
51524         memcoll: Move AC_LIBOBJ invocations to module description.
51525         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
51526         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
51528 2011-05-23  Bruno Haible  <bruno@clisp.org>
51530         memcasecmp: Move AC_LIBOBJ invocations to module description.
51531         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
51532         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
51534 2011-05-23  Bruno Haible  <bruno@clisp.org>
51536         crypto/md5: Move AC_LIBOBJ invocations to module description.
51537         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
51538         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
51540 2011-05-23  Bruno Haible  <bruno@clisp.org>
51542         crypto/md4: Move AC_LIBOBJ invocations to module description.
51543         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
51544         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
51546 2011-05-23  Bruno Haible  <bruno@clisp.org>
51548         crypto/md2: Move AC_LIBOBJ invocations to module description.
51549         * m4/md2.m4: Remove file.
51550         * modules/crypto/md2 (Files): Remove it.
51551         (configure.ac): Remove gl_MD2 call.
51552         (Makefile.am): Augment lib_SOURCES.
51554 2011-05-23  Bruno Haible  <bruno@clisp.org>
51556         long-options: Move AC_LIBOBJ invocations to module description.
51557         * m4/long-options.m4: Remove file.
51558         * modules/long-options (Files): Remove it.
51559         (configure.ac): Remove gl_LONG_OPTIONS call.
51560         (Makefile.am): Augment lib_SOURCES.
51562 2011-05-23  Bruno Haible  <bruno@clisp.org>
51564         i-ring: Move AC_LIBOBJ invocations to module description.
51565         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
51566         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
51568 2011-05-23  Bruno Haible  <bruno@clisp.org>
51570         idcache: Move AC_LIBOBJ invocations to module description.
51571         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
51572         * modules/idcache (Makefile.am): Augment lib_SOURCES.
51574 2011-05-23  Bruno Haible  <bruno@clisp.org>
51576         human: Move AC_LIBOBJ invocations to module description.
51577         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
51578         * modules/human (Makefile.am): Augment lib_SOURCES.
51580 2011-05-23  Bruno Haible  <bruno@clisp.org>
51582         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
51583         * m4/hmac-sha1.m4: Remove file.
51584         * modules/crypto/hmac-sha1 (Files): Remove it.
51585         (configure.ac): Remove gl_HMAC_SHA1 call.
51586         (Makefile.am): Augment lib_SOURCES.
51588 2011-05-23  Bruno Haible  <bruno@clisp.org>
51590         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
51591         * m4/hmac-md5.m4: Remove file.
51592         * modules/crypto/hmac-md5 (Files): Remove it.
51593         (configure.ac): Remove gl_HMAC_MD5 call.
51594         (Makefile.am): Augment lib_SOURCES.
51596 2011-05-23  Bruno Haible  <bruno@clisp.org>
51598         hash: Move AC_LIBOBJ invocations to module description.
51599         * m4/hash.m4: Remove file.
51600         * modules/hash (Files): Remove it.
51601         (configure.ac): Remove gl_HASH call.
51602         (Makefile.am): Augment lib_SOURCES.
51604 2011-05-23  Bruno Haible  <bruno@clisp.org>
51606         hard-locale: Move AC_LIBOBJ invocations to module description.
51607         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
51608         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
51610 2011-05-23  Bruno Haible  <bruno@clisp.org>
51612         getugroups: Move AC_LIBOBJ invocations to module description.
51613         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
51614         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
51616 2011-05-23  Bruno Haible  <bruno@clisp.org>
51618         gettime: Move AC_LIBOBJ invocations to module description.
51619         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
51620         * modules/gettime (Makefile.am): Augment lib_SOURCES.
51622 2011-05-23  Bruno Haible  <bruno@clisp.org>
51624         getndelim2: Move AC_LIBOBJ invocations to module description.
51625         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
51626         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
51628 2011-05-23  Bruno Haible  <bruno@clisp.org>
51630         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
51631         * m4/gc-pbkdf2-sha1.m4: Remove file.
51632         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
51633         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
51634         (Makefile.am): Augment lib_SOURCES.
51636 2011-05-23  Bruno Haible  <bruno@clisp.org>
51638         fts: Move AC_LIBOBJ invocations to module description.
51639         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
51640         * modules/fts (configure.ac): ... to here.
51642 2011-05-23  Bruno Haible  <bruno@clisp.org>
51644         file-type: Move AC_LIBOBJ invocations to module description.
51645         * m4/file-type.m4: Remove file.
51646         * modules/file-type (Files): Remove it.
51647         (configure.ac): Remove gl_FILE_TYPE call.
51648         (Makefile.am): Augment lib_SOURCES.
51650 2011-05-23  Bruno Haible  <bruno@clisp.org>
51652         filenamecat*: Respect rules for use of AC_LIBOBJ.
51653         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
51654         Remove AC_LIBOBJ invocation.
51655         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
51656         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
51658 2011-05-23  Bruno Haible  <bruno@clisp.org>
51660         filemode: Move AC_LIBOBJ invocations to module description.
51661         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
51662         * modules/filemode (Makefile.am): Augment lib_SOURCES.
51664 2011-05-23  Bruno Haible  <bruno@clisp.org>
51666         openat-safer: Move AC_LIBOBJ invocations to module description.
51667         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
51668         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
51670 2011-05-23  Bruno Haible  <bruno@clisp.org>
51672         fcntl-safer: Move AC_LIBOBJ invocations to module description.
51673         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
51674         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
51676 2011-05-23  Bruno Haible  <bruno@clisp.org>
51678         exclude: Move AC_LIBOBJ invocations to module description.
51679         * m4/exclude.m4: Remove file.
51680         * modules/exclude (Files): Remove it.
51681         (configure.ac): Remove gl_EXCLUDE call.
51682         (Makefile.am): Augment lib_SOURCES.
51684 2011-05-23  Bruno Haible  <bruno@clisp.org>
51686         dirname*: Respect rules for use of AC_LIBOBJ.
51687         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
51688         invocations.
51689         * modules/dirname (Makefile.am): Augment lib_SOURCES.
51690         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
51692 2011-05-23  Bruno Haible  <bruno@clisp.org>
51694         dirent-safer: Move AC_LIBOBJ invocations to module description.
51695         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
51696         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
51698 2011-05-23  Bruno Haible  <bruno@clisp.org>
51700         crypto/des: Move AC_LIBOBJ invocations to module description.
51701         * m4/des.m4: Remove file.
51702         * modules/crypto/des (Files): Remove it.
51703         (configure.ac): Remove gl_DES call.
51704         (Makefile.am): Augment lib_SOURCES.
51706 2011-05-23  Bruno Haible  <bruno@clisp.org>
51708         cycle-check: Move AC_LIBOBJ invocations to module description.
51709         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
51710         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
51712 2011-05-23  Bruno Haible  <bruno@clisp.org>
51714         c-strtold: Move AC_LIBOBJ invocations to module description.
51715         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
51716         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
51718 2011-05-23  Bruno Haible  <bruno@clisp.org>
51720         c-strtod: Move AC_LIBOBJ invocations to module description.
51721         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
51722         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
51724 2011-05-23  Bruno Haible  <bruno@clisp.org>
51726         crc: Move AC_LIBOBJ invocations to module description.
51727         * m4/crc.m4: Remove file.
51728         * modules/crc (Files): Remove it.
51729         (configure.ac): Remove gl_CRC call.
51730         (Makefile.am): Augment lib_SOURCES.
51732 2011-05-23  Bruno Haible  <bruno@clisp.org>
51734         close-stream: Move AC_LIBOBJ invocations to module description.
51735         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
51736         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
51738 2011-05-23  Bruno Haible  <bruno@clisp.org>
51740         closeout: Move AC_LIBOBJ invocations to module description.
51741         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
51742         * modules/closeout (Makefile.am): Augment lib_SOURCES.
51744 2011-05-23  Bruno Haible  <bruno@clisp.org>
51746         closein: Move AC_LIBOBJ invocations to module description.
51747         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
51748         * modules/closein (Makefile.am): Augment lib_SOURCES.
51750 2011-05-23  Bruno Haible  <bruno@clisp.org>
51752         cloexec: Move AC_LIBOBJ invocations to module description.
51753         * m4/cloexec.m4: Remove file.
51754         * modules/cloexec (Files): Remove it.
51755         (configure.ac): Remove gl_CLOEXEC call.
51756         (Makefile.am): Augment lib_SOURCES.
51758 2011-05-23  Bruno Haible  <bruno@clisp.org>
51760         check-version: Move AC_LIBOBJ invocations to module description.
51761         * m4/check-version.m4: Remove file.
51762         * modules/check-version (Files): Remove it.
51763         (configure.ac): Remove gl_CHECK_VERSION call.
51764         (Makefile.am): Augment lib_SOURCES.
51766 2011-05-23  Bruno Haible  <bruno@clisp.org>
51768         chdir-safer: Move AC_LIBOBJ invocations to module description.
51769         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
51770         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
51772 2011-05-23  Bruno Haible  <bruno@clisp.org>
51774         canonicalize: Move AC_LIBOBJ invocations to module description.
51775         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
51776         AC_LIBOBJ invocation.
51777         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
51779 2011-05-23  Bruno Haible  <bruno@clisp.org>
51781         canon-host: Move AC_LIBOBJ invocations to module description.
51782         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
51783         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
51784         instead of gl_CANON_HOST.
51785         (Makefile.am): Augment lib_SOURCES.
51787 2011-05-23  Bruno Haible  <bruno@clisp.org>
51789         backupfile: Move AC_LIBOBJ invocations to module description.
51790         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
51791         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
51793 2011-05-23  Bruno Haible  <bruno@clisp.org>
51795         argmatch: Move AC_LIBOBJ invocations to module description.
51796         * m4/argmatch.m4: Remove file.
51797         * modules/argmatch (Files): Remove it.
51798         (configure.ac): Remove gl_ARGMATCH call.
51799         (Makefile.am): Augment lib_SOURCES.
51801 2011-05-23  Bruno Haible  <bruno@clisp.org>
51803         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
51804         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
51805         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
51807 2011-05-23  Bruno Haible  <bruno@clisp.org>
51809         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
51810         * m4/arcfour.m4: Remove file.
51811         * modules/crypto/arcfour (Files): Remove it.
51812         (configure.ac): Remove gl_ARCFOUR call.
51813         (Makefile.am): Augment lib_SOURCES.
51815 2011-05-22  Bruno Haible  <bruno@clisp.org>
51817         write: Move AC_LIBOBJ invocations to module description.
51818         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
51819         * modules/write (configure.ac): ... to here.
51821 2011-05-22  Bruno Haible  <bruno@clisp.org>
51823         wmemset: Move AC_LIBOBJ invocations to module description.
51824         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
51825         here...
51826         * modules/wmemset (configure.ac): ... to here.
51828 2011-05-22  Bruno Haible  <bruno@clisp.org>
51830         wmemmove: Move AC_LIBOBJ invocations to module description.
51831         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
51832         here...
51833         * modules/wmemmove (configure.ac): ... to here.
51835 2011-05-22  Bruno Haible  <bruno@clisp.org>
51837         wmemcpy: Move AC_LIBOBJ invocations to module description.
51838         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
51839         here...
51840         * modules/wmemcpy (configure.ac): ... to here.
51842 2011-05-22  Bruno Haible  <bruno@clisp.org>
51844         wmemcmp: Move AC_LIBOBJ invocations to module description.
51845         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
51846         here...
51847         * modules/wmemcmp (configure.ac): ... to here.
51849 2011-05-22  Bruno Haible  <bruno@clisp.org>
51851         wmemchr: Move AC_LIBOBJ invocations to module description.
51852         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
51853         here...
51854         * modules/wmemchr (configure.ac): ... to here.
51856 2011-05-22  Bruno Haible  <bruno@clisp.org>
51858         wcswidth: Move AC_LIBOBJ invocations to module description.
51859         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
51860         here...
51861         * modules/wcswidth (configure.ac): ... to here.
51863 2011-05-22  Bruno Haible  <bruno@clisp.org>
51865         wcwidth: Respect rules for use of AC_LIBOBJ.
51866         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
51867         invocation from here...
51868         * modules/wcwidth (configure.ac): ... to here.
51869         (Depends-on): Update conditions.
51871 2011-05-22  Bruno Haible  <bruno@clisp.org>
51873         wctype: Move AC_LIBOBJ invocations to module description.
51874         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
51875         invocation from here...
51876         * modules/wctype (configure.ac): ... to here.
51877         (Depends-on): Update conditions.
51879 2011-05-22  Bruno Haible  <bruno@clisp.org>
51881         wctrans: Move AC_LIBOBJ invocations to module description.
51882         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
51883         invocation from here...
51884         * modules/wctrans (configure.ac): ... to here.
51886 2011-05-22  Bruno Haible  <bruno@clisp.org>
51888         wctomb: Move AC_LIBOBJ invocations to module description.
51889         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
51890         invocations from here...
51891         * modules/wctomb (configure.ac): ... to here.
51893 2011-05-22  Bruno Haible  <bruno@clisp.org>
51895         wctob: Move AC_LIBOBJ invocations to module description.
51896         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
51897         gl_PREREQ_WCTOB invocations from here...
51898         * modules/wctob (configure.ac): ... to here.
51899         (Depends-on): Update conditions.
51901 2011-05-22  Bruno Haible  <bruno@clisp.org>
51903         wcsxfrm: Move AC_LIBOBJ invocations to module description.
51904         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
51905         here...
51906         * modules/wcsxfrm (configure.ac): ... to here.
51908 2011-05-22  Bruno Haible  <bruno@clisp.org>
51910         wcstok: Move AC_LIBOBJ invocations to module description.
51911         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
51912         * modules/wcstok (configure.ac): ... to here.
51914 2011-05-22  Bruno Haible  <bruno@clisp.org>
51916         wcsstr: Move AC_LIBOBJ invocations to module description.
51917         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
51918         * modules/wcsstr (configure.ac): ... to here.
51920 2011-05-22  Bruno Haible  <bruno@clisp.org>
51922         wcsspn: Move AC_LIBOBJ invocations to module description.
51923         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
51924         * modules/wcsspn (configure.ac): ... to here.
51926 2011-05-22  Bruno Haible  <bruno@clisp.org>
51928         wcsrtombs: Move AC_LIBOBJ invocations to module description.
51929         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
51930         gl_PREREQ_WCSRTOMBS invocations from here...
51931         * modules/wcsrtombs (configure.ac): ... to here.
51933 2011-05-22  Bruno Haible  <bruno@clisp.org>
51935         wcsrchr: Move AC_LIBOBJ invocations to module description.
51936         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
51937         here...
51938         * modules/wcsrchr (configure.ac): ... to here.
51940 2011-05-22  Bruno Haible  <bruno@clisp.org>
51942         wcspbrk: Move AC_LIBOBJ invocations to module description.
51943         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
51944         here...
51945         * modules/wcspbrk (configure.ac): ... to here.
51947 2011-05-22  Bruno Haible  <bruno@clisp.org>
51949         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
51950         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
51951         gl_PREREQ_WCSNRTOMBS invocations from here...
51952         * modules/wcsnrtombs (configure.ac): ... to here.
51954 2011-05-22  Bruno Haible  <bruno@clisp.org>
51956         wcsnlen: Move AC_LIBOBJ invocations to module description.
51957         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
51958         here...
51959         * modules/wcsnlen (configure.ac): ... to here.
51961 2011-05-22  Bruno Haible  <bruno@clisp.org>
51963         wcsncpy: Move AC_LIBOBJ invocations to module description.
51964         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
51965         here...
51966         * modules/wcsncpy (configure.ac): ... to here.
51968 2011-05-22  Bruno Haible  <bruno@clisp.org>
51970         wcsncmp: Move AC_LIBOBJ invocations to module description.
51971         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
51972         here...
51973         * modules/wcsncmp (configure.ac): ... to here.
51975 2011-05-22  Bruno Haible  <bruno@clisp.org>
51977         wcsncat: Move AC_LIBOBJ invocations to module description.
51978         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
51979         here...
51980         * modules/wcsncat (configure.ac): ... to here.
51982 2011-05-22  Bruno Haible  <bruno@clisp.org>
51984         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
51985         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
51986         from here...
51987         * modules/wcsncasecmp (configure.ac): ... to here.
51989 2011-05-22  Bruno Haible  <bruno@clisp.org>
51991         wcslen: Move AC_LIBOBJ invocations to module description.
51992         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
51993         * modules/wcslen (configure.ac): ... to here.
51995 2011-05-22  Bruno Haible  <bruno@clisp.org>
51997         wcsdup: Move AC_LIBOBJ invocations to module description.
51998         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
51999         * modules/wcsdup (configure.ac): ... to here.
52001 2011-05-22  Bruno Haible  <bruno@clisp.org>
52003         wcscspn: Move AC_LIBOBJ invocations to module description.
52004         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
52005         here...
52006         * modules/wcscspn (configure.ac): ... to here.
52008 2011-05-22  Bruno Haible  <bruno@clisp.org>
52010         wcscpy: Move AC_LIBOBJ invocations to module description.
52011         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
52012         * modules/wcscpy (configure.ac): ... to here.
52014 2011-05-22  Bruno Haible  <bruno@clisp.org>
52016         wcscoll: Move AC_LIBOBJ invocations to module description.
52017         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
52018         here...
52019         * modules/wcscoll (configure.ac): ... to here.
52021 2011-05-22  Bruno Haible  <bruno@clisp.org>
52023         wcscmp: Move AC_LIBOBJ invocations to module description.
52024         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
52025         * modules/wcscmp (configure.ac): ... to here.
52027 2011-05-22  Bruno Haible  <bruno@clisp.org>
52029         wcschr: Move AC_LIBOBJ invocations to module description.
52030         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
52031         * modules/wcschr (configure.ac): ... to here.
52033 2011-05-22  Bruno Haible  <bruno@clisp.org>
52035         wcscat: Move AC_LIBOBJ invocations to module description.
52036         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
52037         * modules/wcscat (configure.ac): ... to here.
52039 2011-05-22  Bruno Haible  <bruno@clisp.org>
52041         wcscasecmp: Move AC_LIBOBJ invocations to module description.
52042         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
52043         here...
52044         * modules/wcscasecmp (configure.ac): ... to here.
52046 2011-05-22  Bruno Haible  <bruno@clisp.org>
52048         wcrtomb: Move AC_LIBOBJ invocations to module description.
52049         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
52050         invocations from here...
52051         * modules/wcrtomb (configure.ac): ... to here.
52053 2011-05-22  Bruno Haible  <bruno@clisp.org>
52055         wcpncpy: Move AC_LIBOBJ invocations to module description.
52056         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
52057         here...
52058         * modules/wcpncpy (configure.ac): ... to here.
52060 2011-05-22  Bruno Haible  <bruno@clisp.org>
52062         wcpcpy: Move AC_LIBOBJ invocations to module description.
52063         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
52064         * modules/wcpcpy (configure.ac): ... to here.
52066 2011-05-22  Bruno Haible  <bruno@clisp.org>
52068         waitpid: Move AC_LIBOBJ invocations to module description.
52069         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
52070         invocation from here...
52071         * modules/waitpid (configure.ac): ... to here.
52073 2011-05-22  Bruno Haible  <bruno@clisp.org>
52075         utimensat: Move AC_LIBOBJ invocations to module description.
52076         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
52077         here...
52078         * modules/utimensat (configure.ac): ... to here.
52080 2011-05-22  Bruno Haible  <bruno@clisp.org>
52082         usleep: Move AC_LIBOBJ invocations to module description.
52083         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
52084         here...
52085         * modules/usleep (configure.ac): ... to here.
52087 2011-05-22  Bruno Haible  <bruno@clisp.org>
52089         unlockpt: Move AC_LIBOBJ invocations to module description.
52090         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
52091         gl_PREREQ_UNLOCKPT invocations from here...
52092         * modules/unlockpt (configure.ac): ... to here.
52094 2011-05-22  Bruno Haible  <bruno@clisp.org>
52096         unlink: Respect rules for use of AC_LIBOBJ.
52097         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
52098         * modules/unlink (configure.ac): ... to here.
52100 2011-05-22  Bruno Haible  <bruno@clisp.org>
52102         uname: Move AC_LIBOBJ invocations to module description.
52103         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
52104         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
52105         here...
52106         * modules/uname (configure.ac): ... to here.
52108 2011-05-22  Bruno Haible  <bruno@clisp.org>
52110         ttyname_r: Move AC_LIBOBJ invocations to module description.
52111         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
52112         gl_PREREQ_TTYNAME_R invocations from here...
52113         * modules/ttyname_r (configure.ac): ... to here.
52115 2011-05-22  Bruno Haible  <bruno@clisp.org>
52117         tsearch: Move AC_LIBOBJ invocations to module description.
52118         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
52119         invocations from here...
52120         * modules/tsearch (configure.ac): ... to here.
52122 2011-05-22  Bruno Haible  <bruno@clisp.org>
52124         towctrans: Move AC_LIBOBJ invocations to module description.
52125         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
52126         AC_LIBOBJ invocation from here...
52127         * modules/towctrans (configure.ac): ... to here.
52129 2011-05-22  Bruno Haible  <bruno@clisp.org>
52131         tmpfile: Move AC_LIBOBJ invocations to module description.
52132         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
52133         invocations from here...
52134         * modules/tmpfile (configure.ac): ... to here.
52136 2011-05-22  Bruno Haible  <bruno@clisp.org>
52138         times: Move AC_LIBOBJ invocations to module description.
52139         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
52140         * modules/times (configure.ac): ... to here.
52142 2011-05-22  Bruno Haible  <bruno@clisp.org>
52144         time_r: Move AC_LIBOBJ invocations to module description.
52145         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
52146         invocations from here...
52147         * modules/time_r (configure.ac): ... to here.
52149 2011-05-22  Bruno Haible  <bruno@clisp.org>
52151         timegm: Move AC_LIBOBJ invocations to module description.
52152         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
52153         invocations from here...
52154         * modules/timegm (configure.ac): ... to here.
52156 2011-05-22  Bruno Haible  <bruno@clisp.org>
52158         tcgetsid: Move AC_LIBOBJ invocations to module description.
52159         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
52160         and gl_PREREQ_TCGETSID invocations from here...
52161         * modules/tcgetsid (configure.ac): ... to here.
52162         (Depends-on): Update conditions.
52164 2011-05-22  Bruno Haible  <bruno@clisp.org>
52166         symlinkat: Move AC_LIBOBJ invocations to module description.
52167         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
52168         here...
52169         * modules/symlinkat (configure.ac): ... to here.
52171 2011-05-22  Bruno Haible  <bruno@clisp.org>
52173         symlink: Move AC_LIBOBJ invocations to module description.
52174         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
52175         here...
52176         * modules/symlink (configure.ac): ... to here.
52178 2011-05-22  Bruno Haible  <bruno@clisp.org>
52180         strverscmp: Move AC_LIBOBJ invocations to module description.
52181         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
52182         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
52183         from here...
52184         * modules/strverscmp (configure.ac): ... to here.
52186 2011-05-22  Bruno Haible  <bruno@clisp.org>
52188         strtok_r: Move AC_LIBOBJ invocations to module description.
52189         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
52190         and gl_PREREQ_STRTOK_R invocations from here...
52191         * modules/strtok_r (configure.ac): ... to here.
52192         (Depends-on): Update conditions.
52194 2011-05-22  Bruno Haible  <bruno@clisp.org>
52196         strtoumax: Move AC_LIBOBJ invocations to module description.
52197         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
52198         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
52199         from here...
52200         * modules/strtoumax (configure.ac): ... to here.
52202 2011-05-22  Bruno Haible  <bruno@clisp.org>
52204         strtoimax: Move AC_LIBOBJ invocations to module description.
52205         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
52206         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
52207         from here...
52208         * modules/strtoimax (configure.ac): ... to here.
52210 2011-05-22  Bruno Haible  <bruno@clisp.org>
52212         strtoull: Move AC_LIBOBJ invocations to module description.
52213         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
52214         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
52215         from here...
52216         * modules/strtoull (configure.ac): ... to here.
52218 2011-05-22  Bruno Haible  <bruno@clisp.org>
52220         strtoll: Move AC_LIBOBJ invocations to module description.
52221         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
52222         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
52223         here...
52224         * modules/strtoll (configure.ac): ... to here.
52226 2011-05-22  Bruno Haible  <bruno@clisp.org>
52228         strtoul: Move AC_LIBOBJ invocations to module description.
52229         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
52230         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52231         * modules/strtoul (configure.ac): ... to here.
52233 2011-05-22  Bruno Haible  <bruno@clisp.org>
52235         strtol: Move AC_LIBOBJ invocations to module description.
52236         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
52237         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52238         * modules/strtol (configure.ac): ... to here.
52240 2011-05-22  Bruno Haible  <bruno@clisp.org>
52242         strtod: Move AC_LIBOBJ invocations to module description.
52243         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
52244         invocations from here...
52245         * modules/strtod (configure.ac): ... to here.
52247 2011-05-22  Bruno Haible  <bruno@clisp.org>
52249         strstr*: Move AC_LIBOBJ invocations to module description.
52250         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
52251         invocations from here...
52252         * modules/strstr-simple (configure.ac): ... to here.
52253         * modules/strstr (configure.ac): ... and here.
52255 2011-05-22  Bruno Haible  <bruno@clisp.org>
52257         strsignal: Move AC_LIBOBJ invocations to module description.
52258         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
52259         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
52260         * modules/strsignal (configure.ac): ... to here.
52261         (Depends-on): Update conditions.
52263 2011-05-22  Bruno Haible  <bruno@clisp.org>
52265         strsep: Move AC_LIBOBJ invocations to module description.
52266         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
52267         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
52268         here...
52269         * modules/strsep (configure.ac): ... to here.
52271 2011-05-22  Bruno Haible  <bruno@clisp.org>
52273         strptime: Move AC_LIBOBJ invocations to module description.
52274         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
52275         gl_PREREQ_STRPTIME invocations from here...
52276         * modules/strptime (configure.ac): ... to here.
52278 2011-05-22  Bruno Haible  <bruno@clisp.org>
52280         strpbrk: Move AC_LIBOBJ invocations to module description.
52281         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
52282         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
52283         here...
52284         * modules/strpbrk (configure.ac): ... to here.
52286 2011-05-22  Bruno Haible  <bruno@clisp.org>
52288         strnlen: Move AC_LIBOBJ invocations to module description.
52289         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
52290         invocations from here...
52291         * modules/strnlen (configure.ac): ... to here.
52293 2011-05-22  Bruno Haible  <bruno@clisp.org>
52295         strndup: Move AC_LIBOBJ invocations to module description.
52296         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
52297         invocations from here...
52298         * modules/strndup (configure.ac): ... to here.
52299         (Depends-on): Update conditions.
52301 2011-05-22  Bruno Haible  <bruno@clisp.org>
52303         strncat: Move AC_LIBOBJ invocations to module description.
52304         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
52305         invocations from here...
52306         * modules/strncat (configure.ac): ... to here.
52308 2011-05-22  Bruno Haible  <bruno@clisp.org>
52310         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
52311         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
52312         invocations from here...
52313         * modules/strdup (configure.ac): ... to here.
52314         * modules/strdup-posix (configure.ac): ... and here.
52316 2011-05-22  Bruno Haible  <bruno@clisp.org>
52318         strcspn: Move AC_LIBOBJ invocations to module description.
52319         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
52320         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
52321         here...
52322         * modules/strcspn (configure.ac): ... to here.
52324 2011-05-22  Bruno Haible  <bruno@clisp.org>
52326         strchrnul: Move AC_LIBOBJ invocations to module description.
52327         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
52328         gl_PREREQ_STRCHRNUL invocations from here...
52329         * modules/strchrnul (configure.ac): ... to here.
52331 2011-05-22  Bruno Haible  <bruno@clisp.org>
52333         strcasestr*: Move AC_LIBOBJ invocations to module description.
52334         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
52335         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
52336         * modules/strcasestr-simple (configure.ac): ... to here.
52337         * modules/strcasestr (configure.ac): ... and here.
52339 2011-05-22  Bruno Haible  <bruno@clisp.org>
52341         strcase: Move AC_LIBOBJ invocations to module description.
52342         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
52343         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
52344         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
52345         gl_PREREQ_STRNCASECMP invocations from here...
52346         * modules/strcase (configure.ac): ... to here.
52348 2011-05-22  Bruno Haible  <bruno@clisp.org>
52350         stpncpy: Move AC_LIBOBJ invocations to module description.
52351         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
52352         here...
52353         * modules/stpncpy (configure.ac): ... to here.
52355 2011-05-22  Bruno Haible  <bruno@clisp.org>
52357         stpcpy: Move AC_LIBOBJ invocations to module description.
52358         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
52359         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
52360         here...
52361         * modules/stpcpy (configure.ac): ... to here.
52363 2011-05-21  Bruno Haible  <bruno@clisp.org>
52365         stat: Move AC_LIBOBJ invocations to module description.
52366         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
52367         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
52368         here...
52369         * modules/stat (configure.ac): ... to here.
52371 2011-05-21  Bruno Haible  <bruno@clisp.org>
52373         sleep: Move AC_LIBOBJ invocations to module description.
52374         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
52375         * modules/sleep (configure.ac): ... to here.
52377 2011-05-21  Bruno Haible  <bruno@clisp.org>
52379         signbit: Move AC_LIBOBJ invocations to module description.
52380         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
52381         * modules/signbit (configure.ac): ... to here.
52383 2011-05-21  Bruno Haible  <bruno@clisp.org>
52385         sigprocmask: Move AC_LIBOBJ invocations to module description.
52386         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
52387         gl_PREREQ_SIGPROMASK invocations from here...
52388         * modules/sigprocmask (configure.ac): ... to here.
52390 2011-05-21  Bruno Haible  <bruno@clisp.org>
52392         sigaction: Move AC_LIBOBJ invocations to module description.
52393         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
52394         gl_PREREQ_SIGACTION invocations from here...
52395         * modules/sigaction (configure.ac): ... to here.
52397 2011-05-21  Bruno Haible  <bruno@clisp.org>
52399         sig2str: Move AC_LIBOBJ invocations to module description.
52400         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
52401         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
52402         here...
52403         * modules/sig2str (configure.ac): ... to here.
52405 2011-05-21  Bruno Haible  <bruno@clisp.org>
52407         setlocale: Move AC_LIBOBJ invocations to module description.
52408         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
52409         gl_PREREQ_SETLOCALE invocations from here...
52410         * modules/setlocale (configure.ac): ... to here.
52412 2011-05-21  Bruno Haible  <bruno@clisp.org>
52414         unsetenv: Move AC_LIBOBJ invocations to module description.
52415         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
52416         and gl_PREREQ_UNSETENV invocations from here...
52417         * modules/unsetenv (configure.ac): ... to here.
52418         (Depends-on): Update.
52420 2011-05-21  Bruno Haible  <bruno@clisp.org>
52422         setenv: Move AC_LIBOBJ invocations to module description.
52423         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
52424         here...
52425         * modules/setenv (configure.ac): ... to here.
52427 2011-05-21  Bruno Haible  <bruno@clisp.org>
52429         selinux-h: Move AC_LIBOBJ invocations to module description.
52430         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
52431         AC_LIBOBJ invocation from here...
52432         * modules/selinux-h (configure.ac): ... to here.
52434 2011-05-21  Bruno Haible  <bruno@clisp.org>
52436         select: Respect rules for use of AC_LIBOBJ.
52437         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
52438         here...
52439         * modules/select (configure.ac): ... to here.
52441 2011-05-21  Bruno Haible  <bruno@clisp.org>
52443         scandir: Move AC_LIBOBJ invocations to module description.
52444         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
52445         invocations from here...
52446         * modules/scandir (configure.ac): ... to here.
52448 2011-05-21  Bruno Haible  <bruno@clisp.org>
52450         rpmatch: Move AC_LIBOBJ invocations to module description.
52451         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
52452         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
52453         here...
52454         * modules/rpmatch (configure.ac): ... to here.
52456 2011-05-21  Bruno Haible  <bruno@clisp.org>
52458         rmdir: Respect rules for use of AC_LIBOBJ.
52459         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
52460         * modules/rmdir (configure.ac): ... to here.
52462 2011-05-21  Bruno Haible  <bruno@clisp.org>
52464         renameat: Move AC_LIBOBJ invocations to module description.
52465         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
52466         here...
52467         * modules/renameat (configure.ac): ... to here.
52469 2011-05-21  Bruno Haible  <bruno@clisp.org>
52471         rename: Respect rules for use of AC_LIBOBJ.
52472         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
52473         here...
52474         * modules/rename (configure.ac): ... to here.
52476 2011-05-21  Bruno Haible  <bruno@clisp.org>
52478         remove: Move AC_LIBOBJ invocations to module description.
52479         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
52480         here...
52481         * modules/remove (configure.ac): ... to here.
52483 2011-05-21  Bruno Haible  <bruno@clisp.org>
52485         relocatable-lib: Move AC_LIBOBJ invocations to module description.
52486         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
52487         macro.
52488         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
52489         * modules/relocatable-lib (configure.ac): ... to here.
52490         * modules/relocatable-prog-wrapper (configure.ac): Invoke
52491         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
52493 2011-05-21  Bruno Haible  <bruno@clisp.org>
52495         relocatable-prog: Move AC_LIBOBJ invocations to module description.
52496         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
52497         here...
52498         * modules/relocatable-prog (configure.ac): ... to here.
52500 2011-05-21  Bruno Haible  <bruno@clisp.org>
52502         regex: Move AC_LIBOBJ invocations to module description.
52503         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
52504         invocations from here...
52505         * modules/regex (configure.ac): ... to here.
52507 2011-05-21  Bruno Haible  <bruno@clisp.org>
52509         realloc-*: Move AC_LIBOBJ invocations to module description.
52510         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
52511         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
52512         AC_LIBOBJ invocations from here...
52513         * modules/realloc-gnu (configure.ac): ... to here.
52514         * modules/realloc-posix (configure.ac): ... and here.
52516 2011-05-21  Bruno Haible  <bruno@clisp.org>
52518         readutmp: Move AC_LIBOBJ invocations to module description.
52519         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
52520         * modules/readutmp (configure.ac): ... to here.
52522 2011-05-21  Bruno Haible  <bruno@clisp.org>
52524         readlinkat: Move AC_LIBOBJ invocations to module description.
52525         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
52526         here...
52527         * modules/readlinkat (configure.ac): ... to here.
52529 2011-05-21  Bruno Haible  <bruno@clisp.org>
52531         readlink: Move AC_LIBOBJ invocations to module description.
52532         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
52533         gl_PREREQ_READLINK invocations from here...
52534         * modules/readlink (configure.ac): ... to here.
52536 2011-05-21  Bruno Haible  <bruno@clisp.org>
52538         readline: Move AC_LIBOBJ invocations to module description.
52539         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
52540         gl_PREREQ_READLINE invocations from here...
52541         * modules/readline (configure.ac): ... to here.
52543 2011-05-21  Bruno Haible  <bruno@clisp.org>
52545         read: Move AC_LIBOBJ invocations to module description.
52546         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
52547         * modules/read (configure.ac): ... to here.
52549 2011-05-21  Bruno Haible  <bruno@clisp.org>
52551         rawmemchr: Move AC_LIBOBJ invocations to module description.
52552         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
52553         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
52554         from here...
52555         * modules/rawmemchr (configure.ac): ... to here.
52557 2011-05-21  Bruno Haible  <bruno@clisp.org>
52559         random_r: Move AC_LIBOBJ invocations to module description.
52560         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
52561         gl_PREREQ_RANDOM_R invocations from here...
52562         * modules/random_r (configure.ac): ... to here.
52564 2011-05-21  Bruno Haible  <bruno@clisp.org>
52566         pwrite: Move AC_LIBOBJ invocations to module description.
52567         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
52568         * modules/pwrite (configure.ac): ... to here.
52570 2011-05-21  Bruno Haible  <bruno@clisp.org>
52572         putenv: Move AC_LIBOBJ invocations to module description.
52573         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
52574         * modules/putenv (configure.ac): ... to here.
52576 2011-05-21  Bruno Haible  <bruno@clisp.org>
52578         login_tty: Move AC_LIBOBJ invocations to module description.
52579         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
52580         * modules/login_tty (configure.ac): ... to here.
52582 2011-05-21  Bruno Haible  <bruno@clisp.org>
52584         openpty: Move AC_LIBOBJ invocations to module description.
52585         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
52586         * modules/openpty (configure.ac): ... to here.
52588 2011-05-21  Bruno Haible  <bruno@clisp.org>
52590         forkpty: Move AC_LIBOBJ invocations to module description.
52591         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
52592         * modules/forkpty (configure.ac): ... to here.
52594 2011-05-21  Bruno Haible  <bruno@clisp.org>
52596         ptsname: Move AC_LIBOBJ invocations to module description.
52597         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
52598         invocations from here...
52599         * modules/ptsname (configure.ac): ... to here.
52601 2011-05-21  Bruno Haible  <bruno@clisp.org>
52603         pread: Move AC_LIBOBJ invocations to module description.
52604         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
52605         * modules/pread (configure.ac): ... to here.
52607 2011-05-21  Bruno Haible  <bruno@clisp.org>
52609         posix_spawn*: Move AC_LIBOBJ invocations to module description.
52610         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
52611         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
52612         * modules/posix_spawn (configure.ac): ... to here.
52613         * modules/posix_spawnp (configure.ac): ... and here.
52615 2011-05-21  Bruno Haible  <bruno@clisp.org>
52617         popen: Move AC_LIBOBJ invocations to module description.
52618         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
52619         invocations from here...
52620         * modules/popen (configure.ac): ... to here.
52622 2011-05-21  Bruno Haible  <bruno@clisp.org>
52624         poll: Move AC_LIBOBJ invocations to module description.
52625         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
52626         invocations from here...
52627         * modules/poll (configure.ac): ... to here.
52629 2011-05-21  Bruno Haible  <bruno@clisp.org>
52631         pipe-posix: Move AC_LIBOBJ invocations to module description.
52632         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
52633         * modules/pipe-posix (configure.ac): ... to here.
52635 2011-05-21  Bruno Haible  <bruno@clisp.org>
52637         openat: Respect rules for use of AC_LIBOBJ.
52638         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
52639         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
52640         * modules/openat (configure.ac): ... to here.
52642 2011-05-21  Bruno Haible  <bruno@clisp.org>
52644         obstack-printf*: Move AC_LIBOBJ invocations to module description.
52645         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
52646         invocation from here...
52647         * modules/obstack-printf (configure.ac): ... to here.
52648         * modules/obstack-printf-posix (configure.ac): ... and here.
52650 2011-05-21  Bruno Haible  <bruno@clisp.org>
52652         nl_langinfo: Move AC_LIBOBJ invocations to module description.
52653         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
52654         from here...
52655         * modules/nl_langinfo (configure.ac): ... to here.
52657 2011-05-21  Bruno Haible  <bruno@clisp.org>
52659         nanosleep: Move AC_LIBOBJ invocations to module description.
52660         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
52661         gl_PREREQ_NANOSLEEP invocations from here...
52662         * modules/nanosleep (configure.ac): ... to here.
52664 2011-05-21  Bruno Haible  <bruno@clisp.org>
52666         mountlist: Move AC_LIBOBJ invocations to module description.
52667         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
52668         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
52669         * modules/mountlist (configure.ac): ... to here.
52671 2011-05-21  Bruno Haible  <bruno@clisp.org>
52673         mktime: Respect rules for use of AC_LIBOBJ.
52674         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
52675         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
52676         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
52677         (gl_FUNC_MKTIME_INTERNAL): ... and here...
52678         * modules/mktime (configure.ac): ... to here.
52679         * modules/mktime-internal (configure.ac): ... and here.
52680         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
52682 2011-05-21  Bruno Haible  <bruno@clisp.org>
52684         mkstemps: Move AC_LIBOBJ invocations to module description.
52685         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
52686         here...
52687         * modules/mkstemps (configure.ac): ... to here.
52689 2011-05-21  Bruno Haible  <bruno@clisp.org>
52691         mkstemp: Move AC_LIBOBJ invocations to module description.
52692         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
52693         gl_PREREQ_MKSTEMP invocations from here...
52694         * modules/mkstemp (configure.ac): ... to here.
52696 2011-05-21  Bruno Haible  <bruno@clisp.org>
52698         mkostemps: Move AC_LIBOBJ invocations to module description.
52699         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
52700         here...
52701         * modules/mkostemps (configure.ac): ... to here.
52703 2011-05-21  Bruno Haible  <bruno@clisp.org>
52705         mkostemp: Move AC_LIBOBJ invocations to module description.
52706         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
52707         gl_PREREQ_MKOSTEMP invocations from here...
52708         * modules/mkostemp (configure.ac): ... to here.
52710 2011-05-21  Bruno Haible  <bruno@clisp.org>
52712         mknod: Move AC_LIBOBJ invocations to module description.
52713         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
52714         * modules/mknod (configure.ac): ... to here.
52716 2011-05-21  Bruno Haible  <bruno@clisp.org>
52718         mkfifoat: Move AC_LIBOBJ invocations to module description.
52719         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
52720         here...
52721         * modules/mkfifoat (configure.ac): ... to here.
52723 2011-05-21  Bruno Haible  <bruno@clisp.org>
52725         mkfifo: Respect rules for use of AC_LIBOBJ.
52726         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
52727         here...
52728         * modules/mkfifo (configure.ac): ... to here.
52730 2011-05-21  Bruno Haible  <bruno@clisp.org>
52732         mkdtemp: Move AC_LIBOBJ invocations to module description.
52733         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
52734         invocations from here...
52735         * modules/mkdtemp (configure.ac): ... to here.
52737 2011-05-21  Bruno Haible  <bruno@clisp.org>
52739         mkdir: Move AC_LIBOBJ invocations to module description.
52740         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
52741         * modules/mkdir (configure.ac): ... to here.
52743 2011-05-21  Bruno Haible  <bruno@clisp.org>
52745         memset: Move AC_LIBOBJ invocations to module description.
52746         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
52747         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
52748         here...
52749         * modules/memset (configure.ac): ... to here.
52751 2011-05-21  Bruno Haible  <bruno@clisp.org>
52753         memrchr: Move AC_LIBOBJ invocations to module description.
52754         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
52755         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
52756         here...
52757         * modules/memrchr (configure.ac): ... to here.
52759 2011-05-21  Bruno Haible  <bruno@clisp.org>
52761         mempcpy: Move AC_LIBOBJ invocations to module description.
52762         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
52763         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
52764         here...
52765         * modules/mempcpy (configure.ac): ... to here.
52767 2011-05-21  Bruno Haible  <bruno@clisp.org>
52769         memmove: Move AC_LIBOBJ invocations to module description.
52770         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
52771         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
52772         here...
52773         * modules/memmove (configure.ac): ... to here.
52775 2011-05-21  Bruno Haible  <bruno@clisp.org>
52777         memmem*: Move AC_LIBOBJ invocations to module description.
52778         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
52779         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
52780         here...
52781         (gl_FUNC_MEMMEM): ... and here...
52782         * modules/memmem-simple (configure.ac): ... to here.
52783         * modules/memmem (configure.ac): ... and here.
52785 2011-05-21  Bruno Haible  <bruno@clisp.org>
52787         memcpy: Move AC_LIBOBJ invocations to module description.
52788         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
52789         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
52790         here...
52791         * modules/memcpy (configure.ac): ... to here.
52793 2011-05-21  Bruno Haible  <bruno@clisp.org>
52795         memcmp: Simplify autoconf macro.
52796         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
52797         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
52798         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
52800 2011-05-21  Bruno Haible  <bruno@clisp.org>
52802         memcmp: Move AC_LIBOBJ invocations to module description.
52803         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
52804         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
52805         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
52806         * modules/memcmp (configure.ac): ... to here.
52807         (Depends-on): Update conditions.
52809 2011-05-21  Bruno Haible  <bruno@clisp.org>
52811         memchr: Respect rules for use of AC_LIBOBJ.
52812         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
52813         invocations from here...
52814         * modules/memchr (configure.ac): ... to here.
52816 2011-05-21  Bruno Haible  <bruno@clisp.org>
52818         mbtowc: Move AC_LIBOBJ invocations to module description.
52819         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
52820         invocations from here...
52821         * modules/mbtowc (configure.ac): ... to here.
52823 2011-05-21  Bruno Haible  <bruno@clisp.org>
52825         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
52826         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
52827         gl_PREREQ_MBSRTOWCS invocations from here...
52828         * modules/mbsrtowcs (configure.ac): ... to here.
52830 2011-05-21  Bruno Haible  <bruno@clisp.org>
52832         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
52833         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
52834         gl_PREREQ_MBSNRTOWCS invocations from here...
52835         * modules/mbsnrtowcs (configure.ac): ... to here.
52837 2011-05-21  Bruno Haible  <bruno@clisp.org>
52839         mbsinit: Move AC_LIBOBJ invocations to module description.
52840         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
52841         invocations from here...
52842         * modules/mbsinit (configure.ac): ... to here.
52844 2011-05-21  Bruno Haible  <bruno@clisp.org>
52846         mbrlen: Move AC_LIBOBJ invocations to module description.
52847         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
52848         invocations from here...
52849         * modules/mbrlen (configure.ac): ... to here.
52851 2011-05-21  Bruno Haible  <bruno@clisp.org>
52853         mbrtowc: Respect rules for use of AC_LIBOBJ.
52854         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
52855         invocations from here...
52856         * modules/mbrtowc (configure.ac): ... to here.
52858 2011-05-21  Bruno Haible  <bruno@clisp.org>
52860         malloc-*: Move AC_LIBOBJ invocations to module description.
52861         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
52862         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
52863         AC_LIBOBJ invocations from here...
52864         * modules/malloc-gnu (configure.ac): ... to here.
52865         * modules/malloc-posix (configure.ac): ... and here.
52867 2011-05-21  Bruno Haible  <bruno@clisp.org>
52869         lstat, openat: Respect rules for use of AC_LIBOBJ.
52870         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
52871         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
52872         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
52873         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
52874         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
52875         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
52876         here.
52877         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
52879 2011-05-21  Bruno Haible  <bruno@clisp.org>
52881         lseek: Move AC_LIBOBJ invocations to module description.
52882         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
52883         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
52884         * modules/lseek (configure.ac): ... to here.
52886 2011-05-21  Bruno Haible  <bruno@clisp.org>
52888         linkat: Move AC_LIBOBJ invocations to module description.
52889         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
52890         here...
52891         * modules/linkat (configure.ac): ... to here.
52893 2011-05-21  Bruno Haible  <bruno@clisp.org>
52895         link: Respect rules for use of AC_LIBOBJ.
52896         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
52897         * modules/link (configure.ac): ... to here.
52899 2011-05-21  Bruno Haible  <bruno@clisp.org>
52901         lchown: Move AC_LIBOBJ invocations to module description.
52902         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
52903         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
52904         * modules/lchown (configure.ac): ... to here.
52906 2011-05-21  Bruno Haible  <bruno@clisp.org>
52908         iswctype: Move AC_LIBOBJ invocations to module description.
52909         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
52910         here...
52911         * modules/iswctype (configure.ac): ... to here.
52913 2011-05-21  Bruno Haible  <bruno@clisp.org>
52915         iswblank: Move AC_LIBOBJ invocations to module description.
52916         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
52917         here...
52918         * modules/iswblank (configure.ac): ... to here.
52920 2011-05-21  Bruno Haible  <bruno@clisp.org>
52922         atanl: Move AC_LIBOBJ invocations to module description.
52923         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
52924         * modules/atanl (configure.ac): ... to here.
52926 2011-05-21  Bruno Haible  <bruno@clisp.org>
52928         acosl: Move AC_LIBOBJ invocations to module description.
52929         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
52930         * modules/acosl (configure.ac): ... to here.
52932 2011-05-21  Bruno Haible  <bruno@clisp.org>
52934         asinl: Respect rules for use of AC_LIBOBJ.
52935         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
52936         * modules/asinl (configure.ac): ... to here.
52938 2011-05-21  Bruno Haible  <bruno@clisp.org>
52940         tanl: Move AC_LIBOBJ invocations to module description.
52941         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
52942         * modules/tanl (configure.ac): ... to here.
52944 2011-05-21  Bruno Haible  <bruno@clisp.org>
52946         cosl: Move AC_LIBOBJ invocations to module description.
52947         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
52948         * modules/cosl (configure.ac): ... to here.
52950 2011-05-21  Bruno Haible  <bruno@clisp.org>
52952         sinl: Move AC_LIBOBJ invocations to module description.
52953         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
52954         * modules/sinl (configure.ac): ... to here.
52956 2011-05-21  Bruno Haible  <bruno@clisp.org>
52958         logl: Move AC_LIBOBJ invocations to module description.
52959         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
52960         * modules/logl (configure.ac): ... to here.
52962 2011-05-21  Bruno Haible  <bruno@clisp.org>
52964         expl: Move AC_LIBOBJ invocations to module description.
52965         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
52966         * modules/expl (configure.ac): ... to here.
52968 2011-05-21  Bruno Haible  <bruno@clisp.org>
52970         roundl: Move AC_LIBOBJ invocations to module description.
52971         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
52972         * modules/roundl (configure.ac): ... to here.
52974 2011-05-21  Bruno Haible  <bruno@clisp.org>
52976         round: Move AC_LIBOBJ invocations to module description.
52977         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
52978         * modules/round (configure.ac): ... to here.
52980 2011-05-21  Bruno Haible  <bruno@clisp.org>
52982         roundf: Move AC_LIBOBJ invocations to module description.
52983         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
52984         * modules/roundf (configure.ac): ... to here.
52986 2011-05-21  Bruno Haible  <bruno@clisp.org>
52988         truncl: Move AC_LIBOBJ invocations to module description.
52989         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
52990         * modules/truncl (configure.ac): ... to here.
52992 2011-05-21  Bruno Haible  <bruno@clisp.org>
52994         trunc: Move AC_LIBOBJ invocations to module description.
52995         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
52996         * modules/trunc (configure.ac): ... to here.
52998 2011-05-21  Bruno Haible  <bruno@clisp.org>
53000         truncf: Move AC_LIBOBJ invocations to module description.
53001         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
53002         * modules/truncf (configure.ac): ... to here.
53004 2011-05-21  Bruno Haible  <bruno@clisp.org>
53006         ceill: Move AC_LIBOBJ invocations to module description.
53007         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
53008         * modules/ceill (configure.ac): ... to here.
53010 2011-05-21  Bruno Haible  <bruno@clisp.org>
53012         ceil: Move AC_LIBOBJ invocations to module description.
53013         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
53014         * modules/ceil (configure.ac): ... to here.
53016 2011-05-21  Bruno Haible  <bruno@clisp.org>
53018         ceilf: Move AC_LIBOBJ invocations to module description.
53019         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
53020         * modules/ceilf (configure.ac): ... to here.
53022 2011-05-21  Bruno Haible  <bruno@clisp.org>
53024         floorl: Respect rules for use of AC_LIBOBJ.
53025         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
53026         * modules/floorl (configure.ac): ... to here.
53028 2011-05-21  Bruno Haible  <bruno@clisp.org>
53030         floor: Respect rules for use of AC_LIBOBJ.
53031         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
53032         * modules/floor (configure.ac): ... to here.
53034 2011-05-21  Bruno Haible  <bruno@clisp.org>
53036         floorf: Move AC_LIBOBJ invocations to module description.
53037         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
53038         * modules/floorf (configure.ac): ... to here.
53040 2011-05-20  Bruno Haible  <bruno@clisp.org>
53042         sqrtl: Respect rules for use of AC_LIBOBJ.
53043         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
53044         * modules/sqrtl (configure.ac): ... to here.
53046 2011-05-20  Bruno Haible  <bruno@clisp.org>
53048         ldexpl: Respect rules for use of AC_LIBOBJ.
53049         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
53050         * modules/ldexpl (configure.ac): ... to here.
53052 2011-05-20  Bruno Haible  <bruno@clisp.org>
53054         frexpl*: Respect rules for use of AC_LIBOBJ.
53055         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
53056         invocation from here...
53057         * modules/frexpl (configure.ac): ... to here.
53058         * modules/frexpl-nolibm (configure.ac): ... and here.
53060 2011-05-20  Bruno Haible  <bruno@clisp.org>
53062         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
53063         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
53064         invocation from here...
53065         * modules/frexp (configure.ac): ... to here.
53066         * modules/frexp-nolibm (configure.ac): ... and here.
53068 2011-05-20  Bruno Haible  <bruno@clisp.org>
53070         isnan: Respect rules for use of AC_LIBOBJ.
53071         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
53072         invocations here.
53073         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
53074         REPLACE_ISNAN.
53075         * modules/isnand (configure.ac): Likewise.
53076         * modules/isnanl (configure.ac): Likewise.
53078 2011-05-20  Bruno Haible  <bruno@clisp.org>
53080         isnanl*: Respect rules for use of AC_LIBOBJ.
53081         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
53082         invocation from here...
53083         * modules/isnanl (configure.ac): ... to here.
53084         * modules/isnanl-nolibm (configure.ac): ... and here.
53086 2011-05-20  Bruno Haible  <bruno@clisp.org>
53088         isnand*: Move AC_LIBOBJ invocations to module description.
53089         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
53090         invocation from here...
53091         * modules/isnand (configure.ac): ... to here.
53092         * modules/isnand-nolibm (configure.ac): ... and here.
53094 2011-05-20  Bruno Haible  <bruno@clisp.org>
53096         isnanf*: Move AC_LIBOBJ invocations to module description.
53097         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
53098         invocation from here...
53099         * modules/isnanf (configure.ac): ... to here.
53100         * modules/isnanf-nolibm (configure.ac): ... and here.
53102 2011-05-20  Bruno Haible  <bruno@clisp.org>
53104         isnan*: Separate the AC_LIBOBJ invocations.
53105         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
53106         AC_LIBOBJ invocation.
53107         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
53108         here.
53109         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
53110         AC_LIBOBJ invocation.
53111         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
53112         here.
53113         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
53114         AC_LIBOBJ invocation.
53115         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
53116         here.
53117         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
53119 2011-05-08  Bruno Haible  <bruno@clisp.org>
53121         isinf: Move AC_LIBOBJ invocations to module description.
53122         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
53123         * modules/isinf (configure.ac): ... to here.
53125 2011-05-08  Bruno Haible  <bruno@clisp.org>
53127         isfinite: Move AC_LIBOBJ invocations to module description.
53128         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
53129         * modules/isfinite (configure.ac): ... to here.
53131 2011-05-08  Bruno Haible  <bruno@clisp.org>
53133         isblank: Move AC_LIBOBJ invocations to module description.
53134         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
53135         here...
53136         * modules/isblank (configure.ac): ... to here.
53138 2011-05-08  Bruno Haible  <bruno@clisp.org>
53140         isapipe: Move AC_LIBOBJ invocations to module description.
53141         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
53142         gl_PREREQ_ISAPIPE invocations from here...
53143         * modules/isapipe (configure.ac): ... to here.
53144         (Depends-on): Update condition.
53146 2011-05-08  Bruno Haible  <bruno@clisp.org>
53148         ioctl: Move AC_LIBOBJ invocations to module description.
53149         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
53150         invocations from here...
53151         * modules/ioctl (configure.ac): ... to here.
53152         (Depends-on): Update condition.
53154 2011-05-08  Bruno Haible  <bruno@clisp.org>
53156         imaxdiv: Move AC_LIBOBJ invocations to module description.
53157         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
53158         invocations from here...
53159         * modules/imaxdiv (configure.ac): ... to here.
53161 2011-05-08  Bruno Haible  <bruno@clisp.org>
53163         imaxabs: Move AC_LIBOBJ invocations to module description.
53164         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
53165         invocations from here...
53166         * modules/imaxabs (configure.ac): ... to here.
53168 2011-05-08  Bruno Haible  <bruno@clisp.org>
53170         getaddrinfo: Move AC_LIBOBJ invocations to module description.
53171         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
53172         AC_LIBOBJ invocations from here...
53173         * modules/getaddrinfo (configure.ac): ... to here.
53174         (Depends-on): Add conditions.
53176 2011-05-08  Bruno Haible  <bruno@clisp.org>
53178         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53179         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
53180         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53181         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
53182         (gl_PREREQ_INET_PTON): ... from here.
53183         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
53184         gl_PREREQ_INET_PTON here.
53185         (Depends-on): Update condition.
53187 2011-05-08  Bruno Haible  <bruno@clisp.org>
53189         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53190         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
53191         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53192         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
53193         (gl_PREREQ_INET_NTOP): ... from here.
53194         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
53195         gl_PREREQ_INET_NTOP here.
53196         (Depends-on): Update condition.
53198 2011-05-08  Bruno Haible  <bruno@clisp.org>
53200         iconv_open: Move AC_LIBOBJ invocations to module description.
53201         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
53202         AC_LIBOBJ invocations from here...
53203         * modules/iconv_open (configure.ac): ... to here.
53205 2011-05-08  Bruno Haible  <bruno@clisp.org>
53207         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
53208         If module 'iconv_open' is among the main modules and module
53209         'iconv_open-utf' is among the tests dependencies, then
53210         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
53211         return the special iconv_t values. Therefore iconv() and iconv_close()
53212         must support these special iconv_t values, already in lib, not only in
53213         tests.
53214         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
53215         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
53216         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
53217         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
53218         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
53219         (Depends-on): Add the dependencies of iconv_open-utf.
53220         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
53221         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
53222         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
53224 2011-05-08  Bruno Haible  <bruno@clisp.org>
53226         group-member: Move AC_LIBOBJ invocations to module description.
53227         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
53228         gl_PREREQ_GROUP_MEMBER invocations from here...
53229         * modules/group-member (configure.ac): ... to here.
53231 2011-05-08  Bruno Haible  <bruno@clisp.org>
53233         grantpt: Move AC_LIBOBJ invocations to module description.
53234         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
53235         invocations from here...
53236         * modules/grantpt (configure.ac): ... to here.
53238 2011-05-08  Bruno Haible  <bruno@clisp.org>
53240         glob: Move AC_LIBOBJ invocations to module description.
53241         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
53242         from here...
53243         * modules/glob (configure.ac): ... to here.
53245 2011-05-08  Bruno Haible  <bruno@clisp.org>
53247         getusershell: Move AC_LIBOBJ invocations to module description.
53248         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
53249         Move AC_LIBOBJ invocation from here...
53250         * modules/getusershell (configure.ac): ... to here.
53251         (Depends-on): Update condition.
53253 2011-05-08  Bruno Haible  <bruno@clisp.org>
53255         gettimeofday: Move AC_LIBOBJ invocations to module description.
53256         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53257         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
53258         gl_PREREQ_GETTIMEOFDAY invocations from here...
53259         * modules/gettimeofday (configure.ac): ... to here.
53261 2011-05-08  Bruno Haible  <bruno@clisp.org>
53263         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
53264         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
53265         just gl_FUNC_TZSET.
53266         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
53267         (gl_FUNC_TZSET_CLOBBER): Remove actions.
53268         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
53269         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
53271 2011-05-08  Bruno Haible  <bruno@clisp.org>
53273         getsubopt: Move AC_LIBOBJ invocations to module description.
53274         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
53275         gl_PREREQ_GETSUBOPT invocations from here...
53276         * modules/getsubopt (configure.ac): ... to here.
53278 2011-05-08  Bruno Haible  <bruno@clisp.org>
53280         getpass-gnu: Move AC_LIBOBJ invocations to module description.
53281         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
53282         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
53283         * modules/getpass-gnu (configure.ac): ... to here.
53285 2011-05-08  Bruno Haible  <bruno@clisp.org>
53287         getpass: Move AC_LIBOBJ invocations to module description.
53288         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
53289         gl_PREREQ_GETPASS invocations from here...
53290         * modules/getpass (configure.ac): ... to here.
53292 2011-05-08  Bruno Haible  <bruno@clisp.org>
53294         getpagesize: Move AC_LIBOBJ invocations to module description.
53295         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
53296         from here...
53297         * modules/getpagesize (configure.ac): ... to here.
53299 2011-05-08  Bruno Haible  <bruno@clisp.org>
53301         getopt: Move AC_LIBOBJ invocations to module description.
53302         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
53303         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
53304         invocations from here...
53305         * modules/getopt-gnu (configure.ac): ... to here.
53306         * modules/getopt-posix (configure.ac): ... and here.
53307         (Depends-on): Update condition.
53309 2011-05-08  Bruno Haible  <bruno@clisp.org>
53311         getopt, argp: Respect rules for use of AC_LIBOBJ.
53312         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
53313         (gl_REPLACE_GETOPT_ALWAYS): New macro.
53314         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
53315         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
53317 2011-05-08  Bruno Haible  <bruno@clisp.org>
53319         getlogin_r: Move AC_LIBOBJ invocations to module description.
53320         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
53321         gl_PREREQ_GETLOGIN_R invocations from here...
53322         * modules/getlogin_r (configure.ac): ... to here.
53324 2011-05-08  Bruno Haible  <bruno@clisp.org>
53326         getlogin: Move AC_LIBOBJ invocations to module description.
53327         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
53328         here...
53329         * modules/getlogin (configure.ac): ... to here.
53331 2011-05-08  Bruno Haible  <bruno@clisp.org>
53333         getloadavg: Move AC_LIBOBJ invocations to module description.
53334         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
53335         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
53336         * modules/getloadavg (configure.ac): ... to here.
53338 2011-05-08  Bruno Haible  <bruno@clisp.org>
53340         gethrxtime: Move AC_LIBOBJ invocations to module description.
53341         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
53342         LIB_GETHRXTIME from here...
53343         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
53344         invocations from here...
53345         * modules/gethrxtime (configure.ac): ... to here.
53347 2011-05-08  Bruno Haible  <bruno@clisp.org>
53349         gethostname: Move AC_LIBOBJ invocations to module description.
53350         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
53351         gl_PREREQ_GETHOSTNAME invocations from here...
53352         * modules/gethostname (configure.ac): ... to here.
53354 2011-05-08  Bruno Haible  <bruno@clisp.org>
53356         getgroups: Move AC_LIBOBJ invocations to module description.
53357         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
53358         here...
53359         * modules/getgroups (configure.ac): ... to here.
53361 2011-05-08  Bruno Haible  <bruno@clisp.org>
53363         getdtablesize: Move AC_LIBOBJ invocations to module description.
53364         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
53365         invocation from here...
53366         * modules/getdtablesize (configure.ac): ... to here.
53368 2011-05-08  Bruno Haible  <bruno@clisp.org>
53370         getdomainname: Move AC_LIBOBJ invocations to module description.
53371         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
53372         gl_PREREQ_GETDOMAINNAME invocations from here...
53373         * modules/getdomainname (configure.ac): ... to here.
53375 2011-05-08  Bruno Haible  <bruno@clisp.org>
53377         getline: Move AC_LIBOBJ invocations to module description.
53378         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
53379         invocations from here...
53380         * modules/getline (configure.ac): ... to here.
53382 2011-05-08  Bruno Haible  <bruno@clisp.org>
53384         getline: Simplify.
53385         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
53386         It's already handled through the module dependency.
53388 2011-05-08  Bruno Haible  <bruno@clisp.org>
53390         getdelim: Move AC_LIBOBJ invocations to module description.
53391         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
53392         and gl_PREREQ_GETDELIM invocations from here...
53393         * modules/getdelim (configure.ac): ... to here.
53394         (Depends-on): Fix condition.
53396 2011-05-08  Bruno Haible  <bruno@clisp.org>
53398         getcwd: Move AC_LIBOBJ invocations to module description.
53399         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
53400         invocations from here...
53401         * modules/getcwd (configure.ac): ... to here.
53403 2011-05-08  Bruno Haible  <bruno@clisp.org>
53405         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
53406         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
53407         here...
53408         * modules/getcwd-lgpl (configure.ac): ... to here.
53410 2011-05-07  Bruno Haible  <bruno@clisp.org>
53412         crypto/gc: Move AC_LIBOBJ invocations to module description.
53413         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
53414         * modules/crypto/gc (configure.ac): ... to here.
53416 2011-05-07  Bruno Haible  <bruno@clisp.org>
53418         fwriting: Move AC_LIBOBJ invocations to module description.
53419         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
53420         here...
53421         * modules/fwriting (configure.ac): ... to here.
53423 2011-05-07  Bruno Haible  <bruno@clisp.org>
53425         fwritable: Move AC_LIBOBJ invocations to module description.
53426         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
53427         here...
53428         * modules/fwritable (configure.ac): ... to here.
53430 2011-05-07  Bruno Haible  <bruno@clisp.org>
53432         futimens: Move AC_LIBOBJ invocations to module description.
53433         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
53434         here...
53435         * modules/futimens (configure.ac): ... to here.
53437 2011-05-07  Bruno Haible  <bruno@clisp.org>
53439         ftruncate: Move AC_LIBOBJ invocations to module description.
53440         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
53441         gl_PREREQ_FTRUNCATE invocations from here...
53442         * modules/ftruncate (configure.ac): ... to here.
53444 2011-05-07  Bruno Haible  <bruno@clisp.org>
53446         fsync: Move AC_LIBOBJ invocations to module description.
53447         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
53448         invocations from here...
53449         * modules/fsync (configure.ac): ... to here.
53451 2011-05-07  Bruno Haible  <bruno@clisp.org>
53453         fsusage: Move AC_LIBOBJ invocations to module description.
53454         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
53455         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
53456         * modules/fsusage (configure.ac): ... to here.
53458 2011-05-07  Bruno Haible  <bruno@clisp.org>
53460         freopen: Move AC_LIBOBJ invocations to module description.
53461         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
53462         invocations from here...
53463         * modules/freopen (configure.ac): ... to here.
53465 2011-05-07  Bruno Haible  <bruno@clisp.org>
53467         free: Move AC_LIBOBJ invocations to module description.
53468         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
53469         invocations from here...
53470         * modules/free (configure.ac): ... to here.
53472 2011-05-07  Bruno Haible  <bruno@clisp.org>
53474         freadable: Move AC_LIBOBJ invocations to module description.
53475         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
53476         here...
53477         * modules/freadable (configure.ac): ... to here.
53479 2011-05-07  Bruno Haible  <bruno@clisp.org>
53481         fpurge: Move AC_LIBOBJ invocations to module description.
53482         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
53483         invocations from here...
53484         * modules/fpurge (configure.ac): ... to here.
53486 2011-05-07  Bruno Haible  <bruno@clisp.org>
53488         fpending: Move AC_LIBOBJ invocations to module description.
53489         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
53490         gl_FUNC_FPENDING.
53491         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
53492         invocations from here...
53493         * modules/fpending (configure.ac): ... to here.
53495 2011-05-07  Bruno Haible  <bruno@clisp.org>
53497         fopen: Move AC_LIBOBJ invocations to module description.
53498         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
53499         invocations from here...
53500         * modules/fopen (configure.ac): ... to here.
53502 2011-05-07  Bruno Haible  <bruno@clisp.org>
53504         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
53505         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
53506         gl_FUNC_FNMATCH_POSIX.
53507         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
53508         invocations from here...
53509         * modules/fnmatch (configure.ac): ... to here.
53510         * modules/fnmatch-gnu (configure.ac): ... and here.
53512 2011-05-07  Bruno Haible  <bruno@clisp.org>
53514         flock: Move AC_LIBOBJ invocations to module description.
53515         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
53516         invocations from here...
53517         * modules/flock (configure.ac): ... to here.
53519 2011-05-07  Bruno Haible  <bruno@clisp.org>
53521         fileblocks: Move AC_LIBOBJ invocations to module description.
53522         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
53523         gl_PREREQ_FILEBLOCKS invocations from here...
53524         * modules/fileblocks (configure.ac): ... to here.
53526 2011-05-06  Bruno Haible  <bruno@clisp.org>
53528         fflush: Move AC_LIBOBJ invocations to module description.
53529         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
53530         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
53531         invocations from here...
53532         * modules/fflush (configure.ac): ... to here.
53534 2011-05-06  Bruno Haible  <bruno@clisp.org>
53536         fdopendir: Move AC_LIBOBJ invocations to module description.
53537         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
53538         here...
53539         * modules/fdopendir (configure.ac): ... to here.
53540         (Depends-on): Improve conditions.
53542 2011-05-06  Bruno Haible  <bruno@clisp.org>
53544         _Exit: Move AC_LIBOBJ invocations to module description.
53545         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
53546         invocations from here...
53547         * modules/_Exit (configure.ac): ... to here.
53549 2011-05-21  Bruno Haible  <bruno@clisp.org>
53551         euidaccess: Respect rules for use of AC_LIBOBJ.
53552         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53553         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
53554         from here...
53555         * modules/euidaccess (configure.ac): ... to here.
53557 2011-05-06  Bruno Haible  <bruno@clisp.org>
53559         error: Move AC_LIBOBJ invocations to module description.
53560         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
53561         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
53562         invocations from here...
53563         * modules/error (configure.ac): ... to here.
53565 2011-05-06  Bruno Haible  <bruno@clisp.org>
53567         duplocale: Move AC_LIBOBJ invocations to module description.
53568         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
53569         gl_PREREQ_DUPLOCALE invocations from here...
53570         * modules/duplocale (configure.ac): ... to here.
53572 2011-05-05  Bruno Haible  <bruno@clisp.org>
53574         dirfd: Move AC_LIBOBJ invocations to module description.
53575         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
53576         gl_FUNC_DIRFD.
53577         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
53578         here...
53579         * modules/dirfd (configure.ac): ... to here.
53580         (Depends-on): Fix condition.
53582 2011-05-05  Bruno Haible  <bruno@clisp.org>
53584         chown: Respect rules for use of AC_LIBOBJ.
53585         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
53586         * modules/chown (configure.ac): ... to here.
53588 2011-05-05  Bruno Haible  <bruno@clisp.org>
53590         chdir-long: Move AC_LIBOBJ invocations to module description.
53591         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
53592         gl_PREREQ_CHDIR_LONG invocations from here...
53593         * modules/chdir-long (configure.ac): ... to here.
53595 2011-05-05  Bruno Haible  <bruno@clisp.org>
53597         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
53598         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
53599         from here...
53600         * modules/canonicalize-lgpl (configure.ac): ... to here.
53602 2011-05-05  Bruno Haible  <bruno@clisp.org>
53604         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
53605         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
53606         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
53607         REPLACE_CALLOC.
53608         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
53609         * modules/calloc-gnu (configure.ac): Likewise.
53611 2011-05-05  Bruno Haible  <bruno@clisp.org>
53613         btowc: Move AC_LIBOBJ invocations to module description.
53614         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
53615         invocations from here...
53616         * modules/btowc (configure.ac): ... to here.
53618 2011-05-21  Bruno Haible  <bruno@clisp.org>
53620         atexit: Move AC_LIBOBJ invocations to module description.
53621         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
53622         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
53623         here...
53624         * modules/atexit (configure.ac): ... to here.
53626 2011-05-05  Bruno Haible  <bruno@clisp.org>
53628         atoll: Move AC_LIBOBJ invocations to module description.
53629         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
53630         invocations from here...
53631         * modules/atoll (configure.ac): ... to here.
53633 2011-05-05  Bruno Haible  <bruno@clisp.org>
53635         argz: Move AC_LIBOBJ invocations to module description.
53636         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
53637         * modules/argz (configure.ac): ... to here.
53639 2011-05-05  Bruno Haible  <bruno@clisp.org>
53641         alphasort: Move AC_LIBOBJ invocations to module description.
53642         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
53643         gl_PREREQ_ALPHASORT invocations from here...
53644         * modules/alphasort (configure.ac): ... to here.
53646 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
53648         verify: new macro verify_expr; verify_true deprecated
53649         * NEWS: Mention this.
53650         * doc/verify.texi (Compile-time Assertions): Document this.
53651         * lib/verify.h (verify_true): Deprecate.
53652         (verify_expr): New macro.
53653         * tests/test-verify.c (function): Test verify_expr.
53655 2011-06-14  Jim Meyering  <meyering@redhat.com>
53657         init.sh: give more portable redirection-related advice in a comment
53658         * tests/init.sh (stderr_fileno_): Update the advice in comments.
53659         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
53660         for lots of discussion.  Stefano Lattarini suggested the solution
53661         of putting "9>&2" after the command.  Reported by Bruno Haible.
53663 2011-06-13  Bruno Haible  <bruno@clisp.org>
53665         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
53666         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
53667         'none'.
53669 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
53671         ftoastr: use strtof only if HAVE_STRTOF
53672         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
53673         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
53674         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
53675         * modules/ftoastr (configure.ac): Check for strtof.
53677 2011-06-13  Bruno Haible  <bruno@clisp.org>
53679         gnulib-tool: Addendum to 2011-06-08 commit.
53680         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
53681         and --witness-c-macro have been given, augment AM_CPPFLAGS.
53683 2011-06-13  Bruno Haible  <bruno@clisp.org>
53685         fseeko: Provide a non-inline replacement of fseek().
53686         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
53687         * modules/fseeko (Depends-on): Add fseek.
53688         * modules/fseek (License): Change to LGPLv2+.
53690 2011-06-13  Bruno Haible  <bruno@clisp.org>
53692         ftello: Provide a non-inline replacement of ftell().
53693         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
53694         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
53695         not have ftello() (such as on mingw).
53696         * modules/ftello (Depends-on): Add ftell.
53697         * modules/ftell (License): Change to LGPLv2+.
53699 2011-05-07  Bruno Haible  <bruno@clisp.org>
53701         ftell: Move AC_LIBOBJ invocations to module description.
53702         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
53703         * modules/ftell (configure.ac): ... to here.
53705 2011-05-07  Bruno Haible  <bruno@clisp.org>
53707         ftello: Respect rules for use of AC_LIBOBJ.
53708         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
53709         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
53710         here...
53711         * modules/ftello (configure.ac): ... to here.
53713 2011-05-07  Bruno Haible  <bruno@clisp.org>
53715         fseeko: Simplify.
53716         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
53717         (gl_FUNC_FSEEKO): Inline it here.
53719 2011-05-07  Bruno Haible  <bruno@clisp.org>
53721         fseek: Move AC_LIBOBJ invocations to module description.
53722         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
53723         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
53724         * modules/fseek (configure.ac): ... to here.
53726 2011-05-07  Bruno Haible  <bruno@clisp.org>
53728         fseek: Respect rules for use of AC_LIBOBJ.
53729         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
53730         here...
53731         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
53733 2011-05-07  Bruno Haible  <bruno@clisp.org>
53735         fseeko: Respect rules for use of AC_LIBOBJ.
53736         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
53737         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
53738         here...
53739         * modules/fseeko (configure.ac): ... to here.
53741 2011-06-13  Bruno Haible  <bruno@clisp.org>
53743         gnulib-tool: Allow comments in the 'Depends-on' section.
53744         * doc/gnulib.texi (Module description): Mention comment syntax in the
53745         Depends-on section.
53746         * gnulib-tool (func_get_dependencies): Filter out comment lines.
53748 2011-06-13  Bruno Haible  <bruno@clisp.org>
53750         file-set.h: guard __attibute__ use, now that it's not always defined
53751         * lib/file-set.h (record_file): Use __attribute__ only with compiler
53752         versions that support it.  This fixes a coreutils build failure with
53753         the vendor cc on HP-UX 11.31.
53755 2011-06-12  Bruno Haible  <bruno@clisp.org>
53757         acl: Add support for HP-UX >= 11.11 JFS ACLs.
53758         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
53759         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
53760         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
53761         (acl, aclsort): New declarations.
53762         (aclv_nontrivial): New declaration.
53763         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
53764         (file_has_acl): Read also the second kind of HP-UX ACLs.
53765         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
53766         kind of HP-UX ACLs if the first kind fails.
53767         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
53768         second kind of HP-UX ACLs.
53769         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
53770         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
53771         agree.
53772         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
53773         hpuxjfs.
53774         Handle hpuxjfs.
53775         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
53776         hpuxjfs.
53777         Handle hpuxjfs.
53778         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
53779         (func_test_same_acls): Use both lsacl and getacl.
53780         Handle hpuxjfs.
53781         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
53782         (func_test_same_acls): Use both lsacl and getacl.
53783         Handle hpuxjfs.
53785 2011-06-12  Bruno Haible  <bruno@clisp.org>
53787         acl: Complete the 2010-08-10 fix.
53788         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
53789         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
53790         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
53791         explicitly.
53792         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
53793         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
53795 2011-06-12  Bruno Haible  <bruno@clisp.org>
53797         spawn-pipe tests: Comments.
53798         * tests/test-spawn-pipe-child.c (main): Update comment.
53799         Reported by James Youngman <jay@gnu.org>.
53801 2011-06-11  James Youngman  <jay@gnu.org>
53803         New module 'stat-size'.
53804         * modules/stat-size: New module.  Provides macros for accessing
53805         file size information in instances of struct stat.  Depends on the
53806         fileblocks module because it calls st_blocks.
53807         * lib/stat-size.h: New file, adapted from coreutils' system.h.
53808         * doc/gnulib.texi: Include stat-size.texi.
53809         * doc/stat-size.texi: Documentation for this module.
53810         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
53811         * m4/fileblocks.m4: Mention that stat-size depends on the call to
53812         AC_STRUCT_ST_BLOCKS.
53814 2011-06-09  Bruno Haible  <bruno@clisp.org>
53816         thread: Support pthreads-win32.
53817         * lib/glthread/thread.h (gl_thread_self): Define differently on
53818         pthreads-win32.
53819         (gl_null_thread): New declaration.
53820         (gl_thread_self_pointer): New macro.
53821         * lib/glthread/thread.c (gl_null_thread): New constant.
53822         * tests/test-lock.c: Use gl_thread_self_pointer instead of
53823         gl_thread_self.
53824         * tests/test-tls.c: Likewise.
53825         Suggested by Paul Eggert. Reported by Eric Blake.
53827 2011-06-09  Bruno Haible  <bruno@clisp.org>
53829         thread: Fix confusion between NULL and 0.
53830         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
53831         Reported by Paul Eggert.
53833 2011-06-09  Bruno Haible  <bruno@clisp.org>
53835         spawn-pipe tests: Avoid test failure on HP-UX 11.
53836         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
53837         is closed.
53839 2011-06-09  Bruno Haible  <bruno@clisp.org>
53841         acl tests: Fix compilation error on HP-UX 11.
53842         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
53844 2011-06-09  Bruno Haible  <bruno@clisp.org>
53846         rmdir: Avoid test failure on HP-UX 10.20.
53847         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
53848         EEXIST.
53850 2011-06-08  Eric Blake  <eblake@redhat.com>
53852         perror: fix test on mingw
53853         * modules/perror-tests (Depends-on): Add dup2.
53855         strerror_r-posix: fix on MacOS
53856         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
53857         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
53858         logic bug.
53859         * lib/strerror_r.c (strerror_r): Fix the bug.
53860         * lib/strerror.c (strerror): Likewise.
53861         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
53862         problem.
53863         * doc/posix-functions/strerror.texi (strerror): Likewise.
53864         * doc/posix-functions/perror.texi (perror): Likewise.
53865         * tests/test-strerror.c (main): Enhance test.
53866         * tests/test-strerror_r.c (main): Likewise.
53868 2011-06-08  Bruno Haible  <bruno@clisp.org>
53870         gnulib-tool: Better isolation between different gnulib-tool invocations.
53871         * gnulib-tool: New option --witness-c-macro.
53872         (witness_c_macro): New variable.
53873         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
53874         AM_CPPFLAGS define it as a C macro.
53875         (func_emit_tests_Makefile_am): Likewise.
53876         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
53877         read it from there.
53878         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
53879         m4_define, not AC_DEFUN.
53880         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
53881         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
53882         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
53883         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
53884         s|...|...|, to substitute the values of the GNULIB_* module indicator
53885         variables.
53886         * modules/dirent (Makefile.am): Likewise.
53887         * modules/fcntl-h (Makefile.am): Likewise.
53888         * modules/iconv-h (Makefile.am): Likewise.
53889         * modules/langinfo (Makefile.am): Likewise.
53890         * modules/locale (Makefile.am): Likewise.
53891         * modules/math (Makefile.am): Likewise.
53892         * modules/netdb (Makefile.am): Likewise.
53893         * modules/poll-h (Makefile.am): Likewise.
53894         * modules/pty (Makefile.am): Likewise.
53895         * modules/search (Makefile.am): Likewise.
53896         * modules/signal (Makefile.am): Likewise.
53897         * modules/spawn (Makefile.am): Likewise.
53898         * modules/stdio (Makefile.am): Likewise.
53899         * modules/stdlib (Makefile.am): Likewise.
53900         * modules/string (Makefile.am): Likewise.
53901         * modules/sys_ioctl (Makefile.am): Likewise.
53902         * modules/sys_select (Makefile.am): Likewise.
53903         * modules/sys_socket (Makefile.am): Likewise.
53904         * modules/sys_stat (Makefile.am): Likewise.
53905         * modules/sys_times (Makefile.am): Likewise.
53906         * modules/sys_utsname (Makefile.am): Likewise.
53907         * modules/sys_wait (Makefile.am): Likewise.
53908         * modules/termios (Makefile.am): Likewise.
53909         * modules/time (Makefile.am): Likewise.
53910         * modules/unistd (Makefile.am): Likewise.
53911         * modules/wchar (Makefile.am): Likewise.
53913 2011-06-08  Eric Blake  <eblake@redhat.com>
53915         strerror: simplify replacement
53916         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
53917         * modules/strerror (configure.ac): No prereqs needed here...
53918         * modules/strerror-override (configure.ac): ...but this needs it.
53919         (Files): Add file for needed prereq macro.
53921 2011-06-08  Bruno Haible  <bruno@clisp.org>
53923         strerror_r-posix: Tweaks.
53924         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
53925         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
53926         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
53927         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
53928         (gl_FUNC_STRERROR_R): ... to here.
53929         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
53931 2011-06-07  Eric Blake  <eblake@redhat.com>
53933         perror: document fixed bugs
53934         * doc/posix-functions/perror.texi (perror): Document recent
53935         patches.
53937 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
53939         stat-time: get_stat_birthtime failure is better-defined
53940         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
53941         return a timestamp whose tv_sec and tv_nsec values are both -1.
53942         Previously, the spec said only that the tv_nsec value was negative.
53943         This upward-compatible change simplifies GNU tar a bit.
53945 2011-06-07  Eric Blake  <eblake@redhat.com>
53947         strerror_r-posix: work around cygwin 1.7.9
53948         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
53949         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
53950         bug without replacing strerror_r.
53951         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
53952         strerror_r is buggy, but without requiring strerror_r compilation.
53953         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
53955         test-perror: relax test to ignore cygwin bug
53956         * tests/test-perror2.c (main): Relax test on requiring detection
53957         of stream errors, and use unbuffered stream.
53958         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
53959         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
53960         * doc/posix-functions/fputc.texi (fputc): Likewise.
53961         * doc/posix-functions/fputs.texi (fputs): Likewise.
53962         * doc/posix-functions/fputws.texi (fputws): Likewise.
53963         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
53964         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
53965         * doc/posix-functions/getopt.texi (getopt): Likewise.
53966         * doc/posix-functions/perror.texi (perror): Likewise.
53967         * doc/posix-functions/printf.texi (printf): Likewise.
53968         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
53969         * doc/posix-functions/psignal.texi (psignal): Likewise.
53970         * doc/posix-functions/putc.texi (putc): Likewise.
53971         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
53972         Likewise.
53973         * doc/posix-functions/putchar.texi (putchar): Likewise.
53974         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
53975         Likewise.
53976         * doc/posix-functions/puts.texi (puts): Likewise.
53977         * doc/posix-functions/putwc.texi (putwc): Likewise.
53978         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
53979         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
53980         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
53981         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
53982         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
53983         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
53984         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
53985         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
53987 2011-05-22  Bruno Haible  <bruno@clisp.org>
53989         strerror: Move AC_LIBOBJ invocations to module description.
53990         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
53991         gl_PREREQ_STRERROR invocations from here...
53992         * modules/strerror (configure.ac): ... to here.
53994 2011-05-21  Bruno Haible  <bruno@clisp.org>
53996         perror: Use common idiom.
53997         * modules/perror (configure.ac): Reorder statements.
53999 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54001         tests: fix usage message in 'mktempd_'
54002         * tests/init.sh (mktempd_): In the usage message, use literal
54003         'mktempd_', not '$ME' (which is even undefined), as the name of
54004         the subroutine.
54006 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54008         tests init: new function 'fatal_', for hard errors
54009         Before this patch, the only way offered by tests/init.sh to
54010         properly signal a hard error was the `framework_failure_'
54011         function.  But the error message issued by that function,
54012         as its name would suggest, refers to a set-up failure in the
54013         testsuite, while hard errors can obviously also be due to
54014         other reasons.  The best way to fix this inconsistency is to
54015         introduce a new function with a more general error message.
54016         * tests/init.sh (fatal_): New function.
54018 2011-06-06  Eric Blake  <eblake@redhat.com>
54020         canonicalize-lgpl: use common idiom
54021         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
54022         over newer POSIX -Rf.
54023         Reported by Bruno Haible.
54025         canonicalize-lgpl: work around AIX realpath bug
54026         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
54027         * doc/posix-functions/realpath.texi (realpath): Document it.
54028         Reported by Bruno Haible.
54030         strerror: work around FreeBSD bug
54031         * lib/strerror.c (strerror): Special case 0.
54032         Reported by Bruno Haible.
54034         strerror-override: avoid bloating errno module
54035         * modules/errno (Files, configure.ac): Move replacement strings...
54036         * modules/strerror-override: ...to new module.
54037         * modules/strerror (Depends-on): Add strerror-override.
54038         * modules/strerror_r-posix (Depends-on): Likewise.
54039         * MODULES.html.sh: Document new module.
54040         Reported by Bruno Haible.
54042 2011-06-06  Bruno Haible  <bruno@clisp.org>
54044         spawn-pipe tests: Rename program.
54045         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
54046         * tests/test-spawn-pipe-child.c: Update comment.
54047         * tests/test-spawn-pipe.sh: Update.
54048         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
54050         spawn-pipe tests: Link the child program only against libc.
54051         * tests/test-spawn-pipe-child.c: New file, extracted from
54052         tests/test-spawn-pipe.c.
54053         (main): Expect only one argument.
54054         (is_open): New function, copied from tests/test-pipe.c.
54055         * tests/test-spawn-pipe.c: Don't include <errno.h>.
54056         (child_main): Remove function.
54057         (test_pipe): Pass only one argument to the child program.
54058         (main): Remove child process code. Expect the child program's name as
54059         first argument.
54060         * tests/test-spawn-pipe.sh: Pass the child program's name as first
54061         argument.
54062         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
54063         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
54064         test-spawn-pipe-child against no libraries.
54066 2011-06-06  Bruno Haible  <bruno@clisp.org>
54068         careadlinkat: Avoid mismatch between ssize_t and int.
54069         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
54070         * lib/careadlinkat.c (careadlinkatcwd): Define always.
54072 2011-06-06  Jim Meyering  <meyering@redhat.com>
54074         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
54075         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
54076         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
54078 2011-06-05  Bruno Haible  <bruno@clisp.org>
54080         ansi-c++-opt: Interoperability with libtool.
54081         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
54082         set the variable to "no", not to ":".
54083         * NEWS: Mention the change.
54085 2011-06-05  Bruno Haible  <bruno@clisp.org>
54087         acl: Fix test failure on AIX 7.
54088         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
54089         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
54091 2011-06-05  Bruno Haible  <bruno@clisp.org>
54093         pipe-filter-ii: Fix test failure on AIX and IRIX.
54094         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
54095         with EAGAIN, retry with a smaller buffer size.
54097 2011-06-05  Bruno Haible  <bruno@clisp.org>
54099         localename: Fix link dependencies.
54100         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
54101         * modules/localename-tests (Makefile.am): Link test-localename with
54102         $(LIBTHREAD).
54104 2011-06-05  Bruno Haible  <bruno@clisp.org>
54106         error: Avoid gcc warning.
54107         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
54109 2011-06-05  Bruno Haible  <bruno@clisp.org>
54111         unsetenv: Avoid gcc warning.
54112         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
54114 2011-06-05  Bruno Haible  <bruno@clisp.org>
54116         setenv: Avoid gcc warning.
54117         * lib/setenv.c (setenv): Provide declaration if system lacks it.
54119 2011-06-05  Bruno Haible  <bruno@clisp.org>
54121         sys_select: Ensure memset is declared also on AIX 7.
54122         * lib/sys_select.in.h: Include <string.h> also on AIX.
54123         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
54124         self-contained also on AIX 7.1.
54126 2011-06-04  Jim Meyering  <meyering@redhat.com>
54128         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
54129         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
54130         function name, "error".
54131         (_gl_translatable_diag_func_re): New configurable variable.
54133 2011-06-04  Bruno Haible  <bruno@clisp.org>
54135         getopt: Avoid gcc warning.
54136         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
54138 2011-06-04  Bruno Haible  <bruno@clisp.org>
54140         strerror_r: Fix comments.
54141         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
54142         commit.
54144 2011-06-04  Bruno Haible  <bruno@clisp.org>
54146         perror: Fix compilation error.
54147         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
54148         Undefine fprintf, not sprintf.
54149         * modules/perror (Depends-on): Remove intprops, verify.
54151 2011-06-04  Bruno Haible  <bruno@clisp.org>
54153         setlocale: Enable replacement on Cygwin 1.5.
54154         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
54155         Cygwin 1.5.x.
54156         * doc/posix-functions/setlocale.texi: Mention that the problem with the
54157         LC_CTYPE category also exists on Cygwin 1.5.x.
54159 2011-06-04  Bruno Haible  <bruno@clisp.org>
54161         strerror-override: Don't disable symbol renamings.
54162         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
54163         * lib/strerror-override.c: Include config.h.
54164         (strerror_override): Don't undefine.
54166 2011-06-03  Bruno Haible  <bruno@clisp.org>
54168         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
54169         * lib/localename.h: Update copyright header.
54170         * lib/localename.c: Likewise.
54171         * lib/relocatable.h: Likewise.
54172         * lib/relocatable.c: Likewise.
54174 2011-06-02  Bruno Haible  <bruno@clisp.org>
54176         doc: Fix a module name.
54177         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
54179 2011-06-02  Bruno Haible  <bruno@clisp.org>
54181         pipe2: Remove dependency on 'nonblocking' module.
54182         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
54183         O_NONBLOCK is defined by gnulib.
54184         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
54185         is zero.
54186         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
54187         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
54188         defined by gnulib.
54189         (get_nonblocking_flag): New function.
54190         (main): Test O_NONBLOCK flag only if it is nonzero.
54191         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
54193 2011-06-03  Jim Meyering  <meyering@redhat.com>
54195         maint: three new prohibit-header-without-use rules
54196         Prohibit use of cloexec.h, posixver.h, same.h without use.
54197         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
54198         (sc_prohibit_posixver_without_use): Likewise.
54199         (sc_prohibit_same_without_use): Likewise.
54201 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54203         allocator: 'die' routine is now given requested size
54204         * lib/allocator.h (struct allocator.die): New size arg.
54205         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
54206         If the actual problem is an ssize_t limitation, not a size_t or
54207         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
54209 2011-06-01  Eric Blake  <eblake@redhat.com>
54211         strerror: drop strerror_r dependency
54212         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
54213         * lib/strerror-override.c (strerror_override): ...to new file.
54214         * lib/strerror-override.h: Add prototype.
54215         * lib/strerror-impl.h: Delete.
54216         * lib/strerror.c (strerror): New implementation.
54217         * modules/errno (Files): Add new files.
54218         (configure.ac): Compile new file as appropriate.
54219         * modules/strerror (Files): Drop unused file.
54220         (Depends-on): Drop strerror_r-posix.
54221         * MODULES.html.sh: Document strerror_r-posix.
54222         Requested by Sam Steingold.
54224         perror: call strerror_r directly
54225         * modules/perror (Files): Drop strerror-impl.h.
54226         * lib/perror.c (perror): Use our own stack buffer, rather than
54227         calling a wrapper that uses static storage.
54228         * doc/posix-functions/perror.texi (perror): Document a limitation
54229         of our replacement.
54231         strerror_r: fix includes for FreeBSD
54232         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
54233         since we use abort on some platforms.
54234         Reported by Matthias Bolte.
54236 2011-05-31  Bruno Haible  <bruno@clisp.org>
54238         Fix link errors in tests: openat-die uses gettext-h.
54239         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
54240         against $(LIBINTL).
54241         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
54242         against $(LIBINTL).
54243         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
54244         $(LIBINTL).
54245         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
54246         against $(LIBINTL).
54247         * modules/linkat-tests (Makefile.am): Link test-linkat against
54248         $(LIBINTL).
54249         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
54250         $(LIBINTL).
54251         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
54252         against $(LIBINTL).
54253         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
54254         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
54255         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
54256         $(LIBINTL).
54257         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
54258         $(LIBINTL).
54259         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
54260         $(LIBINTL).
54261         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54263 2011-05-31  Bruno Haible  <bruno@clisp.org>
54265         Fix link errors in tests: wait-process uses gettext-h.
54266         * modules/nonblocking-pipe-tests (Makefile.am): Set
54267         test_nonblocking_pipe_main_LDADD.
54268         * modules/nonblocking-socket-tests (Makefile.am): Link
54269         test-nonblocking-socket-main against $(LIBINTL).
54270         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54272 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
54274         assert-h: work around 'verify' incompatibility
54275         * lib/verify.h: Use @...@ directives, not ifdef.
54276         * modules/assert-h (assert.h): Implement the directives.
54277         (assert.h): Substitute the symbol-prefix more consistently.
54279 2011-05-29  Jim Meyering  <meyering@redhat.com>
54281         trim: remove three superfluous assignments
54282         * lib/trim.c (trim2): Remove three superfluous assignments
54283         and correct brace positioning.
54285 2011-05-29  Bruno Haible  <bruno@clisp.org>
54287         wctype-h: Avoid namespace pollution on Solaris 2.6.
54288         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
54289         identifiers.
54290         * doc/posix-headers/wctype.texi: Mention the problem.
54291         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54293 2011-05-28  Jim Meyering  <meyering@redhat.com>
54295         parse-datetime.y: accommodate -Wstrict-overflow
54296         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
54297         placate -Wstrict-overflow.
54299         trim: avoid a warning from -O2 -Wstrict-overflow
54300         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
54302 2011-05-29  Bruno Haible  <bruno@clisp.org>
54304         gnulib-tool: Fix bug in yesterday's commit.
54305         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
54306         twice.
54308 2011-05-29  Bruno Haible  <bruno@clisp.org>
54310         Allow multiple gnulib generated include files to be combined.
54311         * gnulib-tool (func_compute_include_guard_prefix): New function.
54312         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
54313         ${gl_include_guard_prefix} references.
54314         (func_import, func_create_testdir): Invoke
54315         func_compute_include_guard_prefix.
54316         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
54317         * lib/ctype.in.h: Likewise.
54318         * lib/dirent.in.h: Likewise.
54319         * lib/errno.in.h: Likewise.
54320         * lib/fcntl.in.h: Likewise.
54321         * lib/float.in.h: Likewise.
54322         * lib/getopt.in.h: Likewise.
54323         * lib/iconv.in.h: Likewise.
54324         * lib/langinfo.in.h: Likewise.
54325         * lib/locale.in.h: Likewise.
54326         * lib/math.in.h: Likewise.
54327         * lib/netdb.in.h: Likewise.
54328         * lib/netinet_in.in.h: Likewise.
54329         * lib/poll.in.h: Likewise.
54330         * lib/pthread.in.h: Likewise.
54331         * lib/pty.in.h: Likewise.
54332         * lib/sched.in.h: Likewise.
54333         * lib/se-selinux.in.h: Likewise.
54334         * lib/search.in.h: Likewise.
54335         * lib/signal.in.h: Likewise.
54336         * lib/spawn.in.h: Likewise.
54337         * lib/stdarg.in.h: Likewise.
54338         * lib/stddef.in.h: Likewise.
54339         * lib/stdint.in.h: Likewise.
54340         * lib/stdio.in.h: Likewise.
54341         * lib/stdlib.in.h: Likewise.
54342         * lib/string.in.h: Likewise.
54343         * lib/strings.in.h: Likewise.
54344         * lib/sys_file.in.h: Likewise.
54345         * lib/sys_ioctl.in.h: Likewise.
54346         * lib/sys_select.in.h: Likewise.
54347         * lib/sys_socket.in.h: Likewise.
54348         * lib/sys_stat.in.h: Likewise.
54349         * lib/sys_time.in.h: Likewise.
54350         * lib/sys_times.in.h: Likewise.
54351         * lib/sys_uio.in.h: Likewise.
54352         * lib/sys_utsname.in.h: Likewise.
54353         * lib/sys_wait.in.h: Likewise.
54354         * lib/sysexits.in.h: Likewise.
54355         * lib/termios.in.h: Likewise.
54356         * lib/time.in.h: Likewise.
54357         * lib/unistd.in.h: Likewise.
54358         * lib/wchar.in.h: Likewise.
54359         * lib/wctype.in.h: Likewise.
54360         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
54361         * modules/ctype (Makefile.am): Likewise.
54362         * modules/dirent (Makefile.am): Likewise.
54363         * modules/errno (Makefile.am): Likewise.
54364         * modules/fcntl-h (Makefile.am): Likewise.
54365         * modules/float (Makefile.am): Likewise.
54366         * modules/getopt-posix (Makefile.am): Likewise.
54367         * modules/iconv-h (Makefile.am): Likewise.
54368         * modules/langinfo (Makefile.am): Likewise.
54369         * modules/locale (Makefile.am): Likewise.
54370         * modules/math (Makefile.am): Likewise.
54371         * modules/netdb (Makefile.am): Likewise.
54372         * modules/netinet_in (Makefile.am): Likewise.
54373         * modules/poll-h (Makefile.am): Likewise.
54374         * modules/pthread (Makefile.am): Likewise.
54375         * modules/pty (Makefile.am): Likewise.
54376         * modules/sched (Makefile.am): Likewise.
54377         * modules/search (Makefile.am): Likewise.
54378         * modules/selinux-h (Makefile.am): Likewise.
54379         * modules/signal (Makefile.am): Likewise.
54380         * modules/spawn (Makefile.am): Likewise.
54381         * modules/stdarg (Makefile.am): Likewise.
54382         * modules/stddef (Makefile.am): Likewise.
54383         * modules/stdint (Makefile.am): Likewise.
54384         * modules/stdio (Makefile.am): Likewise.
54385         * modules/stdlib (Makefile.am): Likewise.
54386         * modules/string (Makefile.am): Likewise.
54387         * modules/strings (Makefile.am): Likewise.
54388         * modules/sys_file (Makefile.am): Likewise.
54389         * modules/sys_ioctl (Makefile.am): Likewise.
54390         * modules/sys_select (Makefile.am): Likewise.
54391         * modules/sys_socket (Makefile.am): Likewise.
54392         * modules/sys_stat (Makefile.am): Likewise.
54393         * modules/sys_time (Makefile.am): Likewise.
54394         * modules/sys_times (Makefile.am): Likewise.
54395         * modules/sys_uio (Makefile.am): Likewise.
54396         * modules/sys_utsname (Makefile.am): Likewise.
54397         * modules/sys_wait (Makefile.am): Likewise.
54398         * modules/sysexits (Makefile.am): Likewise.
54399         * modules/termios (Makefile.am): Likewise.
54400         * modules/time (Makefile.am): Likewise.
54401         * modules/unistd (Makefile.am): Likewise.
54402         * modules/wchar (Makefile.am): Likewise.
54403         * modules/wctype-h (Makefile.am): Likewise.
54404         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
54406 2011-05-29  Bruno Haible  <bruno@clisp.org>
54408         assert-h: Allow multiple gnulib generated replacements to coexist.
54409         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
54411 2011-05-29  Bruno Haible  <bruno@clisp.org>
54413         argp: Allow coexistence with strerror_r-posix module.
54414         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
54415         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
54416         by gnulib's <string.h> replacement), assume it has the POSIX signature,
54417         not the glibc signature.
54419 2011-05-28  Bruno Haible  <bruno@clisp.org>
54421         gnulib-tool: Alternative structure of testdirs, similar to --import.
54422         * gnulib-tool: New option --single-configure.
54423         (func_usage): Document it.
54424         (single_configure): New variable.
54425         (func_modules_transitive_closure_separately,
54426         func_modules_transitive_closure_separately,
54427         func_determine_use_libtests, func_modules_add_dummy_separately,
54428         func_modules_to_filelist_separately): New functions, extracted from
54429         func_import.
54430         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
54431         (func_import): Use the new functions.
54432         (func_create_testdir): Set final_modules. Handle $single_configure =
54433         true case.
54435 2011-05-28  Bruno Haible  <bruno@clisp.org>
54437         getloadavg: Remove an unreliable safety check.
54438         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
54439         getloadavg.c is in place.
54440         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
54441         Reported by Sam Steingold <sds@gnu.org>.
54443 2011-05-28  Bruno Haible  <bruno@clisp.org>
54445         doc: Cleanup yet another file produced by texinfo.tex.
54446         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
54448 2011-05-28  Bruno Haible  <bruno@clisp.org>
54450         Finish the conditional dependencies mechanism.
54451         * gnulib-tool: New option --no-conditional-dependencies.
54452         (func_usage): Document it. Don't mark --conditional-dependencies as
54453         experimental.
54454         (cond_dependencies): The possible values can now be true, false, empty.
54455         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
54456         (func_import): Store setting in gnulib-cache.m4 and read it from there.
54457         * doc/gnulib-tool.texi (Conditional dependencies): New section.
54459 2011-05-28  Bruno Haible  <bruno@clisp.org>
54461         doc: Use a recent texinfo.tex.
54462         * doc/Makefile (tex_opts): New variable.
54463         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
54465 2011-05-28  Jim Meyering  <meyering@redhat.com>
54467         intprops.h: adjust comment to match code change
54468         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
54469         only once, it *may* have side effects.  Also fix an unrelated typo.
54470         (_GL_INT_SIGNED): Likewise.
54472 2011-05-26  Simon Josefsson  <simon@josefsson.org>
54474         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
54476 2011-05-26  Bruno Haible  <bruno@clisp.org>
54478         mbsrchr: Avoid collision with system function on Interix.
54479         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
54480         Reported by Markus Duft <mduft@gentoo.org>.
54482 2011-05-15  James Youngman  <jay@gnu.org>
54484         getopt: for ambiguous options, enumerate the possibilities.
54485         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
54486         the ambiguous options when an ambiguous prefix is given. This was
54487         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
54488         glibc change was
54489         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
54491 2011-05-25  Eric Blake  <eblake@redhat.com>
54493         getcwd: work around mingw bug
54494         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
54495         * doc/posix-functions/getcwd.texi (getcwd): Document it.
54496         Reported by Matthias Bolte.
54498 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
54500         test-intprops: disable -Wtype-limits diagnostics
54501         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
54502         diagnostics.  Otherwise, the integer overflow macros generate many
54503         diagnostics.  Reported by Jim Meyering in
54504         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
54506         intprops: shorten, to pacify gcc -Woverlength-strings
54507         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
54508         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
54509         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
54510         likely to run afoul of C compiler limits for string constant lengths.
54511         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
54513 2011-05-24  Eric Blake  <eblake@redhat.com>
54515         docs: document recently fixed glibc printf bug
54516         * doc/posix-functions/fprintf.texi (fprintf): Document it.
54517         * doc/posix-functions/printf.texi (printf): Likewise.
54518         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
54519         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
54521         closein-tests: convert to init.sh
54522         * modules/closein-tests (Files): Add init.sh
54523         * tests/test-closein.sh Use it.
54525         yesno-tests: convert to init.sh
54526         * modules/yesno-tests (Files): Add init.sh.
54527         * tests/test-yesno.sh: Use it.
54529         atexit-tests: ensure reliable exit status
54530         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
54531         Reported by Bruno Haible.
54533 2011-05-24  Bruno Haible  <bruno@clisp.org>
54535         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
54536         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
54537         gl_PREREQ_STRERROR_R invocations from here...
54538         * modules/strerror_r-posix (configure.ac): ... to here.
54540 2011-05-24  Eric Blake  <eblake@redhat.com>
54542         strerror_r: fix missing header
54543         * lib/strerror_r.c: Avoid compiler warning about snprintf.
54545         strerror_r: fix AIX test failures
54546         * lib/strerror_r.c (strerror_r): Convert silent truncation to
54547         ERANGE failure.
54549         strerror_r: fix Solaris test failures
54550         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
54551         failures.
54552         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
54554         strerror_r: enforce POSIX recommendations
54555         * lib/strerror_r.c (safe_copy): New helper method.
54556         (strerror_r): Guarantee a non-empty string.
54557         * tests/test-strerror_r.c (main): Enhance tests to incorporate
54558         recent POSIX rulings and to match our strerror guarantees.
54559         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
54561 2011-05-24  Jim Meyering  <meyering@redhat.com>
54563         test-perror2.c: avoid warning about unused variable
54564         * tests/test-perror2.c (main): Remove declaration of unused "fp".
54566 2011-05-24  Eric Blake  <eblake@redhat.com>
54568         perror: avoid spurious test failure on HP-UX
54569         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
54571         tests: fix logic bug in init.sh
54572         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
54573         shell.
54575 2011-05-24  Jim Meyering  <meyering@redhat.com>
54577         utimensat: do not reference an out-of-scope buffer
54578         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
54579         declared in an inner scope, yet "times" would be dereferenced outside
54580         the scope in which "ts" was valid.
54581         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
54582         of ts[2] "out/up", so that the use of aliased "times" (via
54583         "times = ts;") does not end up referencing an out-of-scope "ts"
54585         opendir-safer.c: don't clobber errno; don't close negative FD
54586         * lib/opendir-safer.c (opendir_safer):
54587         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
54588         file descriptor, and more importantly, don't clobber the
54589         offending errno value with EINVAL.  Before, upon failure
54590         of dup_safer, we would pass the negative file descriptor to
54591         fdopendir, which would clobber errno.
54593 2011-05-23  Bruno Haible  <bruno@clisp.org>
54595         idcache: Fix module description.
54596         * modules/idcache (Include): Set to "idcache.h".
54598 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
54600         gnulib-tool: fix portability problem with MacOS sed
54601         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
54602         before the "}".  Problem reported by Leo in
54603         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
54604         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
54605         sed_extract_condition1, sed_extract_condition2.
54607 2011-05-23  Bruno Haible  <bruno@clisp.org>
54609         hash: Simplify autoconf macro.
54610         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
54612 2011-05-23  Bruno Haible  <bruno@clisp.org>
54614         getugroups: Fix module description.
54615         * modules/getugroups (Include): Set to "getugroups.h".
54617 2011-05-23  Bruno Haible  <bruno@clisp.org>
54619         linkat: Simplify autoconf macro.
54620         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
54622 2011-05-23  Bruno Haible  <bruno@clisp.org>
54623             Eric Blake  <eblake@redhat.com>
54625         linkat, renameat: Update dependencies.
54626         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
54627         * modules/linkat (Depends-on): Likewise. Remove also readlink,
54628         symlinkat.
54630 2011-05-23  Jim Meyering  <meyering@redhat.com>
54632         maint.mk: more tight_scope improvements
54633         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
54634         (_gl_TS_headers): Define only in if-0'd block.
54635         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
54636         sometimes we must *not* use it.  Adjust uses accordingly.
54637         (sc_tight_scope): Use much simpler grep-based test to determine
54638         whether we skip this rule.
54640         maint.mk: generalize/improve the tight-scope rule
54641         * top/maint.mk: Emit a warning when the test is skipped.
54642         (_gl_TS_dir): Add $(srcdir)/ prefix.
54643         (_gl_TS_function_match): Simplify, rather than trying
54644         to enumerate common types.  Otherwise, it would fail to match an
54645         "extern unsigned char const *" declaration in idutils.
54646         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
54647         a way to support use of that type of macro.
54648         (_gl_TS_var_match): Simplify regexp.
54649         (_gl_TS_obj_files): New configurable variable.
54650         (_gl_TS_headers): Likewise.
54652 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
54654         verify: fix bug when gnulib <assert.h> is also included
54655         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
54656         is defined, not if _GL_STATIC_ASSERT_H is not defined.
54657         Perhaps there's a better way, but this fixes the immediate problem.
54658         Problem reported by Bruno Haible in
54659         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
54661 2011-05-22  Bruno Haible  <bruno@clisp.org>
54663         xgetcwd: Simplify autoconf macro.
54664         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
54666 2011-05-22  Bruno Haible  <bruno@clisp.org>
54668         New module 'mktime-internal'.
54669         * modules/mktime-internal: New file.
54670         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
54671         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
54672         mktime_internal as a C macro if libc has __mktime_internal.
54673         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
54674         conditions.
54675         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
54677 2011-05-22  Bruno Haible  <bruno@clisp.org>
54679         timegm: Correct mktime replacement statements.
54680         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
54681         defining mktime as a C macro. This completes a 2009-07-28 commit.
54683 2011-05-22  Bruno Haible  <bruno@clisp.org>
54685         timegm: Simplify autoconf macro.
54686         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
54688 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
54690         clock-time: change to LGPLv2+.
54691         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
54692         BSD-like but we have no mark for that; this is good enough for now.
54694 2011-05-21  Bruno Haible  <bruno@clisp.org>
54696         strerror_r: Fix comments.
54697         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
54699 2011-05-21  Bruno Haible  <bruno@clisp.org>
54701         relocatable-prog-wrapper: Fix possible link error.
54702         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
54703         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
54704         (gl_FUNC_SETENV): ... to here.
54705         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
54706         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
54708 2011-05-21  Bruno Haible  <bruno@clisp.org>
54710         relocatable-prog-wrapper: Assume strerror() exists.
54711         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
54712         m4/strerror.m4.
54713         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
54714         * lib/relocwrapper.c: Remove mention of strerror module.
54715         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
54716         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
54717         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
54718         C macro.
54720 2011-05-21  Bruno Haible  <bruno@clisp.org>
54722         select: Simplify replacement idiom.
54723         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
54724         Win32 platforms.
54725         * lib/sys_select.in.h (select): Simplify accordingly.
54726         * modules/select (Depends-on): Likewise.
54728 2011-05-21  Bruno Haible  <bruno@clisp.org>
54730         mkdir-p: Simplify autoconf macro.
54731         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
54732         gl_FUNC_LCHOWN.
54734 2011-05-21  Eric Blake  <eblake@redhat.com>
54736         strerror_r: avoid clobbering strerror on cygwin
54737         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
54738         fall back instead to sys_errlist.
54739         * modules/strerror (configure.ac): Add witness.
54740         * tests/test-strerror_r.c (main): Enhance test.
54741         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
54742         * tests/test-perror2.c (main): Free memory before exit.
54744 2011-05-21  Bruno Haible  <bruno@clisp.org>
54746         mkdtemp: Use gnulib naming conventions.
54747         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
54748         * modules/mkdtemp (configure.ac): Update.
54750 2011-05-20  Eric Blake  <eblake@redhat.com>
54752         strerror_r: avoid corrupting errno on Solaris
54753         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
54754         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
54756         strerror_r: avoid compiler warning
54757         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
54759         strerror_r: simplify AIX code
54760         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
54762         test-perror: avoid spurious failure on FreeBSD
54763         * modules/perror-tests (Depends-on): Add strerror, now that
54764         strerror_r no longer pulls it in.
54766 2011-05-20  Bruno Haible  <bruno@clisp.org>
54768         strerror_r-posix: Remove unused dependencies.
54769         * modules/strerror_r-posix (Depends-on): Remove strerror.
54770         Reported by Eric Blake.
54772 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
54774         intprops: remove assumption about A|B representation
54775         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
54776         is a valid integer if both A and B are.  Although this is true for
54777         all known practical hosts, the C standard doesn't guarantee it,
54778         and the code need not assume it.  Also, this change may work around
54779         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
54780         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
54782 2011-05-20  Eric Blake  <eblake@redhat.com>
54784         perror: work around FreeBSD bug
54785         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
54786         is broken.  Move AC_LIBOBJ...
54787         * modules/perror (configure.ac): Here.
54788         * doc/posix-functions/perror.texi (perror): Document this.
54789         * tests/test-perror2.c (main): Enhance test.
54791         test-perror: check for strerror interactions
54792         * tests/macros.h (STREQ): Add macro.
54793         * modules/perror-tests (Files): Add second test.
54794         * tests/test-perror2.c (main): New file.
54795         * doc/posix-functions/perror.texi (perror): Document glibc bug.
54797         test-perror: rewrite to use init script
54798         * modules/perror-tests (Files): Add init.sh.
54799         * tests/test-perror.sh: Use temporary directory.
54801 2011-05-20  Jim Meyering  <meyering@redhat.com>
54803         maint: replace misused "a" with "an"
54804         * doc/intprops.texi: "a integer"
54805         * doc/regex.texi: "a explanation"
54806         * lib/alignof.h: "a object"
54807         * lib/argmatch.h: "a explanation"
54808         * lib/argp-help.c: "a option" and "a OPTION_DOC"
54809         * lib/stdint.in.h: "a integer"
54810         * lib/userspec.c: "a owner"
54811         * doc/gnulib.texi: Fix "a idea", and reword.
54813 2011-05-19  Jim Meyering  <meyering@redhat.com>
54815         maint: correct misuse of "a" and "an"
54816         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
54817         * lib/argp-help.c: "an docum...": s/an/a/
54818         * lib/argp-parse.c: "An vector": s/An/A/
54819         * lib/execute.c: "an native": s/an/a/
54820         * lib/spawn-pipe.c: Likewise.
54821         * lib/gc.h: "an Gc_rc": s/an/a/
54822         * lib/unigbrk.in.h: "an grapheme": s/an/a/
54823         * lib/fts.c: "an stat.st_dev": s/an/a/
54825 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
54827         intprops-tests: work around HP-UX 11.23 cc bug with constants
54828         * tests/test-intprops.c (VERIFY): New macro.
54829         (main): Use it, instead of verify, to work around the compiler bug; see
54830         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
54832         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
54833         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
54834         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
54835         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
54836         (_GL_REMAINDER_OVERFLOW): Use it.
54838         intprops-tests: revert unsigned part of previous change
54839         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
54840         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
54841         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
54842         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
54844 2011-05-19  Bruno Haible  <bruno@clisp.org>
54846         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
54847         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
54848         strerror_r() returned without filling the buffer.
54849         Reported by Eric Blake.
54851 2011-05-19  Eric Blake  <eblake@redhat.com>
54853         strerror_r: guarantee unchanged errno
54854         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
54855         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
54856         failure.
54857         * tests/test-strerror_r.c (main): Enhance test.
54859 2011-05-19  Bruno Haible  <bruno@clisp.org>
54861         strerror_r: Reorder #if blocks.
54862         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
54863         for consistency with the previous commit.
54865 2011-05-19  Bruno Haible  <bruno@clisp.org>
54867         perror: Avoid clobbering the strerror buffer when possible.
54868         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
54869         * lib/strerror.c: Include it.
54870         * modules/strerror (Files): Add lib/strerror-impl.h.
54871         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
54872         (my_strerror): New function, defined through lib/strerror-impl.h.
54873         (perror): Use it instead of strerror.
54874         * modules/perror (Files): Add lib/strerror-impl.h.
54875         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
54877 2011-05-19  Eric Blake  <eblake@redhat.com>
54879         strerror_r: fix on newer cygwin
54880         * lib/strerror_r.c (strerror_r): Cygwin now has
54881         __xpg_strerror_r, use it.
54883 2011-05-19  Bruno Haible  <bruno@clisp.org>
54885         strerror_r: Avoid clobbering the strerror buffer when possible.
54886         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
54887         (sys_nerr, sys_errlist): New declarations.
54888         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
54889         HP-UX, native Win32, IRIX, and 32-bit Solaris.
54890         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
54892 2011-05-19  Bruno Haible  <bruno@clisp.org>
54894         strerror_r: Fix test failure on mingw.
54895         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
54896         EXTEND_STRERROR_R.
54897         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
54898         macros from errno.in.h instead.
54900 2011-05-19  Eric Blake  <eblake@redhat.com>
54902         strerror: relax test for Solaris
54903         * tests/test-strerror.c (main): Permit Solaris behavior.
54904         * tests/test-strerror_r.c (main): Likewise.
54906         strerror: enforce POSIX ruling on strerror(0)
54907         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
54908         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
54909         * lib/strerror_r.c (rpl_strerror_r): Work around it.
54910         * doc/posix-functions/strerror.texi (strerror): Document it.
54911         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
54912         * tests/test-strerror.c (main): Strengthen test.
54913         * tests/test-strerror_r.c (main): Likewise.
54915 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
54917         intprop-tests: port to older and more-pedantic compilers
54918         * modules/intprops-tests (Files): Add tests/macros.h.
54919         * tests/test-intprops.c: Include macros.h.
54920         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
54921         it's no longer documented to expand to an integer constant expression.
54922         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
54923         argument is floating point, as it's no longer documented to expand
54924         to an integer constant expression in that case.
54925         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
54926         compiler bugs reported by Bruno Haible.  See
54927         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
54928         (U0, U1): New constants, to work around the same bugs.  Also,
54929         in tests, use e.g., "(unsigned int) 39" rather than "39u".
54931         intprops: work around C compiler bugs
54932         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
54933         bug in Sun C 5.11 2010/08/13 and other compilers; see
54934         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
54936         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
54937         * doc/intprops.texi (Integer Type Determination): Fix
54938         documentation for TYPE_IS_INTEGER: it returns an constant
54939         expression, not an integer constant expression.  Fix doc for
54940         TYPE_SIGNED: it returns an integer constant expression only if its
54941         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
54942         hardly worth documented that way....)
54944 2011-05-18  Bruno Haible  <bruno@clisp.org>
54946         strerror_r: Avoid clobbering the strerror buffer when possible.
54947         * lib/strerror_r.c (strerror_r): Merge the three implementations.
54948         Handle gnulib defined errno values here. When strerror() returns NULL
54949         or an empty string, return EINVAL.
54950         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
54951         gnulib defined errno values here.
54952         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
54954 2011-05-18  Eric Blake  <eblake@redhat.com>
54956         fnmatch: avoid compiler warning
54957         * lib/fnmatch_loop.c (FCT): Use correct type.
54958         Reported by Matthias Bolte.
54960 2011-05-13  Jim Meyering  <meyering@redhat.com>
54962         maint.mk: three new prohibit_<HDR>_without_use rules
54963         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
54964         (sc_prohibit_stdio-safer_without_use): Likewise.
54965         (sc_prohibit_xfreopen_without_use): Likewise.
54967 2011-05-17  Jim Meyering  <meyering@redhat.com>
54969         announce-gen: fail if the NEWS delta is empty
54970         If there's nothing noteworthy in NEWS, then either you forgot
54971         or you shouldn't be releasing.
54972         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
54974 2011-05-17  Pádraig Brady  <P@draigBrady.com>
54976         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
54977         reserved symbols starting with double underscore from the check.
54979 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
54981         intprops: add doc
54982         * doc/intprops.texi: New file, documenting intprops.
54983         * doc/gnulib.texi (Particular Modules): Include it.
54985         verify: add doc to gnulib manual and fix example
54986         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
54987         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
54988         (Compile-time Assertions): Fix example so it can't overflow.
54990 2011-05-17  Jim Meyering  <meyering@redhat.com>
54992         warnings.m4: don't usurp save_CPPFLAGS variable name
54993         * m4/warnings.m4: Prefix local temporary variable name with gl_.
54995         doc: fix typo
54996         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
54998 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
54999             Bruno Haible  <bruno@clisp.org>
55001         doc: Tweak recent change.
55002         * README (Portability guidelines): Tweak new text.
55003         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
55004         Interix 6.1.
55006 2011-05-16  Eric Blake  <eblake@redhat.com>
55008         inttypes: avoid autoconf warning
55009         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
55010         * m4/stdint.m4 (gl_STDINT_H): Likewise.
55012 2011-05-16  Sam Steingold  <sds@gnu.org>
55013         and Eric Blake  <eblake@redhat.com>
55015         vc-list-files: accept multiple directory operands
55016         * build-aux/vc-list-files: Iterate over all remaining operands.
55018 2011-05-16  Bruno Haible  <bruno@clisp.org>
55020         Fix confusion regarding deprecated modules.
55021         * modules/calloc (Status, Notice): Mark module as deprecated, not
55022         obsolete.
55023         * modules/fnmatch-posix (Status, Notice): Likewise.
55024         * modules/getdate (Status, Notice): Likewise.
55025         * modules/getopt (Status, Notice): Likewise.
55026         * modules/malloc (Status, Notice): Likewise.
55027         * modules/pipe (Status, Notice): Likewise.
55028         * modules/realloc (Status, Notice): Likewise.
55029         * modules/rename-dest-slash (Status, Notice): Likewise.
55030         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
55031         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
55032         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
55033         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
55034         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
55036 2011-05-16  Bruno Haible  <bruno@clisp.org>
55038         doc: List the target platforms.
55039         * doc/gnulib-intro.texi (Target Platforms): New section.
55040         * doc/gnulib.texi (Introduction): Update menu.
55041         * README (Portability guidelines): Refer to the new section. Update
55042         statement about oldest supported environment. Remove rationale why
55043         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
55044         unportable C89 function.
55045         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
55046         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
55048 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55050         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
55052 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55054         intprops-tests: new module
55055         * modules/intprops-tests, tests/test-intprops.c: New files.
55057         intprops: add safe, portable integer overflow checking
55058         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
55059         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
55060         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
55061         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
55062         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
55063         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
55064         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
55065         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
55066         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
55067         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
55068         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
55070 2011-05-12  James Youngman  <jay@gnu.org>
55072         Add a test for glibc's Bugzilla bug #12378.
55073         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
55074         doesn't allow the literal matching of a lone "[" (which is
55075         required by POSIX).
55076         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
55078 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
55080         Sync glibc change fixing Bugzilla bug #12378.
55081         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
55082         beginning and fall back to matching as normal character if the
55083         string ends before the matching ']' is found.  This is what POSIX
55084         requires.
55086 2011-05-13  Eric Blake  <eblake@redhat.com>
55088         getcwd-lgpl: relax test for FreeBSD
55089         * doc/posix-functions/getcwd.texi (getcwd): Document portability
55090         issue.
55091         * tests/test-getcwd-lgpl.c (main): Relax test.
55092         Reported by Matthias Bolte.
55094 2011-05-11  Eric Blake  <eblake@redhat.com>
55096         test-fflush: silence compiler warning
55097         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
55099 2011-05-11  Bruno Haible  <bruno@clisp.org>
55101         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
55102         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
55103         * modules/canonicalize (Depends-on): Add 'nocrash'.
55104         * modules/canonicalize-lgpl (Depends-on): Likewise.
55105         * doc/posix-functions/realpath.texi: Update platforms list.
55106         Reported by Ryan Schmidt <ryandesign@macports.org>.
55108 2011-05-11  Bruno Haible  <bruno@clisp.org>
55110         group-member: Declare function in <unistd.h>.
55111         * lib/unistd.in.h (group_member): New declaration.
55112         * lib/group-member.h: Remove file.
55113         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
55114         * tests/test-unistd-c++.cc: Check signature of group_member.
55115         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
55116         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
55117         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
55118         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
55119         HAVE_GROUP_MEMBER.
55120         * modules/group-member (Files): Remove lib/group-member.h.
55121         (Depends-on): Add unistd. Specify conditions.
55122         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55123         (Include): Change to <unistd.h>.
55124         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
55125         HAVE_GROUP_MEMBER.
55126         * NEWS: Mention the change.
55127         * lib/euidaccess.c: Don't include group-member.h.
55129 2011-05-11  Bruno Haible  <bruno@clisp.org>
55131         group-member: Document module.
55132         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
55133         module.
55135 2011-05-11  Bruno Haible  <bruno@clisp.org>
55137         fclose: Fix mistake earlier today.
55138         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
55140 2011-05-11  Eric Blake  <eblake@redhat.com>
55142         fclose: preserve fflush errors
55143         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
55144         Reported by Jim Meyering.
55146         bootstrap: support a prereq of 'rpcgen -' on RHEL5
55147         * build-aux/bootstrap (check_versions): When no specific version
55148         is required, merely check that the app produces an exit status
55149         that indicates its existence.
55151         maint.mk: drop redundant check
55152         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
55153         the same but better.
55155 2011-05-11  Bruno Haible  <bruno@clisp.org>
55157         fclose: Fix possible link error.
55158         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
55159         unregister_shadow_fd. Improve comments.
55160         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
55161         Eric Blake.
55163 2011-05-11  Jim Meyering  <meyering@redhat.com>
55165         maint.mk: improve "can not" detection and generalize rule name
55166         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
55167         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
55168         Use the same technique as in sc_prohibit_doubled_word, so that
55169         we recognize "can not" also when the words are separated by a newline.
55170         Suggested by Eric Blake.
55171         (perl_filename_lineno_text_): Define.  Factored out of...
55172         (prohibit_doubled_word_): ...here.  Use the new definition.
55173         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
55174         (prohibit_undesirable_word_seq_RE_): New overridable variable.
55175         (ignore_undesirable_word_sequence_RE_): New overridable variable.
55177 2011-05-10  Eric Blake  <eblake@redhat.com>
55179         fclose: avoid double close race when possible
55180         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
55181         all but WINDOWS_SOCKETS.
55183 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
55185         openat: correct new comment
55186         * lib/openat-proc.c (openat_proc_name): Correct the comment.
55188 2011-05-10  Jim Meyering  <meyering@redhat.com>
55190         openat: add comments
55191         * lib/openat-proc.c (openat_proc_name): Add comments,
55192         mostly from Eric Blake.
55194 2011-05-09  Eric Blake  <eblake@redhat.com>
55196         openat: reduce syscalls in first probe of /proc
55197         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
55198         be a directory.  Simplify the probe for .. bugs.
55199         * modules/openat (Depends-on): Drop same-inode.
55200         Reported by Bastien ROUCARIES.
55202 2011-05-09  Jim Meyering  <meyering@redhat.com>
55204         maint.mk: change semantics/name of tight_scope variables
55205         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
55206         Rename variables to align with semantics that make them more useful.
55208         maint.mk: tweak new rule's name not to impinge
55209         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
55210         (sc_tight_scope): Use new rule name rather than $@-0.
55212         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
55213         * top/maint.mk (sc_tight_scope): New rule.
55214         (sc_tight_scope-0): New rule, ifdef'd out.
55215         (_gl_TS_dir): Default.
55216         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
55217         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
55219 2011-05-09  Simon Josefsson  <simon@josefsson.org>
55221         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
55222         Haible <bruno@clisp.org>.
55224 2011-05-08  Bruno Haible  <bruno@clisp.org>
55226         Comments.
55227         * m4/isnanf.m4: Add comment.
55228         * m4/isnanl.m4: Likewise.
55230 2011-05-08  Bruno Haible  <bruno@clisp.org>
55232         glob: Remove obsolete macro.
55233         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
55235 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
55237         intprops: Sun C 5.11 supports __typeof__
55238         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
55239         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
55240         which is new.
55241         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
55243         intprops: switch to usual gnulib indenting and naming
55244         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
55245         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
55247         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
55249 2011-05-08  Jim Meyering  <meyering@redhat.com>
55251         maint.mk: suppress "Entering/Leaving directory" diag in announcement
55252         * top/maint.mk (release-prep): Use make's --no-print-directory
55253         option when generating the announcement.  This eliminates the
55254         pesky "make[2]: Entering/Leaving directory" diagnostics in the
55255         generated announcement template.
55257 2011-05-08  Bruno Haible  <bruno@clisp.org>
55259         tzset: Fix gettimeofday wrapper on Solaris 2.6.
55260         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
55261         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
55263 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
55265         ignore-value, verify: Omit include files from lib_SOURCES.
55266         * modules/ignore-value, modules/verify (Makefile.am):
55267         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
55268         that leads Automake to duplicate use of am__objects_... variables
55269         in Makefile.in.  See
55270         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
55272 2011-05-07  Bruno Haible  <bruno@clisp.org>
55274         fclose: Simplify autoconf macro.
55275         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
55276         defined.
55278 2011-05-07  Bruno Haible  <bruno@clisp.org>
55280         canonicalize-lgpl: Fix autoconf macro ordering bug.
55281         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
55282         gl_STDLIB_H_DEFAULTS.
55284 2011-05-06  Eric Blake  <eblake@redhat.com>
55286         maintainer-makefile: make sc_po_check easier to tune
55287         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
55288         to probe for strings, such as an alternate location for gnulib.
55290         fclose: guarantee behavior on seekable stdin
55291         * modules/fclose (Depends-on): Add fflush.
55292         * doc/posix-functions/fclose.texi (fclose): Document this.
55293         * tests/test-fclose.c (main): Make test for this unconditional.
55295 2011-05-06  Bruno Haible  <bruno@clisp.org>
55297         fflush, fpurge: Relicense under LGPLv2+.
55298         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
55299         * modules/fpurge (License): Likewise.
55300         With permission from Eric Blake and Jim Meyering.
55301         Suggested by Eric Blake.
55303 2011-05-06  Karl Berry  <karl@gnu.org>
55305         * MODULES.html.sh (func_all_modules): remove exit.
55307 2011-05-06  Jim Meyering  <meyering@redhat.com>
55309         maint.mk: use info-gnu@ as the default only for a stable release
55310         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
55311         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
55312         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
55313         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
55315 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55317         assert-h: new module, which supports C1X-style static_assert
55318         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
55319         * lib/verify.h: Revamp so that this can be copied into assert.h,
55320         while retaining the ability to use it standalone as before.
55321         Rename private identifiers so as not to encroach on the
55322         standard C namespace, since this is now used by assert.h.
55323         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
55324         the old verify_true.
55325         (_GL_VERIFY_TRUE): New macro, with much of the contents of
55326         the old verify_true.  Use _GL_VERIFY_TYPE.
55327         (_GL_VERIFY): New macro, with much of the contents of the old verify.
55328         (static_assert): New macro, if _GL_STATIC_ASSERT_H
55329         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
55330         defined when this file is copied into the replacement assert.h.
55331         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
55332         and _Static_assert is not built in.
55333         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
55334         defined, and use the new macros mentioned above.
55335         * doc/posix-headers/assert.texi: Document this.
55337 2011-05-05  Bruno Haible  <bruno@clisp.org>
55339         fclose, fflush: Respect rules for use of AC_LIBOBJ.
55340         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
55341         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
55342         gl_REPLACE_FCLOSE here.
55343         * modules/fflush (Depends-on): Remove fclose.
55344         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
55345         combination with module 'fclose'.
55347 2011-05-05  Bruno Haible  <bruno@clisp.org>
55349         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
55350         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
55351         gl_FUNC_FFLUSH.
55352         (gl_FUNC_FFLUSH): Use it.
55353         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
55354         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
55355         gl_REPLACE_FSEEKO here.
55357 2011-05-05  Bruno Haible  <bruno@clisp.org>
55359         tzset: Relicense under LGPL.
55360         * modules/tzset (License): Change to LGPL.
55361         No agreement needed; it's a no-op.
55363         strtoimax, strtoumax: Relicense under LGPL.
55364         * modules/strtoimax (License): Change to LGPL.
55365         * modules/strtoumax (License): Likewise.
55366         With permission from Jim Meyering, Paul Eggert:
55367         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
55368         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
55370         getgroups: Relicense under LGPL.
55371         * modules/getgroups (License): Change to LGPL.
55372         With permission from Jim Meyering, Paul Eggert, Eric Blake:
55373         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
55374         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
55375         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55377         nanosleep: Relicense under LGPL.
55378         * modules/nanosleep (License): Change to LGPL.
55379         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
55380         Haible:
55381         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
55382         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
55383         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55384         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
55386         futimens: Relicense under LGPL.
55387         * modules/futimens (License): Change to LGPL.
55388         With permission from Eric Blake:
55389         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55391         fflush: Relicense under LGPL.
55392         * modules/fflush (License): Change to LGPL.
55393         With permission from Eric Blake, Bruno Haible, Jim Meyering:
55394         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55395         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
55396         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
55398         tmpfile: Relicense under LGPL.
55399         * modules/tmpfile (License): Change to LGPL.
55400         With permission from Ben Pfaff:
55401         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
55403         isfinite: Relicense under LGPL.
55404         * modules/isfinite (License): Change to LGPL.
55405         With permission from Ben Pfaff, Bruno Haible:
55406         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
55407         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
55409         acosl..tanl: Relicense under LGPL.
55410         * modules/acosl (License): Change to LGPL.
55411         * modules/asinl (License): Likewise.
55412         * modules/atanl (License): Likewise.
55413         * modules/cosl (License): Likewise.
55414         * modules/expl (License): Likewise.
55415         * modules/logl (License): Likewise.
55416         * modules/sinl (License): Likewise.
55417         * modules/sqrtl (License): Likewise.
55418         * modules/tanl (License): Likewise.
55419         Source code originally from glibc and Paolo Bonzini. Agreements:
55420         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
55421         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
55423 2011-05-05  Bruno Haible  <bruno@clisp.org>
55425         signal: Define sighandler_t.
55426         * lib/signal.in.h (sighandler_t): New type.
55427         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
55428         whether sighandler_t is defined.
55429         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
55430         * modules/signal (Depends-on): Add extensions.
55431         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
55432         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
55433         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
55435 2011-05-05  Eric Blake  <eblake@redhat.com>
55437         maint: remove useless REPLACE_*_H macros
55438         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
55439         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
55440         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
55441         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
55442         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
55443         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
55444         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
55445         * m4/btowc.m4: Update callers.
55446         * m4/dirfd.m4: Likewise.
55447         * m4/duplocale.m4: Likewise.
55448         * m4/fchdir.m4: Likewise.
55449         * m4/fdopendir.m4: Likewise.
55450         * m4/inet_ntop.m4: Likewise.
55451         * m4/inet_pton.m4: Likewise.
55452         * m4/ioctl.m4: Likewise.
55453         * m4/mbrlen.m4: Likewise.
55454         * m4/mbrtowc.m4: Likewise.
55455         * m4/mbsinit.m4: Likewise.
55456         * m4/mbsnrtowcs.m4: Likewise.
55457         * m4/mbsrtowcs.m4: Likewise.
55458         * m4/poll.m4: Likewise.
55459         * m4/setlocale.m4: Likewise.
55460         * m4/wcrtomb.m4: Likewise.
55461         * m4/wcsnrtombs.m4: Likewise.
55462         * m4/wcsrtombs.m4: Likewise.
55463         * m4/wctob.m4: Likewise.
55464         * m4/wcwidth.m4: Likewise.
55465         * modules/posix_spawn: Likewise.
55466         * modules/posix_spawn_file_actions_addclose: Likewise.
55467         * modules/posix_spawn_file_actions_adddup2: Likewise.
55468         * modules/posix_spawn_file_actions_addopen: Likewise.
55469         * modules/posix_spawn_file_actions_destroy: Likewise.
55470         * modules/posix_spawn_file_actions_init: Likewise.
55471         * modules/posix_spawnattr_destroy: Likewise.
55472         * modules/posix_spawnattr_getflags: Likewise.
55473         * modules/posix_spawnattr_getpgroup: Likewise.
55474         * modules/posix_spawnattr_getschedparam: Likewise.
55475         * modules/posix_spawnattr_getschedpolicy: Likewise.
55476         * modules/posix_spawnattr_getsigdefault: Likewise.
55477         * modules/posix_spawnattr_getsigmask: Likewise.
55478         * modules/posix_spawnattr_init: Likewise.
55479         * modules/posix_spawnattr_setflags: Likewise.
55480         * modules/posix_spawnattr_setpgroup: Likewise.
55481         * modules/posix_spawnattr_setschedparam: Likewise.
55482         * modules/posix_spawnattr_setschedpolicy: Likewise.
55483         * modules/posix_spawnattr_setsigdefault: Likewise.
55484         * modules/posix_spawnattr_setsigmask: Likewise.
55485         * modules/posix_spawnp: Likewise.
55487 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
55489         Add option to do-release-commit-and-tag to specify branch.
55490         * build-aux/do-release-commit-and-tag: Add --branch.
55492 2011-05-03  Bruno Haible  <bruno@clisp.org>
55494         Avoid unnecessary compilation units, through conditional dependencies.
55495         * modules/accept (Depends-on): Add conditions to the dependencies.
55496         * modules/acosl (Depends-on): Likewise.
55497         * modules/argz (Depends-on): Likewise.
55498         * modules/asinl (Depends-on): Likewise.
55499         * modules/atanl (Depends-on): Likewise.
55500         * modules/atoll (Depends-on): Likewise.
55501         * modules/bind (Depends-on): Likewise.
55502         * modules/btowc (Depends-on): Likewise.
55503         * modules/canonicalize-lgpl (Depends-on): Likewise.
55504         * modules/ceil (Depends-on): Likewise.
55505         * modules/ceilf (Depends-on): Likewise.
55506         * modules/ceill (Depends-on): Likewise.
55507         * modules/chdir-long (Depends-on): Likewise.
55508         * modules/chown (Depends-on): Likewise.
55509         * modules/close (Depends-on): Likewise.
55510         * modules/connect (Depends-on): Likewise.
55511         * modules/cosl (Depends-on): Likewise.
55512         * modules/dirfd (Depends-on): Likewise.
55513         * modules/dprintf (Depends-on): Likewise.
55514         * modules/dprintf-posix (Depends-on): Likewise.
55515         * modules/error (Depends-on): Likewise.
55516         * modules/euidaccess (Depends-on): Likewise.
55517         * modules/expl (Depends-on): Likewise.
55518         * modules/faccessat (Depends-on): Likewise.
55519         * modules/fchdir (Depends-on): Likewise.
55520         * modules/fclose (Depends-on): Likewise.
55521         * modules/fcntl (Depends-on): Likewise.
55522         * modules/fdopendir (Depends-on): Likewise.
55523         * modules/fflush (Depends-on): Likewise.
55524         * modules/floor (Depends-on): Likewise.
55525         * modules/floorf (Depends-on): Likewise.
55526         * modules/floorl (Depends-on): Likewise.
55527         * modules/fnmatch (Depends-on): Likewise.
55528         * modules/fopen (Depends-on): Likewise.
55529         * modules/fprintf-posix (Depends-on): Likewise.
55530         * modules/frexp (Depends-on): Likewise.
55531         * modules/frexp-nolibm (Depends-on): Likewise.
55532         * modules/frexpl (Depends-on): Likewise.
55533         * modules/frexpl-nolibm (Depends-on): Likewise.
55534         * modules/fseek (Depends-on): Likewise.
55535         * modules/fsusage (Depends-on): Likewise.
55536         * modules/ftell (Depends-on): Likewise.
55537         * modules/ftello (Depends-on): Likewise.
55538         * modules/futimens (Depends-on): Likewise.
55539         * modules/getcwd (Depends-on): Likewise.
55540         * modules/getcwd-lgpl (Depends-on): Likewise.
55541         * modules/getdelim (Depends-on): Likewise.
55542         * modules/getdomainname (Depends-on): Likewise.
55543         * modules/getgroups (Depends-on): Likewise.
55544         * modules/gethostname (Depends-on): Likewise.
55545         * modules/getline (Depends-on): Likewise.
55546         * modules/getlogin_r (Depends-on): Likewise.
55547         * modules/getopt-posix (Depends-on): Likewise.
55548         * modules/getpeername (Depends-on): Likewise.
55549         * modules/getsockname (Depends-on): Likewise.
55550         * modules/getsockopt (Depends-on): Likewise.
55551         * modules/getsubopt (Depends-on): Likewise.
55552         * modules/getusershell (Depends-on): Likewise.
55553         * modules/glob (Depends-on): Likewise.
55554         * modules/grantpt (Depends-on): Likewise.
55555         * modules/iconv_open (Depends-on): Likewise.
55556         * modules/iconv_open-utf (Depends-on): Likewise.
55557         * modules/inet_ntop (Depends-on): Likewise.
55558         * modules/inet_pton (Depends-on): Likewise.
55559         * modules/ioctl (Depends-on): Likewise.
55560         * modules/isapipe (Depends-on): Likewise.
55561         * modules/isfinite (Depends-on): Likewise.
55562         * modules/isinf (Depends-on): Likewise.
55563         * modules/lchown (Depends-on): Likewise.
55564         * modules/ldexpl (Depends-on): Likewise.
55565         * modules/link (Depends-on): Likewise.
55566         * modules/linkat (Depends-on): Likewise.
55567         * modules/listen (Depends-on): Likewise.
55568         * modules/logl (Depends-on): Likewise.
55569         * modules/lstat (Depends-on): Likewise.
55570         * modules/mbrlen (Depends-on): Likewise.
55571         * modules/mbrtowc (Depends-on): Likewise.
55572         * modules/mbsinit (Depends-on): Likewise.
55573         * modules/mbsnrtowcs (Depends-on): Likewise.
55574         * modules/mbsrtowcs (Depends-on): Likewise.
55575         * modules/mbtowc (Depends-on): Likewise.
55576         * modules/memcmp (Depends-on): Likewise.
55577         * modules/mkdir (Depends-on): Likewise.
55578         * modules/mkdtemp (Depends-on): Likewise.
55579         * modules/mkfifo (Depends-on): Likewise.
55580         * modules/mkfifoat (Depends-on): Likewise.
55581         * modules/mknod (Depends-on): Likewise.
55582         * modules/mkostemp (Depends-on): Likewise.
55583         * modules/mkostemps (Depends-on): Likewise.
55584         * modules/mkstemp (Depends-on): Likewise.
55585         * modules/mkstemps (Depends-on): Likewise.
55586         * modules/mktime (Depends-on): Likewise.
55587         * modules/nanosleep (Depends-on): Likewise.
55588         * modules/open (Depends-on): Likewise.
55589         * modules/openat (Depends-on): Likewise.
55590         * modules/perror (Depends-on): Likewise.
55591         * modules/poll (Depends-on): Likewise.
55592         * modules/popen (Depends-on): Likewise.
55593         * modules/posix_spawn (Depends-on): Likewise.
55594         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
55595         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55596         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55597         * modules/posix_spawnp (Depends-on): Likewise.
55598         * modules/pread (Depends-on): Likewise.
55599         * modules/printf-posix (Depends-on): Likewise.
55600         * modules/ptsname (Depends-on): Likewise.
55601         * modules/putenv (Depends-on): Likewise.
55602         * modules/pwrite (Depends-on): Likewise.
55603         * modules/readline (Depends-on): Likewise.
55604         * modules/readlink (Depends-on): Likewise.
55605         * modules/readlinkat (Depends-on): Likewise.
55606         * modules/recv (Depends-on): Likewise.
55607         * modules/recvfrom (Depends-on): Likewise.
55608         * modules/regex (Depends-on): Likewise.
55609         * modules/remove (Depends-on): Likewise.
55610         * modules/rename (Depends-on): Likewise.
55611         * modules/renameat (Depends-on): Likewise.
55612         * modules/rmdir (Depends-on): Likewise.
55613         * modules/round (Depends-on): Likewise.
55614         * modules/roundf (Depends-on): Likewise.
55615         * modules/roundl (Depends-on): Likewise.
55616         * modules/rpmatch (Depends-on): Likewise.
55617         * modules/select (Depends-on): Likewise.
55618         * modules/send (Depends-on): Likewise.
55619         * modules/sendto (Depends-on): Likewise.
55620         * modules/setenv (Depends-on): Likewise.
55621         * modules/setlocale (Depends-on): Likewise.
55622         * modules/setsockopt (Depends-on): Likewise.
55623         * modules/shutdown (Depends-on): Likewise.
55624         * modules/sigaction (Depends-on): Likewise.
55625         * modules/signbit (Depends-on): Likewise.
55626         * modules/sigprocmask (Depends-on): Likewise.
55627         * modules/sinl (Depends-on): Likewise.
55628         * modules/sleep (Depends-on): Likewise.
55629         * modules/snprintf (Depends-on): Likewise.
55630         * modules/snprintf-posix (Depends-on): Likewise.
55631         * modules/socket (Depends-on): Likewise.
55632         * modules/sprintf-posix (Depends-on): Likewise.
55633         * modules/sqrtl (Depends-on): Likewise.
55634         * modules/stat (Depends-on): Likewise.
55635         * modules/strchrnul (Depends-on): Likewise.
55636         * modules/strdup-posix (Depends-on): Likewise.
55637         * modules/strerror (Depends-on): Likewise.
55638         * modules/strerror_r-posix (Depends-on): Likewise.
55639         * modules/strndup (Depends-on): Likewise.
55640         * modules/strnlen (Depends-on): Likewise.
55641         * modules/strptime (Depends-on): Likewise.
55642         * modules/strsep (Depends-on): Likewise.
55643         * modules/strsignal (Depends-on): Likewise.
55644         * modules/strstr-simple (Depends-on): Likewise.
55645         * modules/strtod (Depends-on): Likewise.
55646         * modules/strtoimax (Depends-on): Likewise.
55647         * modules/strtok_r (Depends-on): Likewise.
55648         * modules/strtoumax (Depends-on): Likewise.
55649         * modules/symlink (Depends-on): Likewise.
55650         * modules/symlinkat (Depends-on): Likewise.
55651         * modules/tanl (Depends-on): Likewise.
55652         * modules/tcgetsid (Depends-on): Likewise.
55653         * modules/tmpfile (Depends-on): Likewise.
55654         * modules/trunc (Depends-on): Likewise.
55655         * modules/truncf (Depends-on): Likewise.
55656         * modules/truncl (Depends-on): Likewise.
55657         * modules/uname (Depends-on): Likewise.
55658         * modules/unlink (Depends-on): Likewise.
55659         * modules/unlockpt (Depends-on): Likewise.
55660         * modules/unsetenv (Depends-on): Likewise.
55661         * modules/usleep (Depends-on): Likewise.
55662         * modules/utimensat (Depends-on): Likewise.
55663         * modules/vasprintf (Depends-on): Likewise.
55664         * modules/vdprintf (Depends-on): Likewise.
55665         * modules/vdprintf-posix (Depends-on): Likewise.
55666         * modules/vfprintf-posix (Depends-on): Likewise.
55667         * modules/vprintf-posix (Depends-on): Likewise.
55668         * modules/vsnprintf (Depends-on): Likewise.
55669         * modules/vsnprintf-posix (Depends-on): Likewise.
55670         * modules/vsprintf-posix (Depends-on): Likewise.
55671         * modules/wcrtomb (Depends-on): Likewise.
55672         * modules/wcscasecmp (Depends-on): Likewise.
55673         * modules/wcscspn (Depends-on): Likewise.
55674         * modules/wcsdup (Depends-on): Likewise.
55675         * modules/wcsncasecmp (Depends-on): Likewise.
55676         * modules/wcsnrtombs (Depends-on): Likewise.
55677         * modules/wcspbrk (Depends-on): Likewise.
55678         * modules/wcsrtombs (Depends-on): Likewise.
55679         * modules/wcsspn (Depends-on): Likewise.
55680         * modules/wcsstr (Depends-on): Likewise.
55681         * modules/wcstok (Depends-on): Likewise.
55682         * modules/wcswidth (Depends-on): Likewise.
55683         * modules/wctob (Depends-on): Likewise.
55684         * modules/wctomb (Depends-on): Likewise.
55685         * modules/wctype (Depends-on): Likewise.
55686         * modules/wcwidth (Depends-on): Likewise.
55687         * modules/write (Depends-on): Likewise.
55689 2011-05-03  Bruno Haible  <bruno@clisp.org>
55691         Support for conditional dependencies.
55692         * doc/gnulib.texi (Module description): Document the syntax of
55693         conditional dependencies.
55694         * gnulib-tool: New option --conditional-dependencies.
55695         (func_usage): Document it.
55696         (cond_dependencies): New variable.
55697         (func_get_automake_snippet_conditional,
55698         func_get_automake_snippet_unconditional): New functions, extracted from
55699         func_get_automake_snippet.
55700         (func_get_automake_snippet): Use them.
55701         (sed_first_32_chars): New variable.
55702         (func_module_shellfunc_name): New function.
55703         (func_module_shellvar_name): New function.
55704         (func_module_conditional_name): New function.
55705         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
55706         func_cond_module_condition): New functions.
55707         (func_modules_transitive_closure): Add support for conditional
55708         dependencies.
55709         (func_emit_lib_Makefile_am): For a conditional module, enclose the
55710         conditional automake snippet in an automake conditional.
55711         (func_emit_autoconf_snippets): Emit shell functions that contain the
55712         code for conditional modules.
55713         (func_import, func_create_testdir): Update specification.
55715 2011-05-03  Eric Blake  <eblake@redhat.com>
55717         test-getaddrinfo: report error information
55718         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
55720 2011-05-03  Jim Meyering  <meyering@redhat.com>
55722         bootstrap: avoid build failure when $GZIP is set
55723         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
55724         program name.  If defined at all, it is supposed to list gzip options.
55725         Reported by Alan Curry in http://debbugs.gnu.org/8609
55727 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
55729         readme-release: new module with release instructions
55730         * modules/readme-release: New module.
55731         * top/README-release: New file, from coreutils, grep, diffutils.
55732         * MODULES.html.sh (Support for maintaining and releasing): Add it.
55734 2011-05-02  Eric Blake  <eblake@redhat.com>
55736         fflush: also replace fclose when fixing fflush
55737         * modules/fflush (Depends-on): Add fclose.
55738         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
55739         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
55740         memstreams with no backing fd.
55741         * doc/posix-functions/fclose.texi (fclose): Document the use of
55742         fflush module to fix the bug.
55743         * tests/test-fclose.c (main): Relax test when fclose is used in
55744         isolation.
55746         fclose: add some tests
55747         * modules/fclose-tests: New test module.
55748         * tests/test-fclose.c: New file.
55749         * doc/posix-functions/fclose.texi (fclose): Document the bug.
55751         fclose: reduced dependencies
55752         * modules/fclose (Depends-on): Switch from fflush/fseeko to
55753         simpler lseek.
55754         * lib/fclose.c (rpl_fclose): Likewise.
55755         Reported by Simon Josefsson.
55757         exit: drop remaining clients
55758         * modules/argmatch (Depends-on): Replace exit with stdlib.
55759         * modules/copy-file (Depends-on): Likewise.
55760         * modules/execute (Depends-on): Likewise.
55761         * modules/exitfail (Depends-on): Likewise.
55762         * modules/obstack (Depends-on): Likewise.
55763         * modules/pagealign_alloc (Depends-on): Likewise.
55764         * modules/pipe-filter-gi (Depends-on): Likewise.
55765         * modules/pipe-filter-ii (Depends-on): Likewise.
55766         * modules/savewd (Depends-on): Likewise.
55767         * modules/spawn-pipe (Depends-on): Likewise.
55768         * modules/wait-process (Depends-on): Likewise.
55769         * modules/xsetenv (Depends-on): Likewise.
55770         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
55771         * modules/git-merge-changelog (Depends-on): Likewise.
55772         * modules/long-options (Depends-on): Likewise.
55773         * modules/pt_chown (Depends-on): Likewise.
55774         * modules/sysexits (Depends-on): Likewise.
55776         freading: relax license from LGPLv3+ to LGPLv2+
55777         * modules/freading (License): Relax LGPL version.
55779 2011-05-02  Bruno Haible  <bruno@clisp.org>
55781         fchdir: Remove unused dependencies.
55782         * modules/fchdir (Depends-on): Remove include_next.
55784 2011-05-02  Bruno Haible  <bruno@clisp.org>
55786         gnulib-tool: Refactor.
55787         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
55788         from func_emit_autoconf_snippets.
55789         (func_emit_autoconf_snippets): Use it.
55791 2011-05-02  Simon Josefsson  <simon@josefsson.org>
55793         * NEWS: Document removal of 'exit'.
55794         * modules/exit: Remove file.
55796 2011-05-01  Bruno Haible  <bruno@clisp.org>
55798         Update DEPENDENCIES.
55799         * DEPENDENCIES (gettext): Recommend the newest release.
55800         Reported by Simon Josefsson.
55802 2011-05-01  Bruno Haible  <bruno@clisp.org>
55804         gnulib-tool: Reduce code duplication.
55805         * gnulib-tool (func_emit_autoconf_snippets): New function.
55806         (func_import, func_create_testdir): Use it.
55808 2011-04-30  Eric Blake  <eblake@redhat.com>
55810         fclose: don't fail on non-seekable input stream
55811         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
55812         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
55813         since fflush is allowed to fail in that case.
55815 2011-04-30  Bruno Haible  <bruno@clisp.org>
55817         dup3: cleanup
55818         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
55820 2011-04-30  Bruno Haible  <bruno@clisp.org>
55822         netdb: Make it work in C++ mode.
55823         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
55824         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
55825         module.
55826         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
55827         gl_MODULE_INDICATOR_FOR_TESTS.
55828         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
55829         * modules/netdb-c++-tests: New file.
55830         * tests/test-netdb-c++.cc: New file.
55832 2011-04-30  Bruno Haible  <bruno@clisp.org>
55834         New modules 'vfscanf', 'vscanf'.
55835         * modules/vfscanf: New file.
55836         * modules/vscanf: New file.
55837         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
55838         here.
55839         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
55840         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
55842 2011-04-30  Bruno Haible  <bruno@clisp.org>
55844         passfd: Add comments.
55845         * lib/passfd.c: Add comments about platforms.
55847 2011-04-30  Bruno Haible  <bruno@clisp.org>
55849         sys_uio: Make <sys/uio.h> self-contained.
55850         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
55851         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
55853 2011-04-30  Bruno Haible  <bruno@clisp.org>
55855         sys_socket: Ensure 'struct iovec' definition.
55856         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
55857         <sys/socket.h>.
55858         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
55860 2011-04-30  Bruno Haible  <bruno@clisp.org>
55862         sys_uio: Protect definition of 'struct iovec'.
55863         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
55864         it as a C struct.
55866 2011-04-30  Bruno Haible  <bruno@clisp.org>
55868         manywarnings: fix indentation
55869         * m4/manywarnings.m4: Indent by 2 spaces consistently.
55871 2011-04-30  Pádraig Brady  <P@draigBrady.com>
55873         manywarnings: add -Wno-missing-field-initializers if needed.
55874         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
55875         option if it's needed to allow initialization with { 0, }
55877 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
55879         announce-gen: cosmetic improvement
55880         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
55882 2011-04-29  Jim Meyering  <meyering@redhat.com>
55884         vc-list-files: indent with spaces, not TABs
55885         * build-aux/vc-list-files: Convert leading TABs to spaces,
55886         to match the style of most other files in gnulib.
55888         announce-gen: indent with spaces, not TABs
55889         * build-aux/announce-gen: Convert all TABs to spaces, to match
55890         the style of most other files in gnulib.
55892 2011-04-29  Eric Blake  <eblake@redhat.com>
55894         quotearg: avoid uninitialized variable use
55895         * lib/quotearg.c (quoting_options_from_style): Initialize
55896         remaining fields, and ensure that custom styles are only used via
55897         quoting_options rather than quoting_style.
55899 2011-04-29  Jim Meyering  <meyering@redhat.com>
55901         maint.mk: remove unused VC-tag variable
55902         * top/maint.mk (VC-tag): Remove unused variable.
55904 2011-04-29  Bruno Haible  <bruno@clisp.org>
55906         netdb: fix gai_strerror replacements
55907         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
55908         * modules/netdb: Substitute it.
55910 2011-04-29  Jim Meyering  <meyering@redhat.com>
55912         test-getcwd.c: avoid new set-but-not-used warning
55913         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
55914         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
55915         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
55916         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
55918         test-hash.c: avoid a new shadowing warning
55919         * tests/test-hash.c (main): Don't shadow "dup".
55921 2011-04-28  Eric Blake  <eblake@redhat.com>
55923         getaddrinfo: fix gai_strerror signature
55924         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
55925         and work around mingw with UNICODE defined.
55926         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
55927         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
55928         * modules/netdb (Makefile.am): Substitute it.
55929         * lib/netdb.in.h (gai_strerror): Declare replacement.
55930         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
55931         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
55932         the fix.
55934         getsockopt: avoid compiler warning
55935         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
55936         Reported by Matthias Bolte.
55938         tests: drop unused link dependency
55939         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
55940         * modules/dirent-safer-tests (Makefile.am): Likewise.
55941         * modules/fdopendir-tests (Makefile.am): Likewise.
55942         * modules/mkfifoat-tests (Makefile.am): Likewise.
55943         * modules/openat-safer-tests (Makefile.am): Likewise.
55944         * modules/openat-tests (Makefile.am): Likewise.
55945         * modules/readlinkat-tests (Makefile.am): Likewise.
55946         * modules/symlinkat-tests (Makefile.am): Likewise.
55947         * modules/linkat-tests (Makefile.am): Likewise.
55948         (Depends-on): Switch to filenamecat-lgpl.
55949         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
55950         LIBINTL.
55951         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
55952         * tests/test-linkat.c (main): Don't require xalloc.
55954         hash, mgetgroups: drop xalloc dependency
55955         * lib/hash.c (includes): Adjust includes.
55956         * lib/mgetgroups.c (includes): Likewise.
55957         (xgetgroups): Move...
55958         * lib/xgetgroups.c: ...to new file.
55959         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
55960         * modules/xgetgroups: New file, split from...
55961         * modules/mgetgroups: ...here.
55962         (Depends-on): Add xalloc-oversized.
55963         * modules/hash (Depends-on): Likewise.
55964         * modules/hash-tests (Depends-on): Drop xalloc.
55965         (test_hash_LDADD): Drop unused library.
55966         * tests/test-hash.c (main): Break xalloc dependency.
55967         (includes): Drop unused include.
55969         xalloc-oversized: new module
55970         * modules/xalloc-oversized: New module.
55971         * modules/xalloc (Depends-on): Add it.
55972         * lib/xalloc.h (xalloc_oversized): Move...
55973         * lib/xalloc-oversized.h: ...into new file.
55975         utimecmp: drop dependency on xmalloc
55976         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
55977         due to memory pressure.
55978         * modules/utimecmp (Depends-on): Drop xalloc.
55980 2011-04-27  Eric Blake  <eblake@redhat.com>
55982         getcwd: fix mingw bugs
55983         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
55984         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
55985         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
55987 2011-04-27  Bruno Haible  <bruno@clisp.org>
55989         mkstemps: Ensure declaration on MacOS X 10.5.
55990         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
55991         * doc/glibc-functions/mkstemps.texi: Document header file problem on
55992         MacOS X.
55994 2011-04-27  Bruno Haible  <bruno@clisp.org>
55996         mkstemp: More documentation.
55997         * doc/posix-functions/mkstemp.texi: Document header file problem on
55998         MacOS X.
56000 2011-04-27  Bruno Haible  <bruno@clisp.org>
56002         mkstemp: Tweak configure message when cross-compiling.
56003         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
56004         result as a guess.
56006 2011-04-27  Bruno Haible  <bruno@clisp.org>
56008         clean-temp: Clarify what it does.
56009         * lib/clean-temp.h: Add more comments.
56010         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
56011         module.
56012         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
56013         * doc/glibc-functions/mkstemps.texi: Likewise.
56014         * doc/glibc-functions/mkostemps.texi: Likewise.
56016 2011-04-27  Eric Blake  <eblake@redhat.com>
56018         fchdir: avoid extra chdir and fix test
56019         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
56020         getcwd-lgpl.
56021         * lib/fchdir.c (get_name): Any absolute name will do; it does not
56022         have to be canonical.
56023         (canonicalize_file_name): Drop unused macro.
56024         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
56026         filenamecat-lgpl: fix licence
56027         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
56028         when it was first created.
56030         linkat, renameat: add missing dependency
56031         * modules/linkat (Depends-on): Require getcwd-lgpl.
56032         * modules/renameat (Depends-on): Likewise.
56034         tests: reduce dependencies
56035         * tests/test-linkat.c (main): Use lighter-weight getcwd.
56036         * tests/test-renameat.c (main): Likewise.
56037         * modules/linkat-tests (Depends-on): Relax dependency.
56038         * modules/renameat-tests (Depends-on): Likewise.
56039         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
56040         dependency explicit.
56042         save-cwd: reduce default dependency
56043         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
56044         * lib/save-cwd.c: Update comments.
56045         * NEWS: Document the semantic change.
56047         getcwd: enhance tests
56048         * tests/test-getcwd-lgpl.c: New file, taken from...
56049         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
56050         repeat long path stress tests from m4 probe.
56051         * modules/getcwd-lgpl-tests: New module.
56052         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
56053         * m4/getcwd-abort-bug.m4: Update comment.
56054         * m4/getcwd-path-max.m4: Likewise.
56056         getcwd-lgpl: new module
56057         * modules/getcwd-lgpl: New module.
56058         * lib/getcwd-lgpl.c: New file.
56059         * doc/posix-functions/getcwd.texi (getcwd): Document it.
56060         * MODULES.html.sh (lacking POSIX:2008): Likewise.
56061         * modules/getcwd (configure.ac): Set C witness.
56062         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
56064         getcwd: tweak comments
56065         * m4/getcwd-abort-bug.m4: Fix comments.
56066         * m4/getcwd-path-max.m4: Likewise.
56067         * m4/getcwd.m4: Likewise.
56069 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56070         and Eric Blake  <eblake@redhat.com>
56072         mkstemp: replace if system version uses wrong permissions
56073         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
56074         read/write mode bits set in file created by mkstemp.
56075         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
56077 2011-04-27  Eric Blake  <eblake@redhat.com>
56079         passfd: avoid compiler warning
56080         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
56081         Reported by Laine Stump.
56083 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
56085         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
56086         required by the NetBSD (and perhaps other 4.4BSD derived) join.
56088 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56089         and Eric Blake  <eblake@redhat.com>
56091         mkstemp: mention clean-temp module
56092         * lib/mkstemp.c: Add comment.
56093         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
56095 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
56097         inttypes: also provide default values for 32-bit tests
56098         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
56099         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
56101 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
56103         strtoumax: remove dependency on strtoimax
56104         This is like the strtoull change of yesterday.
56105         * modules/strtoumax (Files): Add lib/strtoimax.c.
56106         (Depends-on): Remove strtoimax and add verify.
56108         inttypes-incomplete: new module
56109         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
56110         all but the PRI* and SCN* parts of gl_INTTYPES_H.
56111         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
56112         of gl_INTTYPES_H.
56113         (gl_INTTYPES_H): Rewrite in terms of these new macros.
56114         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
56115         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
56116         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
56117         * modules/strtoumax, modules/xstrtol (Depends-on):
56118         Depend on inttypes-incomplete, not inttypes.
56119         * modules/inttypes-incomplete: New module, containing the contents
56120         of the old modules/inttypes module, except that the Files: section
56121         omits m4/inttypes-pri.m4, and the configure.ac section invokes
56122         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
56123         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
56124         (Depends-on): Depend only on inttypes-incomplete.
56125         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
56127         inttypes: omit now-redundant strtoimax and strtoumax work
56128         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
56129         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
56131         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
56132         This supports apps that need pointers to strtoimax and strtoumax,
56133         and ports to HP-UX 11.00 64.bit, which has macros that expand to
56134         nonexistent functions.  See
56135         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
56136         et seq.
56137         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
56138         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
56139         a macro.
56140         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
56142 2011-04-25  Simon Josefsson  <simon@josefsson.org>
56144         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
56146 2011-04-25  Bruno Haible  <bruno@clisp.org>
56148         strtol, strtoul: Mark modules as obsolete.
56149         * modules/strtol (Status, Notice): New sections.
56150         * modules/strtoul (Status, Notice): New sections.
56152 2011-04-25  Bruno Haible  <bruno@clisp.org>
56154         strtod: Remove check for strtod, unless supporting old platforms.
56155         * modules/strtod-obsolete: New file.
56156         * m4/strtod-obsolete.m4: New file.
56157         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
56158         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
56159         * modules/strtod (Depends-on): Add strtod-obsolete.
56160         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
56162 2011-04-25  Bruno Haible  <bruno@clisp.org>
56164         strcase: Make module obsolete.
56165         * modules/strcase (Status, Notice): New sections.
56167 2011-04-25  Bruno Haible  <bruno@clisp.org>
56169         dup2: Remove check for dup2, unless supporting old obsolete platforms.
56170         * modules/dup2-obsolete: New file.
56171         * m4/dup2-obsolete.m4: New file.
56172         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
56173         gl_FUNC_DUP2_OBSOLETE is not also defined.
56174         * modules/dup2 (Depends-on): Add dup2-obsolete.
56175         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
56177 2011-04-25  Bruno Haible  <bruno@clisp.org>
56179         strnlen: Avoid memchr related link error on old obsolete platforms.
56180         * modules/memchr-obsolete: New file.
56181         * m4/memchr-obsolete.m4: New file.
56182         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
56183         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
56184         * modules/memchr (Depends-on): Add memchr-obsolete.
56185         * modules/strnlen (Depends-on): Likewise.
56186         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
56188 2011-04-25  Jim Meyering  <meyering@redhat.com>
56190         maint.mk: makefile_at_at_check extend and clean up
56191         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
56192         in addition to */Makefile.am.
56193         Exempt legitimate uses of @VAR@ notation, e.g.,
56194         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
56195         Remove obsolete coreutils-specific comment.
56196         Prompted by discussion here:
56197         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
56199 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56201         strtoul: remove dependency on strtol
56202         This is so that 'configure' need not check for strtol merely because
56203         the application needs strtoul.
56204         * modules/strtoul (Files): Add lib/strtol.c.
56205         (Depends-on): Remove strtol.
56207         strtoull: remove dependency on strtoul
56208         This is like the strtoll change.
56209         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
56210         (Depends-on): Remove strtoul.
56212         strtoll: remove dependency on strtol
56213         This is so that 'configure' need not check for strtol merely because
56214         the application needs strtoll.
56215         * modules/strtoll (Files): Add lib/strtol.c.
56216         (Depends-on): Remove strtol.
56218 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56220         inttypes: Move some configure check to module 'imaxdiv'.
56221         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
56222         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
56223         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
56225 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56227         inttypes: Move some configure check to module 'imaxabs'.
56228         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
56229         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
56230         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
56232 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56234         inttypes: Remove configure tests that are not needed since 2009-12-31.
56235         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
56236         gl_cv_header_working_inttypes_h.
56238 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56240         * modules/strnlen (Depends-on): Remove memchr.
56241         The strnlen implementation doesn't need the memchr module's fixes; see
56242         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
56244         strtol: remove dependency on wchar
56245         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
56246         * modules/strtol (Depends-on): Remove wchar.
56248 2011-04-21  Eric Blake  <eblake@redhat.com>
56250         passfd: fix test regression on Linux
56251         * modules/passfd-tests (configure.ac): Correct socketpair check.
56253         passfd: speed up configure and drop unused code
56254         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
56255         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
56256         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
56257         Instead of probing at configure for unix_scm_rights_bsd44_way,
56258         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
56259         check to a struct member probe.
56260         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
56261         (sendfd, recvfd): Update preprocessor checks.
56262         * modules/passfd (Files): Reflect rename, and drop unused file.
56263         (Depends-on): Drop unused dependency.
56265         passfd: allow compilation on mingw
56266         * modules/sys_socket (Depends-on): Add sys_uio.
56267         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
56268         iovec and a minimal struct msghdr.
56269         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
56270         * tests/test-sys_socket.c (main): Enhance test.
56271         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
56272         guaranteed to provide what we need.
56273         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
56274         * modules/passfd-tests (Depends-on): Add sys_wait.
56275         * tests/test-passfd.c (main): Skip test on mingw, for now.
56276         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
56277         partial 'struct msghdr' implementation.
56279         sys_uio: new module
56280         * modules/sys_uio: New module.
56281         * modules/sys_uio-tests: Likewise.
56282         * lib/sys_uio.in.h: New file.
56283         * m4/sys_uio_h.m4: Likewise.
56284         * tests/test-sys_uio.c: Likewise.
56285         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
56286         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
56288 2011-04-20  Jim Meyering  <meyering@redhat.com>
56290         useless-if-before-free: avoid false-positive
56291         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
56292         disjunct so that it too requires a terminating ";".  Without that,
56293         this script would identify as useless one statement from gcc that
56294         was not:
56295           if (aligned_ptr)
56296             free (((void **) aligned_ptr) [-1]);
56298 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
56300         doc: update users.txt.
56301         * users.txt: Add barcode.
56303 2011-04-19  Bruno Haible  <bruno@clisp.org>
56305         ioctl: Remove link dependency on native Windows.
56306         * lib/fd-hook.h: Renamed from lib/close-hook.h.
56307         (gl_close_fn, gl_ioctl_fn): New types.
56308         (struct fd_hook): Renamed from struct close_hook. Change type of
56309         private_close_fn field. Add private_ioctl_fn field.
56310         (close_hook_fn): Add parameter for primary close method.
56311         (execute_close_hooks, execute_all_close_hooks): Likewise.
56312         (ioctl_hook_fn): New type.
56313         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
56314         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56315         argument.
56316         (unregister_fd_hook): Renamed from unregister_close_hook.
56317         * lib/fd-hook.c: Renamed from lib/close-hook.c.
56318         Don't include <unistd.h>.
56319         (close): Remove undef.
56320         (anchor): Update.
56321         (execute_close_hooks): Add argument for primary close method.
56322         (execute_all_close_hooks): Likewise.
56323         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
56324         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56325         argument. Allow each argument to be NULL.
56326         (unregister_fd_hook): Renamed from unregister_close_hook.
56327         * lib/close.c (rpl_close): Pass 'close' function pointer to
56328         execute_all_close_hooks.
56329         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
56330         (primary_ioctl): New function.
56331         (ioctl): Don't call ioctlsocket here. Instead, call
56332         execute_all_ioctl_hooks.
56333         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
56334         close method.
56335         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
56336         (fd_sockets_hook): Renamed from close_sockets_hook.
56337         (gl_sockets_startup, gl_sockets_cleanup): Update.
56338         * modules/fd-hook: Renamed from modules/close-hook. Update.
56339         * modules/close (Depends-on): Add fd-hook, remove close-hook.
56340         * modules/sockets (Depends-on): Likewise.
56341         * modules/ioctl (Depends-on): Add fd-hook.
56342         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
56343         GNULIB_SOCKET.
56345 2011-04-19  Bruno Haible  <bruno@clisp.org>
56347         Move the support of O_NONBLOCK in open() to the 'open' module.
56348         * modules/nonblocking (Depends-on): Remove 'open'.
56349         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
56350         gl_cv_have_open_O_NONBLOCK.
56351         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
56352         O_NONBLOCK support.
56353         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
56355 2011-04-17  Bruno Haible  <bruno@clisp.org>
56357         pipe2: Simplify code.
56358         * lib/pipe2.c (pipe2): Reduce code duplication.
56360 2011-04-17  Bruno Haible  <bruno@clisp.org>
56362         nonblocking: Add comment.
56363         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
56365 2011-04-17  Bruno Haible  <bruno@clisp.org>
56367         nonblocking: Add tests for sockets.
56368         * tests/test-nonblocking-socket.sh: New file.
56369         * tests/test-nonblocking-socket-main.c: New file.
56370         * tests/test-nonblocking-socket-child.c: New file.
56371         * tests/test-nonblocking-socket.h: New file.
56372         * tests/socket-server.h: New file.
56373         * tests/socket-client.h: New file.
56374         * modules/nonblocking-socket-tests: New file.
56375         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
56377 2011-04-17  Bruno Haible  <bruno@clisp.org>
56379         nonblocking: Add tests for pipes.
56380         * tests/test-nonblocking-pipe.sh: New file.
56381         * tests/test-nonblocking-pipe-main.c: New file.
56382         * tests/test-nonblocking-pipe-child.c: New file.
56383         * tests/test-nonblocking-pipe.h: New file.
56384         * tests/test-nonblocking-writer.h: New file.
56385         * tests/test-nonblocking-reader.h: New file.
56386         * tests/test-nonblocking-misc.h: New file.
56387         * modules/nonblocking-pipe-tests: New file.
56388         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
56390 2011-04-16  Bruno Haible  <bruno@clisp.org>
56392         gettext: Clarify the needed programmer actions.
56393         * modules/gettext (Notice): New field.
56394         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56396 2011-04-16  Bruno Haible  <bruno@clisp.org>
56398         strchrnul: Tweak last commit.
56399         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
56400         bug.
56401         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
56402         as in _GL_FUNCDECL_SYS.
56403         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
56404         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
56406 2011-04-15  Eric Blake  <eblake@redhat.com>
56408         strchrnul: work around cygwin bug
56409         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
56410         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
56411         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
56412         * modules/string (Makefile.am): Substitute it.
56413         * lib/string.in.h (strchrnul): Use it.
56415 2011-04-15  Bruno Haible  <bruno@clisp.org>
56417         Don't require lib/stdio-write.c when only module 'stdio' is used.
56418         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
56419         invocation.
56420         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
56422 2011-04-14  Bruno Haible  <bruno@clisp.org>
56424         Support non-blocking pipe I/O in read() on native Windows.
56425         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
56426         (read): New declaration.
56427         * lib/read.c: New file.
56428         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
56429         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
56430         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
56431         vscanf): New declarations.
56432         * lib/stdio-read.c: New file.
56433         * m4/read.m4: New file.
56434         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
56435         REPLACE_READ.
56436         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
56437         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56438         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
56439         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
56440         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
56441         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56442         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
56443         * modules/read: New file.
56444         * modules/nonblocking (Files): Add lib/stdio-read.c.
56445         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
56446         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
56447         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56448         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
56449         * modules/pread (Depends-on): Add read.
56450         * modules/safe-read (Depends-on): Likewise.
56451         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
56452         gets, scanf, vfscanf, vscanf): Verify signatures.
56453         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
56454         problem with non-blocking pipes.
56455         * doc/posix-functions/fgetc.texi: Likewise.
56456         * doc/posix-functions/fgets.texi: Likewise.
56457         * doc/posix-functions/fread.texi: Likewise.
56458         * doc/posix-functions/fscanf.texi: Likewise.
56459         * doc/posix-functions/getc.texi: Likewise.
56460         * doc/posix-functions/getchar.texi: Likewise.
56461         * doc/posix-functions/gets.texi: Likewise.
56462         * doc/posix-functions/scanf.texi: Likewise.
56463         * doc/posix-functions/vfscanf.texi: Likewise.
56464         * doc/posix-functions/vscanf.texi: Likewise.
56466 2011-04-14  Bruno Haible  <bruno@clisp.org>
56468         Support non-blocking pipe I/O in write() on native Windows.
56469         * lib/write.c (rpl_write): Split a write request that failed merely
56470         because the byte count was larger than the pipe buffer's size.
56471         * doc/posix-functions/write.texi: Mention the problem with large byte
56472         counts.
56474 2011-04-14  Bruno Haible  <bruno@clisp.org>
56476         wchar: Ensure that wchar_t gets defined on uClibc.
56477         * lib/wchar.in.h: On uClibc, include <stddef.h>.
56478         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
56480 2011-04-13  Bruno Haible  <bruno@clisp.org>
56482         safe-write, full-read: Avoid unnecessary compilation units.
56483         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
56484         (Depends-on): Remove safe-read. Add ssize_t.
56485         * modules/full-read (Files): Add lib/full-write.c.
56486         (Depends-on): Add full-write.
56488 2011-04-13  Bruno Haible  <bruno@clisp.org>
56490         Support non-blocking pipe I/O and SIGPIPE in pwrite().
56491         * modules/pwrite (Depends-on): Add 'write'.
56493 2011-04-13  Bruno Haible  <bruno@clisp.org>
56495         Support non-blocking pipe I/O in write() on native Windows.
56496         * lib/unistd.in.h (write): Enable replacement also if
56497         GNULIB_UNISTD_H_NONBLOCKING is 1.
56498         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
56499         (rpl_write): When failing to write on a non-blocking pipe, change
56500         errno from ENOSPC to EAGAIN.
56501         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
56502         putchar, puts, vfprintf, vprintf): Enable replacement also if
56503         GNULIB_STDIO_H_NONBLOCKING is 1.
56504         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
56505         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
56506         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
56507         CALL_WITH_SIGPIPE_EMULATION.
56508         (CALL_WITH_SIGPIPE_EMULATION): Use them.
56509         * m4/nonblocking.m4: New file.
56510         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
56511         for non-blocking I/O support.
56512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56513         GNULIB_UNISTD_H_NONBLOCKING.
56514         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
56515         required for non-blocking I/O support.
56516         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
56517         * modules/nonblocking (Files): Add m4/nonblocking.m4,
56518         lib/stdio-write.c, m4/asm-underscore.m4.
56519         (Depends-on): Add stdio, unistd.
56520         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
56521         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
56522         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
56523         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
56524         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
56525         problem with non-blocking pipes.
56526         * doc/posix-functions/fputc.texi: Likewise.
56527         * doc/posix-functions/fputs.texi: Likewise.
56528         * doc/posix-functions/fwrite.texi: Likewise.
56529         * doc/posix-functions/printf.texi: Likewise.
56530         * doc/posix-functions/putc.texi: Likewise.
56531         * doc/posix-functions/putchar.texi: Likewise.
56532         * doc/posix-functions/puts.texi: Likewise.
56533         * doc/posix-functions/vfprintf.texi: Likewise.
56534         * doc/posix-functions/vprintf.texi: Likewise.
56535         * doc/posix-functions/write.texi: Likewise.
56537 2011-04-10  Jim Meyering  <meyering@redhat.com>
56539         maint.mk: prohibit doubled words
56540         Detect them also when they're separated by a newline.
56541         There are 3 ways to customize it:
56542           - disable the test on a per file basis, as usual with rules using
56543             $(VC_LIST_EXCEPT)
56544           - replace the default doubled-word-selecting regexp (affects all files)
56545           - ignore a particular file-vs-doubled-word match
56546         I nearly used that last one to ignore the "is is" match in
56547         coreutils' NEWS file, since the text was "ls -is is ..."
56548         To do that, I would have added this line to cfg.mk:
56549           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
56550         but it would have ignored any "is is" match in NEWS.
56551         Low probability, but still...
56552         Instead, I changed the text, slightly:
56553           -  ls -is is now consistent with ls -lis in ignoring values returned
56554           +  "ls -is" is now consistent with ls -lis in ignoring values returned
56555         * top/maint.mk (prohibit_double_word_RE_): Provide default.
56556         (prohibit_doubled_word_): Define.
56557         (sc_prohibit_doubled_word): New rule.
56558         (sc_prohibit_the_the): Remove.  Subsumed by the above.
56560 2011-04-10  Jim Meyering  <meyering@redhat.com>
56562         maint: fix doubled-word typo in comment
56563         * m4/gethostname.m4: s/is is/it is/
56564         * m4/getdomainname.m4: Likewise.
56566 2011-04-10  Jim Meyering  <meyering@redhat.com>
56568         maint: remove doubled word: s/it it/it/
56569         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
56571 2011-04-10  Jim Meyering  <meyering@redhat.com>
56573         maint.mk: remove useless semicolon and backslash
56574         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
56575         semicolon and backslash.
56577 2011-04-10  Bruno Haible  <bruno@clisp.org>
56579         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
56580         * modules/stdint-tests (Depends-on): Add wchar.
56582 2011-04-10  Jim Meyering  <meyering@redhat.com>
56584         maint: remove doubled words in comments, e.g., s/a a/a/
56585         * lib/strptime.c (day_of_the_week): s/the the/the/
56586         * tests/test-chown.h (test_chown): s/a a/a/
56588         test-chown.h: correct a cast
56589         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
56590         when the destination is a stat.st_gid.
56592 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
56594         getaddrinfo: Fix test for sa_len member.
56595         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
56596         include <sys/types.h> before <sys/socket.h>.
56598 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
56600         maint: change "can not" to "cannot"
56601         * doc/posix-functions/iconv.texi (iconv): This one crossed line
56602         boundaries.
56604 2011-04-09  Jim Meyering  <meyering@redhat.com>
56606         maint: change "a a" to "a"
56607         * tests/test-lchown.h (test_lchown): s/a a/a/
56609         maint.mk: prohibit \<the the\>
56610         * top/maint.mk (sc_prohibit_the_the): New rule.
56612         maint: fix "the the" in comment
56613         * lib/count-one-bits.h: s/the the/the/
56615         maint: change "can not" to "cannot"
56616         But do not change the occurrences in maintain.texi or in
56617         build-aux/po/Makefile.in.in, which I presume comes from gettext.
56618         * doc/gnulib-tool.texi: s/can not/cannot/
56619         * doc/posix-functions/accept.texi (accept): Likewise.
56620         * doc/posix-functions/socket.texi (socket): Likewise.
56621         * lib/mbrtowc.c: Likewise.
56623         maint.mk: prohibit use of "can not"
56624         * top/maint.mk (sc_prohibit_can_not): New rule.
56625         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
56627 2011-04-09  Bruno Haible  <bruno@clisp.org>
56629         careadlinkat: Guard against misuse of careadlinkatcwd.
56630         * lib/careadlinkat.c: Include <stdlib.h>.
56631         (careadlinkatcwd): Check that the fd argument is as expected.
56633 2011-04-09  Bruno Haible  <bruno@clisp.org>
56635         careadlinkat: Use common coding style.
56636         * lib/careadlinkat.c: Move gnulib includes after system includes.
56638 2011-04-09  Bruno Haible  <bruno@clisp.org>
56640         careadlinkat: Clarify specification.
56641         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
56642         (careadlinkatcwd): Add comment.
56643         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
56645 2011-04-09  Bruno Haible  <bruno@clisp.org>
56647         areadlinkat: Avoid link error on many platforms.
56648         * modules/areadlinkat (Depends-on): Add areadlink.
56650 2011-04-09  Bruno Haible  <bruno@clisp.org>
56652         allocator, careadlinkat: Fix double-inclusion guard.
56653         * lib/allocator.h: Fix double-inclusion guard.
56654         * lib/careadlinkat.h: Likewise.
56656 2011-04-09  Bruno Haible  <bruno@clisp.org>
56658         relocatable-prog-wrapper: Update after module 'areadlink' changed.
56659         * lib/relocwrapper.c: Update dependencies hierarchy.
56660         * build-aux/install-reloc: Update list of files to be compiled.
56661         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
56662         lib/allocator.[hc].
56664 2011-04-08  Eric Blake  <eblake@redhat.com>
56666         strftime: silence gnulib-tool warning
56667         * modules/strftime-tests (Depends-on): Drop automatic dependency.
56669 2011-04-08  Bruno Haible  <bruno@clisp.org>
56671         verify: Fix syntax error with GCC 4.6 in C++ mode.
56672         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
56673         (HAVE_STATIC_ASSERT): New macro.
56674         (verify_true, verify): Use 'static_assert' if it is supported and
56675         '_Static_assert' is not supported.
56677 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
56679         allocator: New module.
56680         * modules/allocator, lib/allocator.c: New files.
56681         * lib/allocator.h (stdlib_allocator): New decl.
56682         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
56683         Remove.  Do not include <stdlib.h>.
56684         (careadlinkat): Use stdlib_allocator instead of rolling our own.
56685         * modules/careadlinkat (Files): Remove lib/allocator.h.
56686         (Depends-on): Add allocator.
56688         stdlib: let modules use system malloc, realloc
56689         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
56690         if !_GL_USE_STDLIB_ALLOC.
56691         (malloc, realloc): Limit this change to a smaller scope.
56693         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
56694         (malloc, realloc): Don't #undef; no longer needed.
56695         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56696         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56697         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
56698         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56699         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56700         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56701         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56702         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
56704         careadlinkat: rename members to avoid problem
56705         * lib/allocator.h (struct allocator): Rename members from
56706         malloc/realloc to allocate/reallocate, to avoid problems if malloc
56707         and realloc are #define'd.  Reported by Eric Blake in
56708         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
56709         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
56711 2011-04-08  Eric Blake  <eblake@redhat.com>
56713         nonblocking: reduce dependency
56714         * tests/test-nonblocking.c: Only test sockets when in use.
56715         * modules/nonblocking-tests (Depends-on): Drop socket.
56716         (Makefile.am): Link even if sockets are not present.
56717         * modules/pipe2-tests (Makefile.am): Likewise.
56718         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
56720         pipe2: fix O_NONBLOCK support on mingw
56721         * modules/pipe2 (Depends-on): Add nonblocking.
56722         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
56723         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
56724         * tests/test-nonblocking.c (main): Likewise.
56725         * modules/pipe2-tests (Makefile.am): Avoid link failure.
56727         fcntl-h: fix O_ACCMODE on cygwin
56728         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
56729         * lib/fcntl.in.h (O_ACCMODE): Fix it.
56731         pipe-filter: drop O_NONBLOCK workarounds
56732         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
56733         * modules/pipe-filter-ii (Depends-on): Likewise.
56734         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
56736         nonblocking: provide O_NONBLOCK for mingw
56737         * modules/nonblocking (Depends-on): Add open.
56738         (configure.ac): Set new witness macro.
56739         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
56740         * modules/fcntl-h (Makefile.am): Substitute it.
56741         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
56742         nonblocking module is in use.
56743         * lib/nonblocking.c: Adjust portability test.
56744         * lib/open.c (open): Don't let native open see gnulib flag.
56745         * tests/test-fcntl-h.c (main): Enhance test.
56746         * tests/test-open.h (test_open): Likewise.
56747         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
56749         careadlinkat: fix compilation error on mingw
56750         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
56751         within struct allocator.
56753 2011-04-06  Eric Blake  <eblake@redhat.com>
56755         binary-io: relicense under LGPLv2+
56756         * modules/binary-io (License): Relax to LGPLv2+.
56757         Requested for libvirt, and required by pipe2.
56759 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
56761         verify: use _Static_assert if available
56762         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
56763         (verify_true, verify): Use it if available.  This generates better
56764         diagnostics with GCC 4.6.0 and later.
56766 2011-04-05  Bruno Haible  <bruno@clisp.org>
56768         Remove leftover generated .h files after config.status changed.
56770         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
56771         GL_GENERATE_ALLOCA_H.
56772         * modules/alloca-opt (Makefile.am): Remove alloca.h if
56773         GL_GENERATE_ALLOCA_H evaluates to false.
56775         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
56776         GL_GENERATE_ARGZ_H.
56777         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
56778         evaluates to false.
56780         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
56781         GL_GENERATE_BYTESWAP_H.
56782         * modules/byteswap (Makefile.am): Remove byteswap.h if
56783         GL_GENERATE_BYTESWAP_H evaluates to false.
56785         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
56786         GL_GENERATE_ERRNO_H.
56787         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
56788         evaluates to false.
56790         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
56791         GL_GENERATE_FLOAT_H.
56792         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
56793         evaluates to false.
56795         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
56796         GL_GENERATE_FNMATCH_H.
56797         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
56798         GL_GENERATE_FNMATCH_H evaluates to false.
56800         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
56801         GL_GENERATE_GLOB_H.
56802         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
56803         evaluates to false.
56805         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
56806         automake conditional GL_GENERATE_ICONV_H.
56807         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
56808         evaluates to false.
56810         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
56811         GL_GENERATE_NETINET_IN_H.
56812         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
56813         GL_GENERATE_NETINET_IN_H evaluates to false.
56815         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
56816         conditional GL_GENERATE_PTHREAD_H.
56817         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
56818         * modules/pthread (Makefile.am): Remove pthread.h if
56819         GL_GENERATE_PTHREAD_H evaluates to false.
56821         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
56822         GL_GENERATE_SCHED_H.
56823         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
56824         evaluates to false.
56826         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
56827         conditional GL_GENERATE_SELINUX_CONTEXT_H.
56828         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
56829         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
56831         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
56832         GL_GENERATE_STDARG_H.
56833         * modules/stdarg (Makefile.am): Remove stdarg.h if
56834         GL_GENERATE_STDARG_H evaluates to false.
56836         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
56837         GL_GENERATE_STDBOOL_H.
56838         * modules/stdbool (Makefile.am): Remove stdbool.h if
56839         GL_GENERATE_STDBOOL_H evaluates to false.
56841         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
56842         conditional GL_GENERATE_STDDEF_H.
56843         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
56844         * modules/stddef (Makefile.am): Remove stddef.h if
56845         GL_GENERATE_STDDEF_H evaluates to false.
56847         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
56848         GL_GENERATE_STDINT_H.
56849         * modules/stdint (Makefile.am): Remove stdint.h if
56850         GL_GENERATE_STDINT_H evaluates to false.
56852         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
56853         GL_GENERATE_SYSEXITS_H.
56854         * modules/sysexits (Makefile.am): Remove sysexits.h if
56855         GL_GENERATE_SYSEXITS_H evaluates to false.
56857         Reported by Karl Berry and Ralf Wildenhues.
56859 2011-04-05  Bruno Haible  <bruno@clisp.org>
56861         Ensure to rebuild generated .h files when config.status has changed.
56862         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
56863         config.status.
56864         * modules/ctype (Makefile.am): Likewise.
56865         * modules/dirent (Makefile.am): Likewise.
56866         * modules/errno (Makefile.am): Likewise.
56867         * modules/fcntl-h (Makefile.am): Likewise.
56868         * modules/float (Makefile.am): Likewise.
56869         * modules/getopt-posix (Makefile.am): Likewise.
56870         * modules/glob (Makefile.am): Likewise.
56871         * modules/iconv-h (Makefile.am): Likewise.
56872         * modules/inttypes (Makefile.am): Likewise.
56873         * modules/langinfo (Makefile.am): Likewise.
56874         * modules/locale (Makefile.am): Likewise.
56875         * modules/math (Makefile.am): Likewise.
56876         * modules/netdb (Makefile.am): Likewise.
56877         * modules/netinet_in (Makefile.am): Likewise.
56878         * modules/poll-h (Makefile.am): Likewise.
56879         * modules/pthread (Makefile.am): Likewise.
56880         * modules/pty (Makefile.am): Likewise.
56881         * modules/sched (Makefile.am): Likewise.
56882         * modules/search (Makefile.am): Likewise.
56883         * modules/selinux-h (Makefile.am): Likewise.
56884         * modules/signal (Makefile.am): Likewise.
56885         * modules/spawn (Makefile.am): Likewise.
56886         * modules/stdarg (Makefile.am): Likewise.
56887         * modules/stdbool (Makefile.am): Likewise.
56888         * modules/stddef (Makefile.am): Likewise.
56889         * modules/stdint (Makefile.am): Likewise.
56890         * modules/stdio (Makefile.am): Likewise.
56891         * modules/stdlib (Makefile.am): Likewise.
56892         * modules/string (Makefile.am): Likewise.
56893         * modules/strings (Makefile.am): Likewise.
56894         * modules/sys_file (Makefile.am): Likewise.
56895         * modules/sys_ioctl (Makefile.am): Likewise.
56896         * modules/sys_select (Makefile.am): Likewise.
56897         * modules/sys_socket (Makefile.am): Likewise.
56898         * modules/sys_stat (Makefile.am): Likewise.
56899         * modules/sys_time (Makefile.am): Likewise.
56900         * modules/sys_times (Makefile.am): Likewise.
56901         * modules/sys_utsname (Makefile.am): Likewise.
56902         * modules/sys_wait (Makefile.am): Likewise.
56903         * modules/sysexits (Makefile.am): Likewise.
56904         * modules/termios (Makefile.am): Likewise.
56905         * modules/time (Makefile.am): Likewise.
56906         * modules/unistd (Makefile.am): Likewise.
56907         * modules/wchar (Makefile.am): Likewise.
56908         * modules/wctype-h (Makefile.am): Likewise.
56909         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
56911 2011-04-05  Bruno Haible  <bruno@clisp.org>
56913         pipe2: Relicense under LGPLv2+.
56914         * modules/pipe2 (License): Change to LGPLv2+.
56915         Requested by Eric Blake, for libvirt.
56917 2011-04-05  Bruce Korb  <bkorb@gnu.org>
56919         bootstrap: compute gnulib_extra_files after updating build_aux
56920         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
56921         change build_aux or also supply gnulib_extra_files.  Handle correctly.
56923 2011-04-05  Eric Blake  <eblake@redhat.com>
56925         bootstrap: preserve git whitelist item sorting
56926         * build-aux/bootstrap (sort_patterns): New function.
56927         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
56929 2011-04-05  Simon Josefsson  <simon@josefsson.org>
56931         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
56932         sc_space_tab check.
56934 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
56936         areadlink, areadlinkat: rewrite in terms of careadlinkat
56937         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
56938         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
56939         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
56940         (malloc, realloc): Remove #undefs.
56941         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
56942         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
56943         readlink, ssize_t, stdint, unistd.
56944         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
56945         areadlink, stdint.
56947         careadlinkat: new module
56948         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
56949         * modules/careadlinkat: New files, written by me with
56950         a review and feedback from Ben Pfaff in
56951         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
56953 2011-04-01  Bruno Haible  <bruno@clisp.org>
56955         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
56956         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
56957         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
56958         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
56959         Reported by Bruce Korb <bruce.korb@gmail.com>.
56961 2011-04-01  Bruno Haible  <bruno@clisp.org>
56963         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
56964         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
56965         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
56966         * modules/wcpcpy (Depends-on): Add extensions.
56967         * modules/wcpncpy (Depends-on): Likewise.
56968         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
56969         systems.
56970         * doc/posix-functions/wcpncpy.texi: Likewise.
56971         * doc/posix-functions/wcwidth.texi: Likewise.
56973 2011-03-31  Eric Blake  <eblake@redhat.com>
56975         nonblocking: fix mingw test failures
56976         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
56977         non-blocking flag on regular file.
56978         (get_nonblocking_flag): Set errno on invalid fd.
56979         * tests/test-nonblocking.c (main): Avoid test failure on
56980         directories if fchdir is not active.
56981         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
56983 2011-03-31  Bruno Haible  <bruno@clisp.org>
56985         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
56986         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
56987         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
56988         Reported by Simon Josefsson <simon@josefsson.org>.
56990 2011-03-31  Bruno Haible  <bruno@clisp.org>
56991         and Eric Blake  <eblake@redhat.com>
56993         nonblocking: new module
56994         * modules/nonblocking: New module.
56995         * modules/nonblocking-tests: Likewise.
56996         * lib/nonblocking.h: New file.
56997         * lib/nonblocking.c: Likewise.
56998         * tests/test-nonblocking.c: New test.
56999         * lib/ioctl.c (ioctl) [mingw]: Update comment.
57001 2011-03-30  Bruno Haible  <bruno@clisp.org>
57003         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
57004         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
57005         instead of 'printf' format for GCC >= 4.4.
57006         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
57007         (fprintf, printf, vfprintf, vprintf): Declare with
57008         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
57009         the system's vfprintf() function.
57010         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
57012 2011-03-30  Eric Blake  <eblake@redhat.com>
57014         passfd: fix scoping bug
57015         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
57016         before sendmsg/recvmsg.
57018         passfd: standardize coding conventions
57019         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
57020         can be learned at compile time.
57021         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
57022         ifdefs.
57023         (sendfd, recvfd): Follow gnulib code conventions.
57025         passfd: fix incorrect sendmsg arguments
57026         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
57027         incorrect msg_controllen value.
57028         * modules/passfd-tests (Depends-on): Check for alarm.
57029         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
57030         Reported by Bastien ROUCARIES.
57032 2011-03-30  Bruno Haible  <bruno@clisp.org>
57034         c-strcasestr: Relicense under LGPLv2+.
57035         * modules/c-strcasestr (License): Change to LGPLv2+.
57036         Requested by Eric Blake, for libvirt.
57038 2011-03-30  Simon Josefsson  <simon@josefsson.org>
57040         * users.txt: Add libidn2.  Fix libtasn1 link.
57042 2011-03-30  Jim Meyering  <meyering@redhat.com>
57044         tests: readlink* ("",... fails with EINVAL on newer kernels
57045         readlink and readlinkat have typically failed with ENOENT for
57046         the invalid, empty file name,  "".  However, with the advent
57047         of linux-2.6.39, they fail with EINVAL.
57048         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
57049         when operating on the empty file name.
57050         * tests/test-readlink.h (test_readlink): Likewise.
57052 2011-03-29  Bruno Haible  <bruno@clisp.org>
57054         Relicense some modules under LGPLv2+, for libidn2.
57055         * modules/array-mergesort (License): Change to LGPLv2+.
57056         * modules/c-strcaseeq (License): Likewise.
57057         * modules/striconveh (License): Likewise.
57058         * modules/striconveha (License): Likewise.
57059         * modules/uniconv/base (License): Likewise.
57060         * modules/uniconv/u8-conv-from-enc (License): Likewise.
57061         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
57062         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
57063         * modules/unictype/base (License): Likewise.
57064         * modules/unictype/bidiclass-of (License): Likewise.
57065         * modules/unictype/category-M (License): Likewise.
57066         * modules/unictype/category-none (License): Likewise.
57067         * modules/unictype/category-of (License): Likewise.
57068         * modules/unictype/category-test (License): Likewise.
57069         * modules/unictype/category-test-withtable (License): Likewise.
57070         * modules/unictype/combining-class (License): Likewise.
57071         * modules/unictype/joiningtype-of (License): Likewise.
57072         * modules/unictype/scripts (License): Likewise.
57073         * modules/uninorm/base (License): Likewise.
57074         * modules/uninorm/canonical-decomposition (License): Likewise.
57075         * modules/uninorm/composition (License): Likewise.
57076         * modules/uninorm/decompose-internal (License): Likewise.
57077         * modules/uninorm/decomposition-table (License): Likewise.
57078         * modules/uninorm/nfc (License): Likewise.
57079         * modules/uninorm/nfd (License): Likewise.
57080         * modules/uninorm/u32-normalize (License): Likewise.
57081         * modules/unistr/base (License): Likewise.
57082         * modules/unistr/u32-cpy (License): Likewise.
57083         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
57084         * modules/unistr/u32-to-u8 (License): Likewise.
57085         * modules/unistr/u32-uctomb (License): Likewise.
57086         * modules/unistr/u8-check (License): Likewise.
57087         * modules/unistr/u8-mblen (License): Likewise.
57088         * modules/unistr/u8-mbtouc (License): Likewise.
57089         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
57090         * modules/unistr/u8-mbtoucr (License): Likewise.
57091         * modules/unistr/u8-prev (License): Likewise.
57092         * modules/unistr/u8-strlen (License): Likewise.
57093         * modules/unistr/u8-to-u32 (License): Likewise.
57094         * modules/unistr/u8-uctomb (License): Likewise.
57095         * modules/unitypes (License): Likewise.
57096         Requested by Simon Josefsson.
57098 2011-03-29  Simon Josefsson  <simon@josefsson.org>
57100         lib-symbol-visibility: Add a notice.
57101         * modules/lib-symbol-visibility (Notice): New field.
57103 2011-03-29  Bruno Haible  <bruno@clisp.org>
57105         getaddrinfo: Doc fix.
57106         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
57107         section "fixed in Gnulib".
57109 2011-03-28  Simon Josefsson  <simon@josefsson.org>
57111         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
57112         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
57114 2011-03-26  Bruno Haible  <bruno@clisp.org>
57116         unictype/property-byname: Reduce the number of load-time relocations.
57117         * lib/unictype/pr_byname.c: Include <stdlib.h>.
57118         (UC_PROPERTY_INDEX_*): New enumeration values.
57119         (uc_property_byname): Convert an index from the lookup table to an
57120         uc_property_t.
57121         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
57122         values.
57124 2011-03-26  Bruno Haible  <bruno@clisp.org>
57126         unictype/property-byname: Allow omitted word separators and aliases.
57127         * lib/unictype/pr_byname.gperf: Add property names without word
57128         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
57129         for 'space'.
57131 2011-03-26  Bruno Haible  <bruno@clisp.org>
57133         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
57134         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
57135         also hyphens to space.
57136         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
57137         without spaces.
57138         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
57140 2011-03-26  Bruno Haible  <bruno@clisp.org>
57142         unictype/joiningtype-byname: Recognize long names as well.
57143         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
57144         a long name.
57145         * lib/unictype/joiningtype_byname.c: Include <string.h>,
57146         unictype/joiningtype_byname.h.
57147         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
57148         * lib/unictype/joiningtype_byname.gperf: New file.
57149         * modules/unictype/joiningtype-byname (Files): Add
57150         lib/unictype/joiningtype_byname.gperf.
57151         (Depends-on): Add gperf.
57152         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
57153         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
57154         long names.
57156         Tests for module 'unictype/joiningtype-longname'.
57157         * modules/unictype/joiningtype-longname-tests: New file.
57158         * tests/unictype/test-joiningtype_longname.c: New file.
57160         New module 'unictype/joiningtype-longname'.
57161         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
57162         * lib/unictype/joiningtype_longname.c: New file.
57163         * modules/unictype/joiningtype-longname: New file.
57164         * modules/unictype/joiningtype-all (Depends-on): Add
57165         unictype/joiningtype-longname.
57167 2011-03-26  Bruno Haible  <bruno@clisp.org>
57169         unictype/bidiclass-byname: Recognize long names as well.
57170         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
57171         name.
57172         * lib/unictype/bidi_byname.c: Include <string.h>,
57173         unictype/bidi_byname.h.
57174         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
57175         * lib/unictype/bidi_byname.gperf: New file.
57176         * modules/unictype/bidiclass-byname (Files): Add
57177         lib/unictype/bidi_byname.gperf.
57178         (Depends-on): Add gperf.
57179         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
57180         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
57181         long names.
57183         Tests for module 'unictype/bidiclass-longname'.
57184         * modules/unictype/bidiclass-longname-tests: New file.
57185         * tests/unictype/test-bidi_longname.c: New file.
57187         New module 'unictype/bidiclass-longname'.
57188         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
57189         * lib/unictype/bidi_longname.c: New file.
57190         * modules/unictype/bidiclass-longname: New file.
57191         * modules/unictype/bidiclass-all (Depends-on): Add
57192         unictype/bidiclass-longname.
57194 2011-03-26  Bruno Haible  <bruno@clisp.org>
57196         unictype/bidi*: Rename modules.
57197         * modules/unictype/bidiclass-all: Renamed from
57198         modules/unictype/bidicategory-all.
57199         * modules/unictype/bidiclass-name: Renamed from
57200         modules/unictype/bidiclass-name.
57201         (Description): Update.
57202         * modules/unictype/bidiclass-name-tests: Renamed from
57203         modules/unictype/bidicategory-name-tests.
57204         * modules/unictype/bidiclass-byname: Renamed from
57205         modules/unictype/bidicategory-byname.
57206         (Description): Update.
57207         * modules/unictype/bidiclass-byname-tests: Renamed from
57208         modules/unictype/bidicategory-byname-tests.
57209         * modules/unictype/bidiclass-of: Renamed from
57210         modules/unictype/bidicategory-of.
57211         (Description): Update.
57212         * modules/unictype/bidiclass-of-tests: Renamed from
57213         modules/unictype/bidicategory-of-tests.
57214         * modules/unictype/bidiclass-test: Renamed from
57215         modules/unictype/bidicategory-test.
57216         (Description): Update.
57217         * modules/unictype/bidiclass-test-tests: Renamed from
57218         modules/unictype/bidicategory-test-tests.
57219         * modules/unictype/bidicategory-all: New file, a simple redirection.
57220         * modules/unictype/bidicategory-name: Likewise.
57221         * modules/unictype/bidicategory-byname: Likewise.
57222         * modules/unictype/bidicategory-of: Likewise.
57223         * modules/unictype/bidicategory-test: Likewise.
57224         * modules/unictype/property-bidi-* (Dependencies): Update.
57225         * lib/unictype/bidi_*.c: Update comment.
57227 2011-03-26  Bruno Haible  <bruno@clisp.org>
57229         unictype/bidi*: Rename functions, part 2.
57230         * modules/unictype/bidicategory-name (configure.ac): Update required
57231         libunistring version.
57232         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
57234 2011-03-25  Bruno Haible  <bruno@clisp.org>
57236         New module 'unictype/combining-class-all'.
57237         * modules/unictype/combining-class-all: New file.
57239         Tests for module 'unictype/combining-class-byname'.
57240         * modules/unictype/combining-class-byname-tests: New file.
57241         * tests/unictype/test-combiningclass_byname.c: New file.
57243         New module 'unictype/combining-class-byname'.
57244         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
57245         * lib/unictype/combiningclass_byname.c: New file.
57246         * lib/unictype/combiningclass_byname.gperf: New file.
57247         * modules/unictype/combining-class-byname: New file.
57249         Tests for module 'unictype/combining-class-longname'.
57250         * modules/unictype/combining-class-longname-tests: New file.
57251         * tests/unictype/test-combiningclass_longname.c: New file.
57253         New module 'unictype/combining-class-longname'.
57254         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
57255         * lib/unictype/combiningclass_longname.c: New file.
57256         * modules/unictype/combining-class-longname: New file.
57258         Tests for module 'unictype/combining-class-name'.
57259         * modules/unictype/combining-class-name-tests: New file.
57260         * tests/unictype/test-combiningclass_name.c: New file.
57262         New module 'unictype/combining-class-name'.
57263         * lib/unictype.in.h (uc_combining_class_name): New declaration.
57264         * lib/unictype/combiningclass_name.c: New file.
57265         * modules/unictype/combining-class-name: New file.
57267 2011-03-25  Bruno Haible  <bruno@clisp.org>
57269         unictype/combining-class: Rename source files.
57270         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
57271         of unictype/combining.h.
57272         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
57273         Update.
57274         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
57275         * modules/unictype/combining-class (Description): Fix.
57276         (Files, Makefile.am): Update.
57277         * tests/unictype/test-combiningclass.c: Renamed from
57278         tests/unictype/test-combining.c.
57279         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
57281 2011-03-25  Bruno Haible  <bruno@clisp.org>
57283         unictype: Update list of canonical combining classes.
57284         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
57286 2011-03-25  Bruno Haible  <bruno@clisp.org>
57288         unictype/category-byname: Recognize long names as well.
57289         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
57290         a long name.
57291         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
57292         unictype/categ_byname.h.
57293         (UC_CATEGORY_INDEX_*): New enumeration values.
57294         (uc_general_category_byname): Use uc_general_category_lookup and
57295         convert from index to value.
57296         * lib/unictype/categ_byname.gperf: New file.
57297         * modules/unictype/category-byname (Files): Add
57298         lib/unictype/categ_byname.gperf.
57299         (Depends-on): Add gperf.
57300         (Makefile.am): Add rule for generating unictype/categ_byname.h.
57301         * tests/unictype/test-categ_byname.c (main): Test the recognition of
57302         long names.
57304         Tests for module 'unictype/category-longname'.
57305         * modules/unictype/category-longname-tests: New file.
57306         * tests/unictype/test-categ_longname.c: New file.
57308         New module 'unictype/category-longname'.
57309         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
57310         * lib/unictype/categ_longname.c: New file.
57311         * modules/unictype/category-longname: New file.
57312         * modules/unictype/category-all (Depends-on): Add it.
57314 2011-03-25  Bruno Haible  <bruno@clisp.org>
57316         Tests for module 'unictype/category-LC'.
57317         * modules/unictype/category-LC-tests: New file.
57318         * tests/unictype/test-categ_LC.c: New file, automatically generated.
57320         New module 'unictype/category-LC'.
57321         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
57322         (UC_CATEGORY_LC): New declaration.
57323         (UC_CASED_LETTER): New macro.
57324         * lib/gen-uni-tables.c (is_category_LC): New function.
57325         (output_categories): Also handle category LC.
57326         (UC_CATEGORY_MASK_LC): New enumeration value.
57327         (general_category_byname): Also handle category LC.
57328         * lib/unictype/categ_LC.c: New file.
57329         * lib/unictype/categ_LC.h: New file, automatically generated.
57330         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
57331         category LC.
57332         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
57333         * modules/unictype/category-LC: New file.
57334         * modules/unictype/category-byname (Depends-on): Add
57335         unictype/category-LC.
57336         * modules/unictype/category-all (Depends-on): Likewise.
57338 2011-03-25  Eric Blake  <eblake@redhat.com>
57340         xmalloc: revert yesterday's regression
57341         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
57342         realloc's underlying behavior (allowing allocation of zero-size
57343         objects, especially if malloc-gnu is also in use).
57345 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
57347         maint.mk: add missing version to VC-tag
57348         * top/maint.mk: git tag was missing actual tag name; add it.
57350         valgrind: do leak checking, and exit with code 1 on error (not 0)
57351         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
57352         to VALGRIND.
57354 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
57356         posix-modules: say what it does.
57357         * posix-modules: Add a line to the --help output saying what it does.
57359 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
57361         xmalloc: Do not leak if underlying realloc is C99 compatible.
57362         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
57363         This avoids a leak on C99-based systems.  See
57364         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
57366 2011-03-24  Eric Blake  <eblake@redhat.com>
57368         realloc: document portability problem
57369         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
57370         passing 0 size to realloc.
57372 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
57374         doc: update users.txt
57375         * users.txt: Add cvsps, tmpwatch
57377 2011-03-23  Matt Rice  <ratmice@gmail.com>
57379         doc: update users.txt
57380         * users.txt: Add gdb.
57382 2011-03-23  Jim Meyering  <meyering@redhat.com>
57384         doc: update users.txt
57385         Looking through matches up to the following URL (there are still
57386         several more pages), I found several projects that use gnulib:
57387         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
57388         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
57389         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
57391 2011-03-22  Bruno Haible  <bruno@clisp.org>
57393         unictype/bidi*: Rename functions.
57394         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
57395         uc_bidi_class, uc_is_bidi_class): New declarations.
57396         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
57397         uc_bidi_category_byname.
57398         (uc_bidi_category_byname): New function.
57399         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
57400         u_bidi_category_name.
57401         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
57402         (uc_bidi_category_name): New function.
57403         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
57404         uc_bidi_category.
57405         (uc_bidi_category): New function.
57406         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
57407         uc_is_bidi_category. Invoke uc_bidi_class.
57408         (uc_is_bidi_category): New function.
57409         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
57410         instead of uc_bidi_category_byname.
57411         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
57412         instead of uc_bidi_category_name.
57413         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
57414         uc_bidi_category.
57415         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
57416         instead of uc_is_bidi_category.
57418 2011-03-21  Bruno Haible  <bruno@clisp.org>
57420         New module 'unictype/joininggroup-all'.
57421         * modules/unictype/joininggroup-all: New file.
57423         Tests for module 'unictype/joininggroup-of'.
57424         * modules/unictype/joininggroup-of-tests: New file.
57425         * tests/unictype/test-joininggroup_of.c: New file.
57426         * tests/unictype/test-joininggroup_of.h: New file, automatically
57427         generated by gen-uni-tables.
57429         New module 'unictype/joininggroup-of'.
57430         * modules/unictype/joininggroup-of: New file.
57431         * lib/unictype/joininggroup_of.c: New file.
57432         * lib/unictype/joininggroup_of.h: New file, automatically generated by
57433         gen-uni-tables.
57435         Tests for module 'unictype/joininggroup-byname'.
57436         * modules/unictype/joininggroup-byname-tests: New file.
57437         * tests/unictype/test-joininggroup_byname.c: New file.
57439         New module 'unictype/joininggroup-byname'.
57440         * modules/unictype/joininggroup-byname: New file.
57441         * lib/unictype/joininggroup_byname.c: New file.
57442         * lib/unictype/joininggroup_byname.gperf: New file.
57444         Tests for module 'unictype/joininggroup-name'.
57445         * modules/unictype/joininggroup-name-tests: New file.
57446         * tests/unictype/test-joininggroup_name.c: New file.
57448         New module 'unictype/joininggroup-name'.
57449         * modules/unictype/joininggroup-name: New file.
57450         * lib/unictype/joininggroup_name.c: New file.
57451         * lib/unictype/joininggroup_name.h: New file.
57453         New module 'unictype/joiningtype-all'.
57454         * modules/unictype/joiningtype-all: New file.
57456         Tests for module 'unictype/joiningtype-of'.
57457         * modules/unictype/joiningtype-of-tests: New file.
57458         * tests/unictype/test-joiningtype_of.c: New file.
57459         * tests/unictype/test-joiningtype_of.h: New file, automatically
57460         generated by gen-uni-tables.
57462         New module 'unictype/joiningtype-of'.
57463         * modules/unictype/joiningtype-of: New file.
57464         * lib/unictype/joiningtype_of.c: New file.
57465         * lib/unictype/joiningtype_of.h: New file, automatically generated by
57466         gen-uni-tables.
57468         Tests for module 'unictype/joiningtype-byname'.
57469         * modules/unictype/joiningtype-byname-tests: New file.
57470         * tests/unictype/test-joiningtype_byname.c: New file.
57472         New module 'unictype/joiningtype-byname'.
57473         * modules/unictype/joiningtype-byname: New file.
57474         * lib/unictype/joiningtype_byname.c: New file.
57476         Tests for module 'unictype/joiningtype-name'.
57477         * modules/unictype/joiningtype-name-tests: New file.
57478         * tests/unictype/test-joiningtype_name.c: New file.
57480         New module 'unictype/joiningtype-name'.
57481         * modules/unictype/joiningtype-name: New file.
57482         * lib/unictype/joiningtype_name.c: New file.
57484         unictype: Add support for Arabic shaping properties.
57485         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
57486         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
57487         declarations.
57488         (UC_JOINING_GROUP_*): New enumeration values.
57489         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
57490         declarations.
57491         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
57492         (unicode_joining_type): New variable.
57493         (UC_JOINING_GROUP_*): New enumeration values.
57494         (unicode_joining_group): New variable.
57495         (fill_arabicshaping, joining_type_as_c_identifier,
57496         output_joining_type_test, output_joining_type,
57497         joining_group_as_c_identifier, output_joining_group_test,
57498         output_joining_group): New functions.
57499         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
57500         fill_arabicshaping and output_joining_type_test, output_joining_type,
57501         output_joining_group_test, output_joining_group.
57502         Reported by Simon Josefsson.
57504 2011-03-21  Jim Meyering  <meyering@redhat.com>
57506         strftime: fix a bug in yesterday's change
57507         * lib/strftime.c (add): Accommodate width's initial value of -1.
57508         Otherwise, nstrftime would copy uninitialized data into
57509         the result buffer.
57511 2011-03-21  Jim Meyering  <meyering@redhat.com>
57513         tests: add strftime-tests module
57514         * tests/test-strftime.c: New file.
57515         * modules/strftime-tests: New module.
57517 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57519         strftime: don't assume a byte count fits in 'int'
57520         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
57521         found this problem by static analysis, using gcc -Wstrict-overflow
57522         (GCC 4.5.2, x86-64).  This reported an optimization that depended
57523         on an integer overflow having undefined behavior, but it turns out
57524         that the argument is a size, which might not fit in 'int' anyway,
57526 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57528         stdio: don't require ignore_value around fwrite
57530         This patch works around libc bug 11959
57531         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
57532         Without this patch, applications must often write
57533         ignore_value (fwrite (...)) even though the ignore_value is
57534         not helpful here.  It's common to write many objects, using
57535         fwrite/printf/etc., and then use ferror to detect output error.
57537         I considered making this patch optional, but decided against it,
57538         because libc is obviously being inconsistent here: there is no
57539         reason libc should insist that user code must inspect fwrite
57540         return's value without also insisting that it inspect printf's,
57541         putchar's, etc.  If user code wants to have a strict style where
57542         all these functions' values are checked (so that ferror need not
57543         be checked), we could add support for that style in a new gnulib
57544         module, but in the meantime it's better to be consistent and to
57545         support common usage.
57547         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
57548         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
57549         that we are compiling in checking mode, and if not C++, and
57550         if not already wrapping fwrite for some other reason.
57551         (fwrite): #define to rpl_fwrite if the latter is defined.
57553 2011-03-20  Bruno Haible  <bruno@clisp.org>
57555         verror: Fix compilation error introduced on 2011-02-13.
57556         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
57557         instead of __attribute__.
57558         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57560 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57561             Bruno Haible  <bruno@clisp.org>
57563         socklen: do not depend on sys_socket
57564         While trying to modify Emacs to use gnulib's socklen module,
57565         I discovered a circular dependency: socklen depends on sys_socket
57566         and vice versa.  Emacs can use socklen, but it does not need
57567         sys_socket because it has its own substitute for sys/socket.h.
57568         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
57569         gl_TYPE_SOCKLEN_T.
57570         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
57571         gl_PREREQ_SYS_H_SOCKET.
57572         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
57573         gl_PREREQ_SYS_H_SOCKET.
57574         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
57575         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
57576         * modules/socklen (Depends-on): Do not depend on sys_socket.
57577         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
57579 2011-03-20  Jim Meyering  <meyering@redhat.com>
57581         maint.mk: sort file names *after* new transformation
57582         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
57583         prefix would have led to an unwarranted failure in GNU parted.
57584         Sort after that transformation.
57586 2011-03-19  Jim Meyering  <meyering@redhat.com>
57588         maint.mk: fix po-file syntax-check rule
57589         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
57590         Patch by Bruno Haible.
57592 2011-03-19  Bruno Haible  <bruno@clisp.org>
57594         socklen: Update comment.
57595         * m4/socklen.m4: Update comment about platforms.
57597 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57598             Bruno Haible  <bruno@clisp.org>
57600         inet_ntop, inet_pton: Simplify.
57601         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
57602         documented to provide socklen_t and we already depend on sys_socket.
57603         * modules/inet_pton (Depends-on): Likewise.
57604         * lib/arpa_inet.in.h: Adjust comment.
57606 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57607             Bruno Haible  <bruno@clisp.org>
57609         netdb: Simplify.
57610         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
57611         documented to provide socklen_t and we already depend on sys_socket.
57612         * lib/netdb.in.h: Adjust comment.
57614 2011-03-19  Bruno Haible  <bruno@clisp.org>
57616         sys_socket, netdb: Document problem with socklen_t.
57617         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
57618         platforms.
57619         * doc/posix-headers/netdb.texi: Likewise.
57621 2011-03-18  Eric Blake  <eblake@redhat.com>
57623         maint.mk: let po check work in VPATH build
57624         * top/maint.mk (po_file): Allow cfg.mk override.
57625         (sc_po_check): Allow VPATH use.
57626         Reported by Jiri Denemark.
57628 2011-03-16  Jim Meyering  <meyering@redhat.com>
57630         maint.mk: allow fine-grained syntax-check exclusion via Make variables
57631         Before, you would have had to create one .x-sc_ file per rule in order
57632         to exempt offending files.  Now, you may instead use a Make variable --
57633         usually defined in cfg.mk -- whose name identifies the affected rule.
57634         * top/maint.mk (_sc_excl): Define.
57635         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
57636         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
57638 2011-03-13  Bruno Haible  <bruno@clisp.org>
57640         ignore-value tests: Avoid warnings.
57641         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
57642         empty for gcc < 3.4.
57644 2011-03-13  Bruno Haible  <bruno@clisp.org>
57646         passfd: Fix link error on Solaris.
57647         * modules/passfd (Description): Correct.
57648         (Depends-on): Add socketlib.
57649         (Link): New section.
57650         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
57652 2011-03-13  Bruno Haible  <bruno@clisp.org>
57654         passfd: Fix link error on AIX 5.2.
57655         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
57657 2011-03-13  Bruno Haible  <bruno@clisp.org>
57659         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
57660         * lib/sys_socket.in.h: Include <stddef.h>.
57661         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
57662         CMSG_FIRSTHDR. Remove unused variable.
57664 2011-03-13  Bruno Haible  <bruno@clisp.org>
57666         passfd: Fix compilation error on OpenBSD.
57667         * lib/passfd.c: Include <sys/uio.h>.
57669 2011-03-13  Bruno Haible  <bruno@clisp.org>
57671         passfd test: Fix warnings.
57672         * tests/test-passfd.c: Include <sys/wait.h>.
57673         (main): Fix typo.
57675 2011-03-13  Bruno Haible  <bruno@clisp.org>
57677         passfd module, part 4, tweaks.
57678         * tests/test-passfd.c: Reorder includes.
57679         (main): Fix perror and printf calls.
57681 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
57683         passfd module, part 4.
57684         * modules/passfd-tests: New file.
57685         * tests/test-passfd.c: New file.
57687 2011-03-13  Jim Meyering  <meyering@redhat.com>
57689         Makefile: rely on GNU make; derive syntax-check rule names
57690         Rather than requiring that each sc_ rule be listed as a dependent
57691         of "check", use features of GNU make to derive the list.
57692         * Makefile (syntax-check-rules): Define.
57693         (check): Depend on the new variable, not the hard-coded list.
57695 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
57696             Bruno Haible  <bruno@clisp.org>
57698         passfd module, part 3.
57699         * lib/passfd.h (recvfd): Add a flags argument.
57700         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
57701         (recvfd): Add a flags argument.
57702         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
57703         exists.
57704         * modules/passfd (Depends-on): Add cloexec.
57705         Suggested by Eric Blake.
57707 2011-03-13  Bruno Haible  <bruno@clisp.org>
57709         passfd module, part 2, tweaks.
57710         * modules/passfd (Files): Reorder.
57711         (Depends-on): Remove errno.
57712         (Include): Remove <sys/socket.h>, <sys/un.h>.
57713         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
57714         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
57715         specification header. Include <sys/socket.h> always. Don't include
57716         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
57717         (sendfd): Clarify that it sets errno when it fails.
57718         (recvfd): Fix specification.
57720 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
57722         passfd module, part 2.
57723         * modules/passfd: New file.
57724         * lib/passfd.h: New file.
57725         * lib/passfd.c: New file.
57727 2011-03-12  Bruno Haible  <bruno@clisp.org>
57729         wcswidth, mbswidth: Avoid integer overflow.
57730         * lib/wcswidth.c: Include <limits.h>.
57731         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
57732         * lib/mbswidth.c: Include <limits.h>.
57733         (mbsnwidth): Avoid 'int' overflow.
57734         Reported by Jim Meyering.
57736 2011-03-12  Bruno Haible  <bruno@clisp.org>
57738         futimens, utimensat: Avoid endless recursion on Solaris 10.
57739         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
57740         Solaris.
57741         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
57742         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
57744 2011-03-11  Jim Meyering  <meyering@redhat.com>
57746         maint.mk: relax a regexp to accommodate other formatting styles
57747         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
57748         between "ngettext" and the following "(".
57750 2011-03-11  Pádraig Brady  <P@draigBrady.com>
57752         maint.mk: suppress a false positive warning
57753         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
57754         diagnostics are marked with ngettext.
57756 2011-03-10  Eric Blake  <eblake@redhat.com>
57758         wchar: add explicit dependencies, for Tru64
57759         * modules/mbmemcasecoll (Depends-on): Add wchar.
57760         * modules/mbtowc (Depends-on): Likewise.
57761         * modules/vasnprintf (Depends-on): Likewise.
57762         * modules/unistdio/u-printf-args (Depends-on): Likewise.
57763         * modules/wctomb (Depends-on): Likewise.
57764         Reported by Peter O'Gorman.
57766 2011-03-08  Bruno Haible  <bruno@clisp.org>
57768         passfd module, part 1, tweaks.
57769         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
57770         Improve indentation. Improve AC_MSG_CHECKING messages.
57771         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
57772         gl_SOCKET_FAMILIES.
57774 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
57776         passfd module, part 1.
57777         * m4/afunix.m4: New file.
57778         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
57779         sockets.
57781 2011-03-08  Bruno Haible  <bruno@clisp.org>
57783         regex-quote: New API.
57784         * lib/regex-quote.h: Include <stdbool.h>.
57785         (struct regex_quote_spec): New type.
57786         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
57787         New declarations.
57788         (regex_quote_length, regex_quote_copy, regex_quote): Take a
57789         'const struct regex_quote_spec *' argument.
57790         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
57791         (pcre_special): New constant.
57792         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
57793         New functions.
57794         (regex_quote_length, regex_quote_copy, regex_quote): Take a
57795         'const struct regex_quote_spec *' argument.
57796         * modules/regex-quote (Depends-on): Add stdbool.
57797         * tests/test-regex-quote.c (check): Update for new API. Add test for
57798         anchored results.
57799         * NEWS: Mention the API change.
57800         Reported by Reuben Thomas and Eric Blake.
57802 2011-03-06  Bruno Haible  <bruno@clisp.org>
57804         regex-quote: Fix creation of POSIX extended regular expressions.
57805         * lib/regex-quote.c (ere_special): Add grouping and alternation
57806         operators.
57808 2011-03-05  Bruno Haible  <bruno@clisp.org>
57810         doc: Improve doc regarding autopoint vs. gnulib.
57811         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
57812         disable autopoint while running autoreconf.
57813         Suggested by Ralf Wildenhues.
57815 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57817         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
57818         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
57820 2011-03-03  Bruce Korb  <bkorb@gnu.org>
57822         parse-duration: remove xalloc.h dependency
57823         * lib/parse-duration.c (parse_period): handle NULL return from
57824         strdup instead of calling xstrdup().
57825         * modules/parse-duration: remove "xalloc" dependency
57827 2011-03-03  Matthew Booth  <mbooth@redhat.com>
57829         bootstrap: honor m4_base when running aclocal
57830         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
57832 2011-03-02  Jim Meyering  <meyering@redhat.com>
57834         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
57835         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
57836         on request from Matt Booth.
57838 2011-03-01  Eric Blake  <eblake@redhat.com>
57840         test-link: work on Hurd
57841         * tests/test-link.h (test_link): Hurd rejects linking directories
57842         with EISDIR instead of the POSIX-mandated EPERM.
57844 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
57846         stdio: simplify by moving files to printf-posix, sigpipe
57847         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
57848         since this symbol is needed only if printf is replaced.
57849         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
57850         Require gl_ASM_SYMBOL_PREFIX.
57851         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
57852         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
57853         (Depends-on): Add 'raise'.
57854         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
57855         * modules/stdio (Files): Remove lib/stdio-write.c,
57856         m4/asm-underscore.m4.
57857         (Depends-on): Remove 'raise'.
57859         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
57860         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
57861         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
57862         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
57864 2011-02-28  Bruno Haible  <bruno@clisp.org>
57866         localcharset: Assume ANSI C behaviour of free().
57867         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
57868         calling free().
57869         Suggested by Simon Josefsson <simon@josefsson.org>.
57871 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
57872             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
57873             Bruno Haible  <bruno@clisp.org>  (tiny change)
57875         On Cygwin, use /proc file system instead of win32 API.
57876         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
57877         Win32 file names.
57878         (DllMain): Simplify by removing Cygwin specific code.
57879         (find_shared_library_fullname): Use Linux specific implementation also
57880         for Cygwin.
57881         (get_shared_library_fullname): Update accordingly.
57882         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
57883         Win32 file names.
57884         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
57885         Cygwin specific code.
57887 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
57888             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
57890         Fix OpenMP flag detection for various Fortran compilers.
57891         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
57892         OpenMP-conditional compilation construct, to force compile
57893         failure with missing OpenMP flag.
57894         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
57896 2011-02-25  Eric Blake  <eblake@redhat.com>
57898         strstr: expand test coverage
57899         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
57900         compilation.
57901         * tests/test-memmem.c (main): Duplicate tests.
57902         * tests/test-strcasestr.c (main): Likewise.
57903         * tests/test-c-strcasestr.c (main): Likewise.
57905 2011-02-25  Jim Meyering  <meyering@redhat.com>
57907         maint.mk: detect missing-NL-at-EOF, too
57908         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
57909         it also detects when a file lacks a newline at EOF.
57910         (require_exactly_one_NL_at_EOF_): Renamed from
57911         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
57912         since people may well have .x-sc_... file names tied to the
57913         existing name.  Suggested by Eric Blake.
57915 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57917         dirname: move m4/dos.m4 functionality into lib/dosname.h
57919         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
57920         extracts symbols from it, puts them into config.h; but it's much
57921         easier to use the symbols directly.  filename.h already does this,
57922         but it disagrees with dos.m4 in some respects.  This patch
57923         introduces a different include file dosname.h that packages up
57924         dos.m4, and then later we can work on merging filename.h and
57925         dosname.h.  Applications that need only the easy-to-configure
57926         symbols should consider including dosname.h rather than dirname.h.
57927         * NEWS: Mention incompatible changes.
57928         * m4/dos.m4: Remove.
57929         * lib/dosname.h, modules/dosname: New files.
57930         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
57931         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
57932         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
57933         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
57934         Include dosname.h, not dirname.h.
57935         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
57936         Include dosname.h, for definitions of symbols like ISSLASH
57937         that used to be in config.h.
57938         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
57939         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
57940         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
57941         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
57942         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
57943         * modules/rmdir (Files): Likewise.
57944         * modules/stat (Files): Likewise.
57945         * modules/unlink (Files): Likewise.
57946         * modules/dirname-lgpl (Depends-on): Add dosname.
57947         * modules/lstat (Depends-on): Likewise.
57948         * modules/openat (Depends-on): Likewise.
57949         * modules/rmdir (Depends-on): Likewise.
57950         * modules/savewd (Depends-on): Likewise.
57951         * modules/stat (Depends-on): Likewise.
57952         * modules/unlink (Depends-on): Likewise.
57953         * modules/openat (Depends-on): Remove dirname-lgpl.
57954         * modules/savewd (Depends-on): Likewise.
57955         * tests/test-dirname.c: Do not use removed symbols like
57956         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
57957         the remaining symbols, e.g., ISSLASH ('\\').
57959 2011-02-25  Eric Blake  <eblake@redhat.com>
57961         strstr: revert patches that introduced bug and pessimization
57962         * lib/str-two-way.h: Add another reference.
57963         (two_way_short_needle, two_way_long_needle): Revert changes from
57964         2011-02-24; they pessimize search speed.
57965         (critical_factorization): Partially revert changes from
57966         2010-06-22; they violate the requirement that the left half of the
57967         needle be smaller than the period of the needle.
57969 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
57971         filenamecat: remove unnecessary dependency on dirname-lgpl
57972         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
57973         is no direct dependency, just an indirect one via filenamecat-lgpl.
57975         remove: remove unnecessary use of m4/dos.m4
57976         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
57977         * modules/remove (FILES): Remove m4/dos.m4.
57979         * lib/openat-proc.c: Don't include dirname.h; not needed.
57981         backupfile: remove unnecessary use of m4/dos.m4
57982         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
57983         of its symbols are used by the backupfile code.  backupfile.c does
57984         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
57985         for the rare case of programs that want all their backup file
57986         names to live within 8+3 limits, and dos.m4 doesn't address that.
57987         * modules/backupfile (Files): Remove m4/dos.m4.
57989 2011-02-24  Jim Meyering  <meyering@redhat.com>
57991         strstr: fix a bug whereby strstr would mistakenly return NULL
57992         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
57993         in period calculation.
57994         (two_way_long_needle): Likewise.
57995         The original problem was reported by Mike Stump in
57996         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
57997         Ralf Wildenhues provided the short needle and haystack.
57998         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
57999         Add a more involved test to trigger the bug in two_way_long_needle.
58001 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
58003         gnulib-tool: remove use of bold display in help screen
58004         * gnulib-tool (func_usage): Do not use bold display anymore in the
58005         help screen.  That was just meant to be a temporary emphasis for a
58006         backward-incompatible change.
58008 2011-02-23  Bruno Haible  <bruno@clisp.org>
58010         Fix misindentation of preprocessor directives.
58011         * lib/argp-namefrob.h: Reindent preprocessor directives.
58012         * lib/getopt_int.h (struct _getopt_data): Likewise.
58013         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
58014         * lib/vasnprintf.c (decode_long_double): Likewise.
58015         * tests/test-argmatch.c: Insert blank lines, for clarity.
58016         * tests/test-exclude.c: Likewise.
58018 2011-02-22  Bruno Haible  <bruno@clisp.org>
58020         ioctl: Fix for MacOS X in 64-bit mode.
58021         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
58022         value.
58023         Suggested by Eric Blake.
58024         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
58026 2011-02-22  Jim Meyering  <meyering@redhat.com>
58028         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
58029         * Makefile (sc_cpp_indent_check): Don't limit the check to files
58030         in lib/.
58032 2011-02-22  Eric Blake  <eblake@redhat.com>
58034         maint: avoid any CDPATH issue
58035         * Makefile (sc_cpp_indent_check): Anchor cd argument.
58037         maint: adjust cpp indentation for my modules, as well
58038         * Makefile (sc_cpp_indent_check): Add my name.
58039         * lib/fbufmode.c: Filter through cppi.
58040         * lib/fpurge.c: Likewise.
58041         * lib/freadable.c: Likewise.
58042         * lib/freading.c: Likewise.
58043         * lib/fwritable.c: Likewise.
58044         * lib/fwriting.c: Likewise.
58045         * lib/sigaction.c: Likewise.
58047 2011-02-22  Jim Meyering  <meyering@redhat.com>
58049         maint: adjust cpp indentation to reflect nesting depth
58050         I.e., in a block of code that begins with an unnested "#if",
58051         put one space between the "#" in column 1 and following token.
58052         For example,
58053         -#include <sys/vfs.h>
58054         +# include <sys/vfs.h>
58055         Do this only in .c files that are part of a module I maintain.
58056         * lib/linkat.c: Filter through cppi.
58057         * lib/nanosleep.c: Likewise.
58058         * lib/openat.c: Likewise.
58059         * lib/openat-die.c: Likewise.
58060         * lib/dup3.c: Likewise.
58061         * lib/fchownat.c: Likewise.
58062         * lib/flock.c: Likewise.
58063         * lib/fsync.c: Likewise.
58064         * lib/fts.c: Likewise.
58065         * lib/getpass.c: Likewise.
58066         * lib/gettimeofday.c: Likewise.
58067         * lib/userspec.c: Likewise.
58068         * Makefile (sc_cpp_indent_check): New rule, to check this.
58070 2011-02-22  Bruno Haible  <bruno@clisp.org>
58072         New module 'wctomb'.
58073         * lib/stdlib.in.h (wctomb): New declaration.
58074         * lib/wctomb.c: New file.
58075         * lib/wctomb-impl.h: New file.
58076         * m4/wctomb.m4: New file.
58077         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
58078         REPLACE_WCTOMB.
58079         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
58080         REPLACE_WCTOMB.
58081         * modules/wctomb: New file.
58082         * tests/test-stdlib-c++.cc: Test signature of wctomb.
58083         * doc/posix-functions/wctomb.texi: Mention the new module.
58084         * modules/wctob (Depends-on): Add wctomb.
58086 2011-02-22  Bruno Haible  <bruno@clisp.org>
58088         New module 'mbtowc'.
58089         * lib/stdlib.in.h (mbtowc): New declaration.
58090         * lib/mbtowc.c: New file.
58091         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
58092         * m4/mbtowc.m4: New file.
58093         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
58094         REPLACE_MBTOWC.
58095         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
58096         REPLACE_MBTOWC.
58097         * modules/mbtowc: New file.
58098         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
58099         * doc/posix-functions/mbtowc.texi: Mention the new module.
58100         * modules/btowc (Depends-on): Add mbtowc.
58102 2011-02-22  Bruno Haible  <bruno@clisp.org>
58104         wcrtomb: Add more tests for native Windows platforms.
58105         * tests/test-wcrtomb-w32-1.sh: New file.
58106         * tests/test-wcrtomb-w32-2.sh: New file.
58107         * tests/test-wcrtomb-w32-3.sh: New file.
58108         * tests/test-wcrtomb-w32-4.sh: New file.
58109         * tests/test-wcrtomb-w32-5.sh: New file.
58110         * tests/test-wcrtomb-w32.c: New file.
58111         * modules/wcrtomb-tests (Files): Add them.
58112         (Makefile.am): Arrange to run these tests.
58113         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
58114         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
58116 2011-02-20  Bruno Haible  <bruno@clisp.org>
58118         wcrtomb: Enhance test.
58119         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
58121 2011-02-20  Bruno Haible  <bruno@clisp.org>
58123         mbrtowc: Tiny optimization.
58124         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
58126 2011-02-20  Jim Meyering  <meyering@redhat.com>
58128         test-exclude.c: remove unmatched #endif
58129         * tests/test-exclude.c: Remove stray #endif, left over from
58130         the change of a week ago.
58132 2011-02-19  Jim Meyering  <meyering@redhat.com>
58134         git-version-gen: skip "-dirty" check when appropriate
58135         * build-aux/git-version-gen: Don't run any git commands when the
58136         version string comes from .tarball-version.  Prior to this, we
58137         would run git update-index --refresh even from a just-unpacked
58138         tarball directory, and that could affect a .git/ directory in a
58139         parent of the build directory.  Reported by Mike Frysinger.
58141 2011-02-19  Bruno Haible  <bruno@clisp.org>
58143         unictype/property-byname: Reduce the size of the 'data' segment.
58144         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
58146 2011-02-19  Bruno Haible  <bruno@clisp.org>
58148         unictype/scripts: Reduce the size of the 'data' segment.
58149         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
58150         '%pic'.
58151         * lib/unictype/scripts_byname.gperf: Regenerated.
58153 2011-02-19  Bruno Haible  <bruno@clisp.org>
58155         stdint: Update documentation.
58156         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
58158 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
58160         stdint: omit redundant check for wchar.h
58161         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
58162         always tests whether wchar.h exists, so remove the now-redundant test.
58164 2011-02-18  Bruno Haible  <bruno@clisp.org>
58166         stdint: Cut dependency to module 'wchar'.
58167         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
58168         include the necessary prerequisites.
58169         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
58170         * modules/stdint (Depends-on): Remove wchar.
58171         (Makefile.am): Substitute HAVE_WCHAR_H.
58172         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
58174 2011-02-18  Eric Blake  <eblake@redhat.com>
58176         longlong: skip, rather than fail, on cross-compilation
58177         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
58178         when cross-compiling; regression from 2011-02-16.
58180 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58182         * NEWS: Mention 2011-02-08 change to stdlib.
58184 2011-02-17  Bruno Haible  <bruno@clisp.org>
58186         getloadavg: Add comments about platforms.
58187         * m4/getloadavg.m4: Add comment.
58188         * lib/getloadavg.c: Likewise.
58190 2011-02-17  Bruno Haible  <bruno@clisp.org>
58192         getloadavg: Fix link error on Solaris 2.6.
58193         * modules/getloadavg (Link): New section.
58194         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
58195         linking test-getloadavg.
58196         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
58197         getloadavg.
58199 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58201         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
58202         It was 'int', but this doesn't match the IRIX 6.5 manual.
58203         Suggested by Bruno Haible in
58204         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
58206 2011-02-17  Bruno Haible  <bruno@clisp.org>
58208         havelib: Fix comments.
58209         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
58210         change.
58212 2011-02-17  Bruno Haible  <bruno@clisp.org>
58214         havelib: Update config.rpath.
58215         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
58217 2011-02-17  Bruno Haible  <bruno@clisp.org>
58219         getloadavg test: Add some plausibility checks.
58220         * tests/test-getloadavg.c (check_avg): Print a warning when the value
58221         is improbable.
58223 2011-02-16  Eric Blake  <eblake@redhat.com>
58225         maintainer-makefile: make syntax-check a no-op from tarballs
58226         * top/maint.mk (no-vc-detected): New rule.
58227         (local-checks-available): Use it to avoid hanging if someone tries
58228         'make syntax-check' from a tarball.  Also append to any non-syntax
58229         checks already defined in cfg.mk.
58231 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
58233         longlong: tune, particularly for common case of c99
58235         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
58236         or running anything if c99, or if unsigned long long int does not
58237         work.  In either case, we know the answer without further tests.
58238         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
58239         it at most once, and use its results for both long long int and
58240         unsigned long long int.  This is more likely to be efficient in
58241         the common case where the program wants to check for both long
58242         long int and unsigned long long int.
58243         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
58244         since the answer is already known.
58246 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
58248         getloadavg: set errno
58249         * lib/getloadavg.c: Set errno when returning -1.  If no other
58250         error number looks appropriate, set it to ENOSYS if the getloadavg
58251         looks like it can't possibly ever work, ENOTSUP otherwise.
58252         Suggested by Bruno Haible in
58253         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
58255         getloadavg: trim unused parts and speed up 'configure'
58256         * NEWS: Document this.
58257         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
58258         always compiled if getloadavg is absent.
58259         Move test code to ...
58260         * tests/test-getloadavg.c: New file, containing previous
58261         contents of test from lib/getloadavg.c.  It also contains
58262         suggestions by Bruno Haible in
58263         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
58264         * modules/getloadavg-tests: New file.
58265         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
58266         Do tests in the same order as they're needed for getloadavg.c.
58267         Omit setgid-related tests that generate symbols KMEM_GROUP,
58268         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
58269         Do only the tests that are needed to see whether the system has
58270         getloadavg, moving the other tests into ...
58271         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
58272         NLIST_NAME_UNION; nobody should be using it.  Do not define
58273         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
58274         relevant, as the user of this module shouldn't care how getloadavg
58275         is implemented.
58277         getloadavg: omit unused var
58278         * lib/getloadavg.c (getloadavg): Omit unused local variable.
58280 2011-02-15  Jim Meyering  <meyering@redhat.com>
58282         doc: update users.txt
58283         * users.txt: Update iwhd's URL.
58285 2011-02-13  Bruno Haible  <bruno@clisp.org>
58287         Consistent macro naming for macros that use GCC __attribute__.
58288         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
58289         _ATTRIBUTE_NONNULL_.
58290         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
58291         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
58292         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
58293         ATTRIBUTE_DEPRECATED.
58294         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
58295         ATTRIBUTE_NORETURN.
58296         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58297         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58298         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58299         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58300         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
58301         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
58302         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
58303         ATTRIBUTE_SENTINEL.
58304         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
58305         ATTRIBUTE_RETURN_CHECK.
58306         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
58307         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
58308         ATTRIBUTE_NORETURN.
58309         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
58310         Reported by Paul Eggert.
58312 2011-02-13  Bruno Haible  <bruno@clisp.org>
58314         Don't interfere with a program's definition of __attribute__.
58315         * lib/argp.h (__attribute__): Remove definition.
58316         (_GL_ATTRIBUTE_FORMAT): New macro.
58317         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
58318         * lib/argp-fmtstream.h (__attribute__): Remove definition.
58319         (_GL_ATTRIBUTE_FORMAT): New macro.
58320         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
58321         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
58322         GCC 3 or newer.
58323         * lib/error.h (__attribute__): Remove definition.
58324         (_GL_ATTRIBUTE_FORMAT): New macro.
58325         (error, error_at_line): Use it.
58326         * lib/hash.h (__attribute__): Remove definition.
58327         (ATTRIBUTE_WUR): Update definition. Define always.
58328         * lib/openat.h (__attribute__): Remove definition.
58329         (ATTRIBUTE_NORETURN): Update definition. Define always.
58330         * lib/sigpipe-die.h (__attribute__): Remove definition.
58331         (ATTRIBUTE_NORETURN): Update definition. Define always.
58332         * lib/vasnprintf.h (__attribute__): Remove definition.
58333         (_GL_ATTRIBUTE_FORMAT): New macro.
58334         (asnprintf, vasnprintf): Use it.
58335         * lib/xalloc.h (__attribute__): Remove definition.
58336         (ATTRIBUTE_NORETURN): Update definition. Define always.
58337         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
58338         * lib/xmemdup0.h (__attribute__): Remove definition.
58339         (ATTRIBUTE_NORETURN): Update definition. Define always.
58340         * lib/xprintf.h (__attribute__): Remove definition.
58341         (_GL_ATTRIBUTE_FORMAT): New macro.
58342         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
58343         * lib/xstrtol.h (__attribute__): Remove definition.
58344         (ATTRIBUTE_NORETURN): Update definition. Define always.
58345         * lib/xvasprintf.h (__attribute__): Remove definition.
58346         (_GL_ATTRIBUTE_FORMAT): New macro.
58347         (xasprintf, xvasprintf): Use it.
58348         * tests/test-argmatch.c (__attribute__): Remove definition.
58349         (ATTRIBUTE_NORETURN): Update definition. Define always.
58350         * tests/test-exclude.c (__attribute__): Remove definition.
58351         (ATTRIBUTE_NORETURN): Update definition. Define always.
58352         Reported by Paul Eggert.
58354 2011-02-13  Bruno Haible  <bruno@clisp.org>
58356         mbrtowc: Add more tests for native Windows platforms.
58357         * tests/test-mbrtowc-w32-1.sh: New file.
58358         * tests/test-mbrtowc-w32-2.sh: New file.
58359         * tests/test-mbrtowc-w32-3.sh: New file.
58360         * tests/test-mbrtowc-w32-4.sh: New file.
58361         * tests/test-mbrtowc-w32-5.sh: New file.
58362         * tests/test-mbrtowc-w32.c: New file.
58363         * modules/mbrtowc-tests (Files): Add them.
58364         (Makefile.am): Arrange to run these tests.
58365         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
58366         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
58368 2011-02-13  Bruno Haible  <bruno@clisp.org>
58370         mbrtowc: Work around native Windows bug.
58371         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
58372         guess when no suitable locale for testing was found.
58373         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
58375 2011-02-13  Bruno Haible  <bruno@clisp.org>
58377         mbsinit: Work around mingw bug.
58378         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
58379         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
58380         Windows.
58381         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
58383 2011-02-13  Bruno Haible  <bruno@clisp.org>
58385         mbsinit: Don't crash for a NULL argument.
58386         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
58387         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
58389 2011-02-13  Bruno Haible  <bruno@clisp.org>
58391         Don't interfere with a program's definition of __attribute__.
58392         * lib/stdio.in.h (__attribute__): Remove definition.
58393         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
58394         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
58395         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
58396         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
58397         * lib/string.in.h (__attribute__): Remove definition.
58398         Reported by Paul Eggert.
58400 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58402         stdlib: don't get in the way of non-GCC __attribute__
58403         See thread starting at
58404         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
58405         Revert previous stdlib change, installing the following instead:
58406         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
58407         to get in the way of a non-GCC compiler that supports __attribute__.
58408         (_GL_ATTRIBUTE_RETURN): New macro.
58409         (_Exit): Use it instead of __attribute__.
58411 2011-02-12  Bruno Haible  <bruno@clisp.org>
58413         quotearg test: Avoid test failure on mingw.
58414         * tests/test-quotearg.sh: Convert the locale identifier from native
58415         Windows syntax to Unix syntax.
58417 2011-02-12  Bruno Haible  <bruno@clisp.org>
58419         setlocale: Prefer gnulib's override over libintl's override.
58420         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
58421         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
58422         GNULIB_defined_setlocale is set.
58424 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58426         stdlib: support non-GCC __attribute__
58428         Fix a serious and tricky problem encountered when attempting to
58429         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
58430         5.5, but it crashed due to memory corruption on Solaris 10 with
58431         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
58432         bits that are otherwise zero.  This tagging is optional inside
58433         Emacs but is preferred and is used when __attribute__ ((__aligned
58434         (8))) works, as it does with both recent-enough GCC and with Sun C
58435         5.11.  However, Sun C 5.11 is not GCC and does not #define
58436         __GNUC__ and __GNUC_MINOR__.
58438         When I added the getloadavg module to Emacs, it brought in
58439         stdlib.in.h, which contained this fragment:
58441            #ifndef __attribute__
58442            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
58443            #  define __attribute__(Spec)   /* empty */
58444            # endif
58445            #endif
58447         When files that include <stdlib.h> were compiled with Sun C 5.11,
58448         the above code disabled __attribute__ ((__aligned (8))), which
58449         caused variables to not be properly aligned, which eventually led
58450         to the pointer corruption mentioned above.  (This was a bit hard
58451         to diagnose, unfortunately.)
58453         Several "#define __attribute__(X) /* empty */" code snippets need
58454         to be eradicated from Gnulib to work with non-GCC compilers that
58455         support __attribute__.  The Autoconf way to do this is to test for
58456         each kind of attribute that we want support for, and selectively
58457         enable that in source code.
58459         Fix this problem just for stdlib.h, by adding a test for the
58460         __noreturn__ attribute, and change stdlib.in.h to use that test
58461         when needed.  This technique can be easily generalized to the
58462         other *.in.h files and attributes, and a similar technique can be
58463         used for *.h and *.c files.  This patch is enough to solve the
58464         problem for Emacs + getloadavg, and I thought I'd publish it for
58465         feedback before undertaking further, similar fixes in other
58466         modules.
58468         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
58469         because it's not needed for stdlib.h.  It merely substitutes the
58470         value directly into stdlib.h.  We may well need to #define it, or
58471         similar symbols, for other modules, but it's nice to also have an
58472         option to not #define it for applications like Emacs that do not
58473         need it.
58475         * lib/stdlib.in.h (__attribute__): Do not #define.
58476         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
58477         be defined only if the _Exit module is also used.
58478         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
58479         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
58480         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
58481         platforms.
58482         * modules/_Exit (Files): Add m4/attribute.m4.
58483         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
58484         * m4/attribute.m4: New file.
58486 2011-02-12  Bruno Haible  <bruno@clisp.org>
58488         wcsrtombs: Work around bug on native Windows.
58489         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
58490         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
58491         instead of len.
58492         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
58494 2011-02-12  Bruno Haible  <bruno@clisp.org>
58496         mbsrtowcs: Work around bug on native Windows.
58497         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
58498         against mingw bug.
58499         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
58501 2011-02-12  Bruno Haible  <bruno@clisp.org>
58503         Avoid setlocale bugs in tests.
58504         * modules/btowc (Dependencies): Add setlocale.
58505         * modules/c-strcase (Dependencies): Likewise.
58506         * modules/mbmemcasecmp (Dependencies): Likewise.
58507         * modules/mbmemcasecoll (Dependencies): Likewise.
58508         * modules/mbrtowc (Dependencies): Likewise.
58509         * modules/mbscasecmp (Dependencies): Likewise.
58510         * modules/mbscasestr (Dependencies): Likewise.
58511         * modules/mbschr (Dependencies): Likewise.
58512         * modules/mbscspn (Dependencies): Likewise.
58513         * modules/mbsinit (Dependencies): Likewise.
58514         * modules/mbsncasecmp (Dependencies): Likewise.
58515         * modules/mbsnrtowcs (Dependencies): Likewise.
58516         * modules/mbspbrk (Dependencies): Likewise.
58517         * modules/mbspcasecmp (Dependencies): Likewise.
58518         * modules/mbsrchr (Dependencies): Likewise.
58519         * modules/mbsrtowcs (Dependencies): Likewise.
58520         * modules/mbsspn (Dependencies): Likewise.
58521         * modules/mbsstr (Dependencies): Likewise.
58522         * modules/nl_langinfo (Dependencies): Likewise.
58523         * modules/quotearg (Dependencies): Likewise.
58524         * modules/unicase/locale-language (Dependencies): Likewise.
58525         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
58526         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
58527         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
58528         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
58529         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
58530         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
58531         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
58532         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
58533         * modules/vasnprintf-posix (Dependencies): Likewise.
58534         * modules/wcrtomb (Dependencies): Likewise.
58535         * modules/wcsnrtombs (Dependencies): Likewise.
58536         * modules/wcsrtombs (Dependencies): Likewise.
58538 2011-02-12  Bruno Haible  <bruno@clisp.org>
58540         setlocale: Workaround native Windows bug.
58541         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
58542         succeeds but sets LC_CTYPE to "C", report a failure.
58543         * tests/test-setlocale2.sh: New file.
58544         * tests/test-setlocale2.c: New file.
58545         * modules/setlocale-tests (Files): Add the new files.
58546         (Makefile.am): Enable test-setlocale2.sh test.
58547         * doc/posix-functions/setlocale.texi: Mention workaround.
58549 2011-02-11  Bruno Haible  <bruno@clisp.org>
58551         Tests for module 'setlocale'.
58552         * modules/setlocale-tests: New file.
58553         * tests/test-setlocale1.sh: New file.
58554         * tests/test-setlocale1.c: New file.
58556         New module 'setlocale'.
58557         * lib/locale.in.h (setlocale): New declaration.
58558         * lib/setlocale.c: New file, based on
58559         gettext/gettext-runtime/intl/setlocale.c.
58560         * m4/setlocale.m4: New file.
58561         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
58562         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
58563         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
58564         REPLACE_SETLOCALE.
58565         * modules/setlocale: New file.
58566         * tests/test-locale-c++.cc: Test the declaration of setlocale.
58567         * doc/posix-functions/setlocale.texi: Mention the new module.
58569 2011-02-11  Bruno Haible  <bruno@clisp.org>
58571         Prepare for locale dependent tests on mingw.
58572         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
58573         because it has the wrong locale encoding.
58574         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
58575         French_France.1252 instead of "fr".
58576         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
58577         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
58578         because it has the wrong locale encoding.
58579         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
58580         native Windows, try Turkish_Turkey.65001.
58581         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
58582         Chinese_China.54936.
58584         Prepare for locale dependent tests on mingw.
58585         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
58586         differently.
58587         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
58588         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
58589         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58590         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58592 2011-02-11  Eric Blake  <eblake@redhat.com>
58594         strptime: avoid compiler warnings
58595         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
58596         compiler warnings about dead code.
58597         Reported by Daniel P. Berrange.
58599 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
58601         doc: update users.txt
58602         * users.txt: Add rcs.
58604 2011-02-10  John W. Eaton  <jwe@gnu.org>
58606         doc: update users.txt
58607         * users.txt: Add octave.
58609 2011-02-10  Jim Meyering  <meyering@redhat.com>
58611         doc: update users.txt
58612         * users.txt: Add iwhd.
58614 2011-02-09  Bruno Haible  <bruno@clisp.org>
58616         gnulib-tool: Make copyright notice adjustment more robust.
58617         * gnulib-tool (func_import): In sed_transform_main_lib_file,
58618         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
58619         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
58620         License".
58621         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
58623 2011-02-06  Bruno Haible  <bruno@clisp.org>
58625         New module 'towctrans'.
58626         * modules/towctrans: New file.
58627         * lib/wctype.in.h (towctrans): New declaration.
58628         * lib/towctrans.c: New file.
58629         * lib/towctrans-impl.h: New file.
58630         * m4/towctrans.m4: New file.
58631         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
58632         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
58633         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
58634         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
58635         * doc/posix-functions/towctrans.texi: Mention the new module.
58637 2011-02-06  Bruno Haible  <bruno@clisp.org>
58639         New module 'wctrans'.
58640         * modules/wctrans: New file.
58641         * lib/wctype.in.h (wctrans): New declaration.
58642         * lib/wctrans.c: New file.
58643         * lib/wctrans-impl.h: New file.
58644         * m4/wctrans.m4: New file.
58645         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
58646         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
58647         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
58648         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
58649         * doc/posix-functions/wctrans.texi: Mention the new module.
58651 2011-02-06  Bruno Haible  <bruno@clisp.org>
58653         New module 'iswctype'.
58654         * modules/iswctype: New file.
58655         * lib/wctype.in.h (iswctype): New declaration.
58656         * lib/iswctype.c: New file.
58657         * lib/iswctype-impl.h: New file.
58658         * m4/iswctype.m4: New file.
58659         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
58660         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
58661         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
58662         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
58663         * doc/posix-functions/iswctype.texi: Mention the new module and the
58664         HP-UX 11.00 problem.
58666 2011-02-06  Bruno Haible  <bruno@clisp.org>
58668         New module 'wctype'.
58669         * modules/wctype: Change to represent the wctype() substitute.
58670         * lib/wctype.in.h (wctype): New declaration.
58671         * lib/wctype.c: New file.
58672         * lib/wctype-impl.h: New file.
58673         * m4/wctype.m4: New file.
58674         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
58675         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
58676         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
58677         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
58678         * doc/posix-functions/wctype.texi: Mention the new module and the
58679         HP-UX 11.00 problem.
58681 2011-02-06  Bruno Haible  <bruno@clisp.org>
58683         wctype-h: Ensure wctype_t and wctrans_t are defined.
58684         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
58685         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
58686         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
58687         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
58688         HAVE_WCTRANS_T.
58689         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
58691 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
58693         flock: fix license typo
58695         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
58696         omitted.
58698 2011-02-08  Bruno Haible  <bruno@clisp.org>
58700         Split large sed scripts, for HP-UX sed.
58701         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
58702         to avoid HP-UX limit of 99 commands, in the near future.
58703         * modules/stdlib (Makefile.am): Likewise.
58704         * modules/unistd (Makefile.am): Likewise.
58705         * modules/wchar (Makefile.am): Likewise.
58706         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58707         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
58708         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
58710 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
58711             Bruno Haible  <bruno@clisp.org>
58713         stdlib: improve random_r modularization
58714         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
58715         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
58716         you also need the random_r module to get this material right.
58717         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
58718         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
58719         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
58721 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
58723         stdlib: don't depend on stdint
58724         * lib/stdlib.in.h: Don't include <stdint.h> merely because
58725         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
58726         be independent of whether stdint.h is needed.
58727         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
58728         here, instead of ...
58729         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
58730         struct random_data should be using the random_r module, not just
58731         the stdlib module (which wouldn't make sense: what package needs
58732         just struct random_data without also needing random_r?).
58733         * modules/stdlib (Depends-on): Remove stdint.
58735         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
58736         See the thread rooted at
58737         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
58738         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
58739         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
58740         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
58741         __VMS)); previously it was always included (via fcntl--.h).
58742         (getloadavg): Do not use c_strtod.  Instead, approximate it by
58743         hand; this is good enough for load averages.  Also, do not use
58744         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
58745         flags directly if available and don't bother otherwise.  (Packages
58746         that need the extra reliability should use the modules that define
58747         these flags on older platforms that lack them.)
58748         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
58749         fcntl-safer.
58751 2011-02-08  Jim Meyering  <meyering@redhat.com>
58753         di-set.h, ino-map.h: add multiple-inclusion guard
58754         Technically, the guard is required only for ino-map.h, due to its
58755         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
58756         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
58757         * lib/ino-map.h: Likewise.
58759 2011-02-06  Bruno Haible  <bruno@clisp.org>
58761         iswblank: Ensure declaration on glibc systems.
58762         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
58763         * modules/iswblank (Dependencies): Add 'extensions'.
58764         * doc/posix-functions/iswblank.texi: Document the glibc problem.
58766 2011-02-06  Bruno Haible  <bruno@clisp.org>
58768         New module 'iswblank'.
58769         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
58770         * modules/iswblank: New file.
58771         * modules/wctype-h (Files): Remove lib/iswblank.c.
58772         (Makefile.am): Substitute GNULIB_ISWBLANK.
58773         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
58774         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
58775         (gl_WCTYPE_H_DEFAULTS): New macro.
58776         (gl_WCTYPE_H): Require it. Remove iswblank related code.
58777         * modules/iswblank-tests: New file.
58778         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
58779         * tests/test-wctype-h.c (main): Remove iswblank tests.
58780         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
58781         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
58782         of 'wctype-h'.
58783         * NEWS: Mention the change.
58784         * modules/mbchar (Depends-on): Add iswblank.
58786 2011-02-08  Bruno Haible  <bruno@clisp.org>
58788         di-set tests: Refactor.
58789         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
58790         unnecessary includes.
58791         (ASSERT): Remove macro.
58792         (main): Make C90 compliant by avoiding variable declaration after
58793         statement.
58794         * modules/di-set-tests (Files): Add tests/macros.h.
58796 2011-02-08  Bruno Haible  <bruno@clisp.org>
58798         ino-map tests: Refactor.
58799         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
58800         unnecessary includes.
58801         (ASSERT): Remove macro.
58802         (main): Make C90 compliant by avoiding variable declaration after
58803         statement.
58804         * modules/ino-map-tests (Files): Add tests/macros.h.
58806 2011-02-08  Jim Meyering  <meyering@redhat.com>
58808         di-set: add "const" to a cast
58809         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
58810         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
58812 2011-02-06  Bruno Haible  <bruno@clisp.org>
58814         Rename module 'wctype' to 'wctype-h'.
58815         * modules/wctype-h: Renamed from modules/wctype.
58816         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
58817         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
58818         (Files, Depends-on, Makefile.am): Update.
58819         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
58820         (Files, Makefile.am): Update.
58821         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
58822         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
58823         * doc/posix-headers/wctype.texi: Update.
58824         * doc/posix-functions/iswalnum.texi: Update.
58825         * doc/posix-functions/iswalpha.texi: Update.
58826         * doc/posix-functions/iswblank.texi: Update.
58827         * doc/posix-functions/iswcntrl.texi: Update.
58828         * doc/posix-functions/iswdigit.texi: Update.
58829         * doc/posix-functions/iswgraph.texi: Update.
58830         * doc/posix-functions/iswlower.texi: Update.
58831         * doc/posix-functions/iswprint.texi: Update.
58832         * doc/posix-functions/iswpunct.texi: Update.
58833         * doc/posix-functions/iswspace.texi: Update.
58834         * doc/posix-functions/iswupper.texi: Update.
58835         * doc/posix-functions/iswxdigit.texi: Update.
58836         * doc/posix-functions/towlower.texi: Update.
58837         * doc/posix-functions/towupper.texi: Update.
58838         * NEWS: Mention the change.
58839         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
58840         * modules/mbchar (Dependencies): Likewise.
58841         * modules/mbswidth (Dependencies): Likewise.
58842         * modules/quotearg (Dependencies): Likewise.
58843         * modules/regex (Dependencies): Likewise.
58844         * modules/wcscasecmp (Dependencies): Likewise.
58845         * modules/wcsncasecmp (Dependencies): Likewise.
58846         * modules/wcwidth (Dependencies): Likewise.
58848 2011-02-06  Bruno Haible  <bruno@clisp.org>
58850         New module 'wcswidth'.
58851         * modules/wcswidth: New file.
58852         * lib/wchar.in.h (wcswidth): New declaration.
58853         * lib/wcswidth.c: New file.
58854         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
58855         * m4/wcswidth.m4: New file.
58856         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
58857         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
58858         REPLACE_WCSWIDTH.
58859         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
58860         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
58861         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
58862         * doc/posix-functions/wcswidth.texi: Mention the new module.
58864 2011-02-06  Bruno Haible  <bruno@clisp.org>
58866         New module 'wcstok'.
58867         * modules/wcstok: New file.
58868         * lib/wchar.in.h (wcstok): New declaration.
58869         * lib/wcstok.c: New file.
58870         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
58871         * m4/wcstok.m4: New file.
58872         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
58873         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
58874         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
58875         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
58876         * doc/posix-functions/wcstok.texi: Mention the new module.
58878 2011-02-06  Bruno Haible  <bruno@clisp.org>
58880         New module 'wcsstr'.
58881         * modules/wcsstr: New file.
58882         * lib/wchar.in.h (wcsstr): New declaration.
58883         * lib/wcsstr.c: New file.
58884         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
58885         * m4/wcsstr.m4: New file.
58886         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
58887         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
58888         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
58889         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
58890         * doc/posix-functions/wcsstr.texi: Mention the new module.
58892 2011-02-06  Bruno Haible  <bruno@clisp.org>
58894         New module 'wcspbrk'.
58895         * modules/wcspbrk: New file.
58896         * lib/wchar.in.h (wcspbrk): New declaration.
58897         * lib/wcspbrk.c: New file.
58898         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
58899         * m4/wcspbrk.m4: New file.
58900         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
58901         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
58902         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
58903         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
58904         * doc/posix-functions/wcspbrk.texi: Mention the new module.
58906 2011-02-06  Bruno Haible  <bruno@clisp.org>
58908         New module 'wcsspn'.
58909         * modules/wcsspn: New file.
58910         * lib/wchar.in.h (wcsspn): New declaration.
58911         * lib/wcsspn.c: New file.
58912         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
58913         * m4/wcsspn.m4: New file.
58914         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
58915         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
58916         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
58917         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
58918         * doc/posix-functions/wcsspn.texi: Mention the new module.
58920 2011-02-06  Bruno Haible  <bruno@clisp.org>
58922         New module 'wcscspn'.
58923         * modules/wcscspn: New file.
58924         * lib/wchar.in.h (wcscspn): New declaration.
58925         * lib/wcscspn.c: New file.
58926         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
58927         * m4/wcscspn.m4: New file.
58928         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
58929         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
58930         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
58931         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
58932         * doc/posix-functions/wcscspn.texi: Mention the new module.
58934 2011-02-06  Bruno Haible  <bruno@clisp.org>
58936         New module 'wcsrchr'.
58937         * modules/wcsrchr: New file.
58938         * lib/wchar.in.h (wcsrchr): New declaration.
58939         * lib/wcsrchr.c: New file.
58940         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
58941         * m4/wcsrchr.m4: New file.
58942         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
58943         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
58944         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
58945         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
58946         * doc/posix-functions/wcsrchr.texi: Mention the new module.
58948 2011-02-06  Bruno Haible  <bruno@clisp.org>
58950         New module 'wcschr'.
58951         * modules/wcschr: New file.
58952         * lib/wchar.in.h (wcschr): New declaration.
58953         * lib/wcschr.c: New file.
58954         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
58955         * m4/wcschr.m4: New file.
58956         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
58957         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
58958         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
58959         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
58960         * doc/posix-functions/wcschr.texi: Mention the new module.
58962 2011-02-06  Bruno Haible  <bruno@clisp.org>
58964         New module 'wcsdup'.
58965         * modules/wcsdup: New file.
58966         * lib/wchar.in.h (wcsdup): New declaration.
58967         * lib/wcsdup.c: New file.
58968         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
58969         * m4/wcsdup.m4: New file.
58970         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
58971         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
58972         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
58973         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
58974         * doc/posix-functions/wcsdup.texi: Mention the new module.
58976 2011-02-06  Bruno Haible  <bruno@clisp.org>
58978         New module 'wcsxfrm'.
58979         * modules/wcsxfrm: New file.
58980         * lib/wchar.in.h (wcsxfrm): New declaration.
58981         * lib/wcsxfrm.c: New file.
58982         * lib/wcsxfrm-impl.h: New file.
58983         * m4/wcsxfrm.m4: New file.
58984         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
58985         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
58986         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
58987         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
58988         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
58990 2011-02-06  Bruno Haible  <bruno@clisp.org>
58992         New module 'wcscoll'.
58993         * modules/wcscoll: New file.
58994         * lib/wchar.in.h (wcscoll): New declaration.
58995         * lib/wcscoll.c: New file.
58996         * lib/wcscoll-impl.h: New file.
58997         * m4/wcscoll.m4: New file.
58998         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
58999         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
59000         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
59001         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
59002         * doc/posix-functions/wcscoll.texi: Mention the new module.
59004 2011-02-06  Bruno Haible  <bruno@clisp.org>
59006         New module 'wcsncasecmp'.
59007         * modules/wcsncasecmp: New file.
59008         * lib/wchar.in.h (wcsncasecmp): New declaration.
59009         * lib/wcsncasecmp.c: New file.
59010         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
59011         * m4/wcsncasecmp.m4: New file.
59012         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
59013         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
59014         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
59015         HAVE_WCSNCASECMP.
59016         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
59017         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
59019 2011-02-06  Bruno Haible  <bruno@clisp.org>
59021         New module 'wcscasecmp'.
59022         * modules/wcscasecmp: New file.
59023         * lib/wchar.in.h (wcscasecmp): New declaration.
59024         * lib/wcscasecmp.c: New file.
59025         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
59026         * m4/wcscasecmp.m4: New file.
59027         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
59028         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
59029         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
59030         HAVE_WCSCASECMP.
59031         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
59032         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
59034 2011-02-05  Bruno Haible  <bruno@clisp.org>
59036         New module 'wcsncmp'.
59037         * modules/wcsncmp: New file.
59038         * lib/wchar.in.h (wcsncmp): New declaration.
59039         * lib/wcsncmp.c: New file.
59040         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
59041         * m4/wcsncmp.m4: New file.
59042         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
59043         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
59044         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
59045         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
59046         * doc/posix-functions/wcsncmp.texi: Mention the new module.
59048 2011-02-05  Bruno Haible  <bruno@clisp.org>
59050         New module 'wcscmp'.
59051         * modules/wcscmp: New file.
59052         * lib/wchar.in.h (wcscmp): New declaration.
59053         * lib/wcscmp.c: New file.
59054         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
59055         * m4/wcscmp.m4: New file.
59056         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
59057         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
59058         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
59059         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
59060         * doc/posix-functions/wcscmp.texi: Mention the new module.
59062 2011-02-05  Bruno Haible  <bruno@clisp.org>
59064         New module 'wcsncat'.
59065         * modules/wcsncat: New file.
59066         * lib/wchar.in.h (wcsncat): New declaration.
59067         * lib/wcsncat.c: New file.
59068         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
59069         * m4/wcsncat.m4: New file.
59070         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
59071         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
59072         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
59073         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
59074         * doc/posix-functions/wcsncat.texi: Mention the new module.
59076 2011-02-05  Bruno Haible  <bruno@clisp.org>
59078         New module 'wcscat'.
59079         * modules/wcscat: New file.
59080         * lib/wchar.in.h (wcscat): New declaration.
59081         * lib/wcscat.c: New file.
59082         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
59083         * m4/wcscat.m4: New file.
59084         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
59085         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
59086         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
59087         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
59088         * doc/posix-functions/wcscat.texi: Mention the new module.
59090 2011-02-05  Bruno Haible  <bruno@clisp.org>
59092         New module 'wcpncpy'.
59093         * modules/wcpncpy: New file.
59094         * lib/wchar.in.h (wcpncpy): New declaration.
59095         * lib/wcpncpy.c: New file.
59096         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
59097         * m4/wcpncpy.m4: New file.
59098         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
59099         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
59100         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
59101         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
59102         * doc/posix-functions/wcpncpy.texi: Mention the new module.
59104 2011-02-05  Bruno Haible  <bruno@clisp.org>
59106         New module 'wcsncpy'.
59107         * modules/wcsncpy: New file.
59108         * lib/wchar.in.h (wcsncpy): New declaration.
59109         * lib/wcsncpy.c: New file.
59110         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
59111         * m4/wcsncpy.m4: New file.
59112         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
59113         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
59114         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
59115         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
59116         * doc/posix-functions/wcsncpy.texi: Mention the new module.
59118 2011-02-05  Bruno Haible  <bruno@clisp.org>
59120         New module 'wcpcpy'.
59121         * modules/wcpcpy: New file.
59122         * lib/wchar.in.h (wcpcpy): New declaration.
59123         * lib/wcpcpy.c: New file.
59124         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
59125         * m4/wcpcpy.m4: New file.
59126         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
59127         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
59128         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
59129         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
59130         * doc/posix-functions/wcpcpy.texi: Mention the new module.
59132 2011-02-05  Bruno Haible  <bruno@clisp.org>
59134         New module 'wcscpy'.
59135         * modules/wcscpy: New file.
59136         * lib/wchar.in.h (wcscpy): New declaration.
59137         * lib/wcscpy.c: New file.
59138         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
59139         * m4/wcscpy.m4: New file.
59140         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
59141         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
59142         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
59143         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
59144         * doc/posix-functions/wcscpy.texi: Mention the new module.
59146 2011-02-05  Bruno Haible  <bruno@clisp.org>
59148         New module 'wcsnlen'.
59149         * modules/wcsnlen: New file.
59150         * lib/wchar.in.h (wcsnlen): New declaration.
59151         * lib/wcsnlen.c: New file.
59152         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
59153         * m4/wcsnlen.m4: New file.
59154         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
59155         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
59156         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
59157         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
59158         * doc/posix-functions/wcsnlen.texi: Mention the new module.
59160 2011-02-05  Bruno Haible  <bruno@clisp.org>
59162         New module 'wcslen'.
59163         * modules/wcslen: New file.
59164         * lib/wchar.in.h (wcslen): New declaration.
59165         * lib/wcslen.c: New file.
59166         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
59167         * m4/wcslen.m4: New file.
59168         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
59169         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
59170         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
59171         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
59172         * doc/posix-functions/wcslen.texi: Mention the new module.
59174 2011-02-05  Bruno Haible  <bruno@clisp.org>
59176         New module 'wmemset'.
59177         * modules/wmemset: New file.
59178         * lib/wchar.in.h (wmemset): New declaration.
59179         * lib/wmemset.c: New file.
59180         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
59181         * m4/wmemset.m4: New file.
59182         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
59183         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
59184         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
59185         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
59186         * doc/posix-functions/wmemset.texi: Mention the new module.
59188 2011-02-05  Bruno Haible  <bruno@clisp.org>
59190         New module 'wmemmove'.
59191         * modules/wmemmove: New file.
59192         * lib/wchar.in.h (wmemmove): New declaration.
59193         * lib/wmemmove.c: New file.
59194         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
59195         * m4/wmemmove.m4: New file.
59196         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
59197         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
59198         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
59199         HAVE_WMEMMOVE.
59200         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
59201         * doc/posix-functions/wmemmove.texi: Mention the new module.
59203 2011-02-05  Bruno Haible  <bruno@clisp.org>
59205         New module 'wmemcpy'.
59206         * modules/wmemcpy: New file.
59207         * lib/wchar.in.h (wmemcpy): New declaration.
59208         * lib/wmemcpy.c: New file.
59209         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
59210         * m4/wmemcpy.m4: New file.
59211         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
59212         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
59213         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
59214         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
59215         * doc/posix-functions/wmemcpy.texi: Mention the new module.
59217 2011-02-05  Bruno Haible  <bruno@clisp.org>
59219         New module 'wmemcmp'.
59220         * modules/wmemcmp: New file.
59221         * lib/wchar.in.h (wmemcmp): New declaration.
59222         * lib/wmemcmp.c: New file.
59223         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
59224         * m4/wmemcmp.m4: New file.
59225         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
59226         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
59227         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
59228         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
59229         * doc/posix-functions/wmemcmp.texi: Mention the new module.
59231 2011-02-07  Jim Meyering  <meyering@redhat.com>
59233         di-set, ino-map: new modules, from coreutils
59234         * lib/di-set.c: New file.
59235         * lib/di-set.h: Likewise.
59236         * lib/ino-map.c: Likewise.
59237         * lib/ino-map.h: Likewise.
59238         * modules/di-set: Likewise.
59239         * modules/di-set-tests: Likewise.
59240         * modules/ino-map: Likewise.
59241         * modules/ino-map-tests: Likewise.
59242         * tests/test-di-set.c: Likewise.
59243         * tests/test-ino-map.c: Likewise.
59245 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
59247         getloadavg: merge minor changes from Emacs
59249         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
59250         (getloadavg): Use memset, not bzero.
59252         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
59253         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
59254         clash (bug#86).
59256 2010-11-14  Bruno Haible  <bruno@clisp.org>
59258         Allow multiple gnulib generated replacements to coexist.
59259         * lib/getopt.in.h (struct option): Avoid identical redefinition.
59260         * lib/inttypes.in.h (imaxdiv_t): Likewise.
59261         * lib/langinfo.in.h (nl_item): Likewise.
59262         * lib/math.in.h (_NaN, NAN): Likewise.
59263         * lib/netdb.in.h (struct addrinfo): Likewise.
59264         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
59265         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
59266         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
59267         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
59268         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
59269         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
59270         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
59271         pthread_mutexattr_init, pthread_mutexattr_settype,
59272         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
59273         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
59274         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
59275         pthread_spin_trylock, pthread_spin_unlock): Likewise.
59276         * lib/sched.in.h (struct sched_param): Likewise.
59277         * lib/se-selinux.in.h (security_class_t, security_context_t,
59278         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
59279         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
59280         lsetfilecon, fsetfilecon, security_check_context,
59281         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
59282         Likewise.
59283         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
59284         Likewise.
59285         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
59286         _gl_function_taking_int_returning_void_t, union sigval,
59287         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
59288         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
59289         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
59290         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
59291         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
59292         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
59293         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
59294         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
59295         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
59296         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
59297         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
59298         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
59299         socklen_t, rpl_fd_isset): Likewise.
59300         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
59301         * lib/sys_time.in.h (struct timeval): Likewise.
59302         * lib/sys_times.in.h (struct tms): Likewise.
59303         * lib/sys_utsname.in.h (struct utsname):
59304         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
59305         * lib/unistd.in.h (getpagesize): Likewise.
59306         * lib/wchar.in.h (mbstate_t): Likewise.
59307         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59308         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
59309         towlower, towupper): Likewise.
59310         Reported by Sam Steingold <sds@gnu.org>.
59312 2011-02-05  Eric Blake  <eblake@redhat.com>
59314         unsetenv: work around Haiku issues
59315         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
59316         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
59318 2010-12-30  Bruce Korb  <bkorb@gnu.org>
59320         libposix: avoid calling error() within libposix
59321         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
59322         is defined.
59324 2011-02-05  Eric Blake  <eblake@redhat.com>
59326         strerror_r-posix: port to cygwin
59327         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
59328         implementation.
59329         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
59330         * tests/test-strerror_r.c (main): Fix test.
59331         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
59332         issue.
59334 2011-02-05  Bruno Haible  <bruno@clisp.org>
59336         New module 'wmemchr'.
59337         * modules/wmemchr: New file.
59338         * lib/wchar.in.h (wmemchr): New declaration.
59339         * lib/wmemchr.c: New file.
59340         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
59341         * m4/wmemchr.m4: New file.
59342         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
59343         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
59344         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
59345         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
59346         * doc/posix-functions/wmemchr.texi: Mention the new module.
59348 2011-02-04  Eric Blake  <eblake@redhat.com>
59350         fdopendir: detect FreeBSD bug
59351         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
59352         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
59354 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59356         stdbool: do not define HAVE_STDBOOL_H
59357         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
59358         AC_HEADER_STDBOOL.  All uses changed.  Do not define
59359         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
59360         imported from the latest Autoconf git.  It was motivated by Emacs,
59361         which uses gnulib but does not need HAVE_STDBOOL_H.
59363 2011-02-04  Bruno Haible  <bruno@clisp.org>
59365         wcsnrtombs: Prepare for new module wwcsnrtombs.
59366         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
59367         * lib/wcsnrtombs.c: Include it.
59368         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
59370         wcsrtombs: Prepare for new module wwcsrtombs.
59371         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
59372         * lib/wcsrtombs.c: Include it.
59373         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
59375         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
59376         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
59377         * lib/mbsnrtowcs.c: Include it.
59378         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
59380         mbsrtowcs: Prepare for new module mbsrtowwcs.
59381         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
59382         * lib/mbsrtowcs.c: Include it.
59383         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
59385 2011-02-04  Bruno Haible  <bruno@clisp.org>
59387         vasnprintf: Reduce use of malloc for small format strings.
59388         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
59389         (arguments): Add room for the first 7 arguments.
59390         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
59391         (char_directives, u8_directives, u16_directives, u32_directives): Add
59392         room for the first 7 directives.
59393         * lib/printf-parse.c: Include <string.h>.
59394         (PRINTF_PARSE): Change memory handling code so that it uses the first
59395         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
59396         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
59397         Reported by Pádraig Brady <P@draigbrady.com>.
59399 2011-01-31  Eric Blake  <eblake@redhat.com>
59401         dup2: work around Haiku bug
59402         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
59403         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
59404         * doc/posix-functions/dup2.texi (dup2): Document the bug.
59405         * tests/test-dup2.c (main): Enhance test.
59407 2011-01-31  Simon Josefsson  <simon@josefsson.org>
59409         doc: off_t is not available in eglibc 2.11.2 stdio.h.
59410         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
59411         declared by eglibc 2.11.2.
59412         * lib/stdio.in.h: Likewise.
59414 2011-01-31  Eric Blake  <eblake@redhat.com>
59416         ignore-value: add missing test dependency
59417         * tests/test-ignore-value.c: Revert previous change; stdio.h
59418         provides off_t.
59419         * modules/ignore-value-tests (Depends-on): Add missing dependency.
59421 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
59423         mktime: clarify long_int width checking
59424         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
59425         the top level, to make it clearer that the assumption about
59426         long_int width is being checked.  See
59427         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
59429 2011-01-30  Simon Josefsson  <simon@josefsson.org>
59431         ignore-value: Fix self-test.
59432         * tests/test-ignore-value.c: Include sys/types.h for off_t.
59434 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
59436         TYPE_MAXIMUM: avoid theoretically undefined behavior
59437         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
59438         negative number, which the C Standard says has undefined behavior.
59439         In practice this is not a problem, but might as well do it by the book.
59440         Reported by Rich Felker and Eric Blake; see
59441         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
59442         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
59443         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
59444         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59445         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
59446         * m4/stdint.m4 (gl_STDINT_H): Likewise.
59447         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
59449         mktime: #undef mktime before #defining it
59450         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
59452         mktime: systematically normalize tm_isdst comparisons
59453         * lib/mktime.c (isdst_differ): New function.
59454         (__mktime_internal): Use it systematically for all isdst comparisons.
59455         This completes the fix for libc BZ #6723, and removes the need for
59456         normalizing tm_isdst.  See
59457         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
59458         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
59460         mktime: fix some integer overflow issues and sidestep the rest
59462         This was prompted by a bug report by Benjamin Lindner for MinGW
59463         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
59464         His bug is due to signed integer overflow (0 - INT_MIN), and I
59465         I scanned through mktime.c looking for other integer overflow
59466         problems, fixing all the bugs I found.
59468         Although the C Standard says the resulting code is still not safe
59469         in the presence of integer overflow, in practice it should be good
59470         enough for all real-world two's-complement implementations, except
59471         for debugging environments that deliberately trap on integer
59472         overflow (e.g., gcc -ftrapv).
59474         * lib/mktime.c (WRAPV): New macro.
59475         (SHR): Also check that long_int and time_t shift right in the
59476         usual way, before using the fast-but-unportable method.
59477         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
59478         used.  The code already assumed two's complement, so there's
59479         no need to test for alternatives.  All uses removed.
59480         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
59481         the C standard.  Problem reported by Rich Felker in
59482         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
59483         (twos_complement_arithmetic): Also check long_int and time_t.
59484         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
59485         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
59486         (__mktime_internal): Avoid integer overflow with unary subtraction
59487         in two instances where -1 - X is an adequate replacement for -X,
59488         since the calculations are approximate.
59490 2011-01-29  Eric Blake  <eblake@redhat.com>
59492         mktime: avoid infinite loop
59493         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
59494         type; behavior is still undefined but portable to all known targets.
59495         Reported by Rich Felker.
59497 2011-01-29  Simon Josefsson  <simon@josefsson.org>
59499         rename, unlink, same-inode: Relicense.
59500         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
59501         * modules/unlink (License): Likewise.
59502         * modules/same-inode (License): Likewise.
59504 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59506         mktime: avoid problems on NetBSD 5 / i386
59507         * lib/mktime.c (long_int): New type.  This works around a problem
59508         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
59509         but time_t is 64 bits, and where I expect the existing code is
59510         wrong in some cases.
59511         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
59512         (ydhms_diff): Bring back the compile-time check for wide-enough
59513         year and yday.
59515         mktime: fix misspelling in comment
59516         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
59517         This merges all recent glibc changes of importance.
59519 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59521         move-if-change: cope with concurrent mv of identical file.
59522         * build-aux/move-if-change (CMPPROG): Accept environment
59523         variable as an override for `cmp'.
59524         (usage): Document CMPPROG.
59525         Adjust comparison to drop stdout.  Cope with failure of mv if
59526         the target file exists and is identical to the source, for
59527         parallel builds.
59528         Report from H.J. Lu against binutils in PR binutils/12283.
59530 2011-01-28  Bruce Korb  <bkorb@gnu.org>
59532         * users.txt: Mention sharutils.
59534 2011-01-28  Simon Josefsson  <simon@josefsson.org>
59536         * users.txt: Mention OATH Toolkit.
59538 2011-01-27  Bruno Haible  <bruno@clisp.org>
59540         Prepare for supporting FreeBSD 10.
59541         * build-aux/config.libpath: Remove handling of freebsd1*.
59543 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
59545         Prepare for supporting FreeBSD 10.
59546         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
59547         match FreeBSD 10.0.
59549 2011-01-27  Bruno Haible  <bruno@clisp.org>
59551         vma-iter, get-rusage-as: Add OpenBSD support.
59552         * modules/vma-iter (configure.ac): Test for mquery.
59553         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
59554         * lib/vma-iter.c: Include <sys/mman.h>.
59555         (vma_iterate): Add an implementation based on mquery().
59556         * lib/resource-ext.h (get_rusage_as): Update comments.
59557         * lib/get-rusage-as.c: Likewise.
59558         * lib/get-rusage-data.c: Likewise.
59560 2011-01-26  Karl Berry  <karl@gnu.org>
59562         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
59563         variables to make it easier to override the makeinfo program used.
59565 2011-01-26  Eric Blake  <eblake@redhat.com>
59567         fcntl: work around Haiku F_DUPFD bugs
59568         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
59569         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
59570         cloexec bit on duplication.
59571         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
59573 2011-01-26  Bruno Haible  <bruno@clisp.org>
59575         Enable memory leak tests on AIX.
59576         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
59577         * tests/test-fprintf-posix3.c (main): Likewise.
59579 2011-01-26  Bruno Haible  <bruno@clisp.org>
59581         Tests for module 'get-rusage-data'.
59582         * modules/get-rusage-data-tests: New file.
59583         * tests/test-get-rusage-data.c: New file.
59585         New module 'get-rusage-data'.
59586         * lib/resource-ext.h (get_rusage_data): New declaration.
59587         * lib/get-rusage-data.c: New file.
59588         * modules/get-rusage-data: New file.
59590 2011-01-25  Bruno Haible  <bruno@clisp.org>
59592         get-rusage-as: Allow for easier testing.
59593         * lib/resource-ext.h (get_rusage_as): Add comment.
59594         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
59595         (main): New function for interactive testing.
59597 2011-01-25  Bruno Haible  <bruno@clisp.org>
59599         vma-iter: Treat Haiku like BeOS.
59600         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
59601         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
59603 2011-01-25  Eric Blake  <eblake@redhat.com>
59605         c-stack: fix regression on cygwin when libsigsegv is present
59606         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
59608 2011-01-24  Bruno Haible  <bruno@clisp.org>
59610         vma-iter: Avoid empty intervals.
59611         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
59612         on an empty interval.
59614 2011-01-24  Jim Meyering  <meyering@redhat.com>
59616         u64: remove unnecessary #include
59617         * lib/u64.h: Don't include <stddef.h>.  It was not used.
59619 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59621         Allow the user to avoid the HAVE_RAW_DECL_* macros.
59622         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
59624 2011-01-23  Bruno Haible  <bruno@clisp.org>
59626         New module 'vma-iter'.
59627         * lib/vma-iter.h: New file.
59628         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
59629         * modules/vma-iter: New file.
59630         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
59631         for get_rusage_as_via_iterator.
59632         (vma_iterate_callback): New function.
59633         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
59634         * modules/get-rusage-as (Depends-on): Add vma-iter.
59636 2011-01-23  Bruno Haible  <bruno@clisp.org>
59638         uninorm: Tweak includes.
59639         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
59640         Reported by Jim Meyering.
59642 2011-01-23  Bruno Haible  <bruno@clisp.org>
59644         get-rusage-as: Improve on NetBSD.
59645         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
59646         /proc, like on FreeBSD.
59648 2011-01-23  Jim Meyering  <meyering@redhat.com>
59650         xreadlink.h: remove unnecessary #include
59651         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
59653         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
59654         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
59656 2011-01-23  Bruno Haible  <bruno@clisp.org>
59658         get-rusage-as: Fix bug.
59659         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
59660         original limit when aborting the first loop.
59662 2011-01-23  Bruno Haible  <bruno@clisp.org>
59664         wctype: Ensure valid C syntax.
59665         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
59666         unconditionally, instead of gl_NEXT_HEADERS conditionally.
59668 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
59670         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
59671         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
59672         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
59673         as they are needed only for configure's test case.
59674         This removes two unnecessary symbols from config.h.
59676         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
59677         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
59678         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
59679         AC_CHECK_HEADERS_ONCE on a header that we also invoke
59680         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
59681         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
59682         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
59683         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
59684         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
59685         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
59686         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
59687         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59688         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
59689         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
59690         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
59691         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
59692         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
59693         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
59695 2011-01-21  Eric Blake  <eblake@redhat.com>
59697         maintainer-makefile: work with older git for submodule check
59698         * top/maint.mk (public-submodule-commit): Rewrite to avoid
59699         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
59700         Reported by Matthias Bolte.
59702         bootstrap: minor portability fixes
59703         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
59704         (usage): Omit leading capital and trailing . on help phrases, per
59705         GNU Coding Standards.
59706         (check_versions, top level): Prefix messages with script name.
59708 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
59710         bootstrap: support --no-git option
59711         * build-aux/bootstrap: Add --no-git option, to be used when
59712         --gnulib-srcdir points to the exact desired checkout.
59714 2011-01-21  Eric Blake  <eblake@redhat.com>
59716         strerror_r-posix: work with glibc 2.13
59717         * lib/strerror_r.c (strerror_r): Fix return type.
59719 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59720             Bruno Haible  <bruno@clisp.org>
59722         uN_strstr: New unit tests.
59723         * modules/unistr/u8-strstr-tests: New file.
59724         * modules/unistr/u16-strstr-tests: New file.
59725         * modules/unistr/u32-strstr-tests: New file.
59726         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
59727         * tests/unistr/test-u8-strstr.c: New file.
59728         * tests/unistr/test-u16-strstr.c: New file.
59729         * tests/unistr/test-u32-strstr.c: New file.
59731 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59732             Bruno Haible  <bruno@clisp.org>
59734         Make uN_strstr functions O(n) worst-case.
59735         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
59736         16-bit and 32-bit unit cases, use the unibyte algorithm from
59737         lib/mbsstr.c.
59738         * lib/unistr/u8-strstr.c: Include <string.h>.
59739         (UNIT_IS_UINT8_T): New macro.
59740         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
59741         (U_STRLEN, U_STRNLEN): New macros.
59742         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
59743         (U_STRLEN, U_STRNLEN): New macros.
59744         * modules/unistr/u8-strstr (Depends-on): Add strstr.
59745         (configure.ac): Update required libunistring version.
59746         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
59747         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
59748         malloca.
59749         (configure.ac): Update required libunistring version.
59750         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
59751         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
59752         malloca.
59753         (configure.ac): Update required libunistring version.
59755 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59756             Bruno Haible  <bruno@clisp.org>
59758         Prepare for faster uN_strstr functions.
59759         * lib/str-kmp.h: Support definable UNITs.
59760         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
59761         needle_len argument.
59762         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
59763         * lib/mbscasestr.c (mbscasestr): Likewise.
59765 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59767         malloca-tests: make faster by unsetting MALLOC_PERTURB_
59768         * tests/test-malloca.c (main): Unset the environment variable
59769         to greatly speed up the test.
59770         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
59771         * modules/malloca-tests: Depend on unsetenv.
59773 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59775         ignore-value: remove stdint dependency
59776         * lib/ignore-value.h: Remove <stdint.h>
59777         * modules/ignore-value: Remove stdint dependency.
59779 2011-01-21  Jim Meyering  <meyering@redhat.com>
59781         maint.mk: adjust variable name to be consistent with other gl_ vars
59782         * top/maint.mk (gl_public_submodule_commit): Rename the variable
59783         to be lower case.
59785 2011-01-20  Jim Meyering  <meyering@redhat.com>
59787         maint.mk: make "check" depend on public-submodule-commit by default
59788         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
59790 2011-01-20  Bruno Haible  <bruno@clisp.org>
59792         mbfile, mbiter: Complete change from 2008-12-21.
59793         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
59794         * m4/mbiter.m4 (gl_MBITER): Likewise.
59796 2011-01-20  Jim Meyering  <meyering@redhat.com>
59798         init.sh: insert space between each function name and "()"
59799         * tests/init.sh: Make it a little easier to see that a function's
59800         name is "warn_", and not "warn" when looking at the first part of
59801         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
59803 2011-01-20  Jim Meyering  <meyering@redhat.com>
59805         mountlist: clean up code formatting
59806         * lib/mountlist.c (read_file_system_list): Split a long line,
59807         correct bracing style, use NULL in place of "(struct statfs *)0",
59808         don't parenthesize return value, add spaces around "=" and after
59809         ";-in-for-stmt".
59811 2011-01-14  Markus Duft  <mduft@gentoo.org>
59813         mountlist: add support for Interix
59814         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
59815         Apply statvfs to all entries of /dev/fs.
59816         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
59817         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
59819 2011-01-20  Jim Meyering  <meyering@redhat.com>
59821         maint.mk: improve the public-submodule-commit rule
59822         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
59823         to suppress printing of its commands... unless V=1.
59824         Add git submodule's --quiet option to suppress printing of e.g.,
59825         "Entering gnulib" output.
59826         "cd" into $(srcdir) before running git submodule.
59828 2011-01-20  Bruno Haible  <bruno@clisp.org>
59830         include_next: Fix bug introduced on 2011-01-18.
59831         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
59832         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
59833         ac_cv_header_... variable if the second argument is not 'check'.
59834         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
59835         gl_NEXT_HEADERS_INTERNAL.
59837 2011-01-20  Bruno Haible  <bruno@clisp.org>
59839         Allow the user to avoid the GNULIB_TEST_* macros.
59840         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
59841         Suggested by Paul Eggert.
59843 2011-01-14  Jim Meyering  <meyering@redhat.com>
59845         bootstrap: avoid failure when there is no .gitmodules file
59846         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
59847         has been assigned to, even when its value is the empty string.
59848         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
59849         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
59850         Reported by John W. Eaton <jwe@gnu.org>.
59852 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59854         assume <ctype.h>, ..., <time.h> exist
59855         For years gnulib has been assuming the existence of the headers
59856         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
59857         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
59858         them, since they don't appear to be needed.
59859         * README (Portability guidelines): Document this.
59860         * lib/flock.c: Assume <fcntl.h> exists.
59861         * lib/regex_internal.h: Assume <locale.h> exists.
59862         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
59863         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
59864         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
59865         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
59866         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
59867         * m4/regex.m4 (gl_REGEX): Likewise.
59868         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
59869         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
59870         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
59871         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
59872         * tests/test-argp.c: Likewise.
59873         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
59875         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
59876         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
59877         AA_APPLE_UNIVERSAL_BUILD.  See
59878         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
59879         * NEWS: Document this.
59881 2011-01-19  Eric Blake  <eblake@redhat.com>
59883         c-stack: assume stack overflow if SA_SIGINFO unsupported
59884         * lib/c-stack.c (SIGACTION_WORKS): Rename...
59885         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
59886         sigaction will work.
59887         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
59888         behavior match Linux.
59889         * tests/test-c-stack.c (main): Prefer NULL for pointers.
59891         stdbool-tests: accommodate Haiku
59892         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
59894         binary-io: fix O_TEXT on Haiku
59895         * modules/binary-io (Depends-on): Add fcntl-h.
59896         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
59897         than blindly undefining O_TEXT.
59898         Reported by Scott McCreary.
59900 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59902         include_next: do not check for standard headers like stddef.h
59904         I found this problem when modifying Emacs to use gnulib.
59905         I noticed that it added HAVE_STDDEF_H to config.h, even though
59906         gnulib always assumes <stddef.h> exists as per README and this
59907         symbol is unnecessary.
59908         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
59909         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
59910         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
59911         faster for headers like stddef.h that are known to exist.
59912         (gl_CHECK_NEXT_HEADERS): Use it.
59913         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
59914         rather than gl_CHECK_NEXT_HEADERS.
59915         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
59916         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
59918 2011-01-18  Eric Blake  <eblake@redhat.com>
59920         ansi-c++-opt: skip C++ dependency style if C++ is unused
59921         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
59922         tests when we know C++ compilation is not desired.
59923         Reported by Scott McCreary.
59925 2011-01-18  Bruno Haible  <bruno@clisp.org>
59927         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
59928         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
59929         (main): Perform test also when getrlimit and setrlimit don't exist or
59930         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
59931         limiting the address space size using setrlimit, compare the address
59932         space size before and after the test.
59933         * tests/test-dprintf-posix2.c: Likewise.
59934         * tests/test-fprintf-posix3.sh: Update skip messages.
59935         * tests/test-dprintf-posix2.sh: Likewise.
59936         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
59937         * modules/dprintf-posix-tests (Depends-on): Likewise.
59938         Reported by Bruce Korb <bkorb@gnu.org> and
59939         Gary V. Vaughan <gary@gnu.org>.
59941 2011-01-18  Bruno Haible  <bruno@clisp.org>
59943         get-rusage-as: Improvement for Cygwin.
59944         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
59945         areas that are merely reserved.
59947 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59949         strftime: remove dependencies on multibyte modules
59951         strftime depended on mbrlen, mbsinit, and wchar, but these modules
59952         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
59953         only if __osf__ is defined, and I suspect OSF doesn't need these
59954         other modules.  If my guess is wrong, we'll need to come up with a
59955         variant of strftime that doesn't need the multibyte modules.
59957         I discovered this problem when attempting modify Emacs to use the
59958         strftime module.  With the previous gnulib, this caused Emacs to
59959         need 31 new files, ranging from lib/config.charset to
59960         m4/wint_t.m4.  This was overkill and I expect would be offputting
59961         to the Emacs maintainers.  After this change, only 6 new files are
59962         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
59963         stdbool.m4, and tm_gmtoff.m4.
59965         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
59966         Suggested by Bruno Haible in
59967         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
59968         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
59969         and do not check for wchar.h.
59970         * modules/strftime (Files): Remove m4/mbstate_t.m4.
59971         (Depends-on): Remove mbrlen, mbsinit, wchar.
59973 2011-01-18  Bruno Haible  <bruno@clisp.org>
59975         Tests for module 'get-rusage-as'.
59976         * modules/get-rusage-as-tests: New file.
59977         * tests/test-get-rusage-as.c: New file.
59979         New module 'get-rusage-as'.
59980         * modules/get-rusage-as: New file.
59981         * lib/resource-ext.h: New file.
59982         * lib/get-rusage-as.c: New file.
59984 2011-01-17  Eric Blake  <eblake@redhat.com>
59986         sigaction: relax license from LGPLv3+ to LGPLv2+
59987         * modules/sigaction (License): Relax to LGPLv2+.
59989 2011-01-14  Bruno Haible  <bruno@clisp.org>
59991         filemode: Make function declarations usable in C++ mode.
59992         * lib/filemode.h: Enclose function declarations in extern "C" block.
59993         Reported by John W. Eaton <jwe@gnu.org>.
59995 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
59997         save-cwd: no longer include "xgetcwd.h"
59998         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
59999         This avoids a compilation failure in projects that use save-cwd
60000         without also using the xgetcwd module.
60002 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60004         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
60005         This is so that a program like Emacs, which needs only dtoastr,
60006         does not have to bother with distributing and compiling ftoastr
60007         and ldtoastr.
60008         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
60009         * modules/dtoastr, modules/ldtoastr: New files.
60010         * modules/ftoastr: Now works just for 'float'.
60011         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
60012         (Makefile.am): Remove ftoastr.h (not needed and no effect),
60013         dtoastr.c, ldtoastr.c.
60015 2011-01-11  Jim Meyering  <meyering@redhat.com>
60017         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
60018         There is no need to work around the lack of the fchdir function,
60019         since gnulib can now provide a replacement when required.
60020         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
60021         * modules/save-cwd (Depends-on): Add fchdir.
60023 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60025         openat, save-cwd: avoid xmalloc
60027         This removes a direct (but undocumented) dependency of openat on
60028         xalloc, along with an indirect dependency via save-cwd.  It also
60029         removes a dependency of save-cwd on xgetcwd, and thereby
60030         indirectly on xalloc.  This change causes the openat substitute
60031         to fall back on save_cwd when memory is tight, and for save_cwd to
60032         fail instead of dying when memory is tight, but that's good enough.
60033         Problem and initial idea for fix reported by Bastien Roucaries in
60034         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
60036         * lib/openat-proc.c: Include stdlib.h (for malloc), not
60037         xalloc.h (for xmalloc).
60038         (openat_proc_name): Use malloc, not xmalloc.
60039         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
60040         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
60042         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
60043         This avoids heap allocation for file names whose lengths are in
60044         the range 512..1023, with the upper bound increasing to at most
60045         4031 depending on the platform's PATH_MAX.  (We do not want
60046         pathmax.h here as it might supply a non-constant PATH_MAX.)
60047         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
60048         Perhaps they should be moved to malloca.h?
60049         (OPENAT_BUFFER_SIZE): Use them.
60051 2011-01-10  Bruno Haible  <bruno@clisp.org>
60053         doc: Update users.txt.
60054         * users.txt: Add recutils.
60056 2011-01-09  Karl Berry  <karl@gnu.org>
60058         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
60060         * doc/configmake.texi: New file.
60061         * doc/gnulib.texi: Include it.
60062         * modules/configmake: Move documentation from here.
60064 2011-01-09  Bruno Haible  <bruno@clisp.org>
60066         Update to Unicode 6.0.0.
60067         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
60068         (get_lbp): Update for Unicode 6.0.0.
60069         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
60070         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
60071         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
60072         U+11001, U+11038..U+11046. Remove U+06DE.
60073         (uc_width): Fix bounds of planes.
60074         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60075         lib/uniwidth/width.c.
60076         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
60077         trailing whitespace removed.
60078         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
60079         without comments, but with the original copyright notice.
60080         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
60081         * lib/unicase/ignorable.h: Likewise.
60082         * lib/unicase/tocasefold.h: Likewise.
60083         * lib/unicase/tolower.h: Likewise.
60084         * lib/unicase/totitle.h: Likewise.
60085         * lib/unicase/toupper.h: Likewise.
60086         * lib/unictype/bidi_of.h: Likewise.
60087         * lib/unictype/blocks.h: Likewise.
60088         * lib/unictype/categ_C.h: Likewise.
60089         * lib/unictype/categ_Cn.h: Likewise.
60090         * lib/unictype/categ_L.h: Likewise.
60091         * lib/unictype/categ_Ll.h: Likewise.
60092         * lib/unictype/categ_Lm.h: Likewise.
60093         * lib/unictype/categ_Lo.h: Likewise.
60094         * lib/unictype/categ_Lu.h: Likewise.
60095         * lib/unictype/categ_M.h: Likewise.
60096         * lib/unictype/categ_Mc.h: Likewise.
60097         * lib/unictype/categ_Me.h: Likewise.
60098         * lib/unictype/categ_Mn.h: Likewise.
60099         * lib/unictype/categ_N.h: Likewise.
60100         * lib/unictype/categ_Nd.h: Likewise.
60101         * lib/unictype/categ_No.h: Likewise.
60102         * lib/unictype/categ_P.h: Likewise.
60103         * lib/unictype/categ_Po.h: Likewise.
60104         * lib/unictype/categ_S.h: Likewise.
60105         * lib/unictype/categ_Sc.h: Likewise.
60106         * lib/unictype/categ_Sk.h: Likewise.
60107         * lib/unictype/categ_Sm.h: Likewise.
60108         * lib/unictype/categ_So.h: Likewise.
60109         * lib/unictype/categ_of.h: Likewise.
60110         * lib/unictype/combining.h: Likewise.
60111         * lib/unictype/ctype_alnum.h: Likewise.
60112         * lib/unictype/ctype_alpha.h: Likewise.
60113         * lib/unictype/ctype_graph.h: Likewise.
60114         * lib/unictype/ctype_lower.h: Likewise.
60115         * lib/unictype/ctype_print.h: Likewise.
60116         * lib/unictype/ctype_punct.h: Likewise.
60117         * lib/unictype/ctype_upper.h: Likewise.
60118         * lib/unictype/decdigit.h: Likewise.
60119         * lib/unictype/digit.h: Likewise.
60120         * lib/unictype/numeric.h: Likewise.
60121         * lib/unictype/pr_alphabetic.h: Likewise.
60122         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60123         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60124         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60125         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60126         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60127         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60128         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60129         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60130         * lib/unictype/pr_case_ignorable.h: Likewise.
60131         * lib/unictype/pr_cased.h: Likewise.
60132         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
60133         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
60134         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
60135         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
60136         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
60137         * lib/unictype/pr_combining.h: Likewise.
60138         * lib/unictype/pr_composite.h: Likewise.
60139         * lib/unictype/pr_currency_symbol.h: Likewise.
60140         * lib/unictype/pr_decimal_digit.h: Likewise.
60141         * lib/unictype/pr_deprecated.h: Likewise.
60142         * lib/unictype/pr_format_control.h: Likewise.
60143         * lib/unictype/pr_grapheme_base.h: Likewise.
60144         * lib/unictype/pr_grapheme_extend.h: Likewise.
60145         * lib/unictype/pr_grapheme_link.h: Likewise.
60146         * lib/unictype/pr_id_continue.h: Likewise.
60147         * lib/unictype/pr_id_start.h: Likewise.
60148         * lib/unictype/pr_ideographic.h: Likewise.
60149         * lib/unictype/pr_lowercase.h: Likewise.
60150         * lib/unictype/pr_math.h: Likewise.
60151         * lib/unictype/pr_numeric.h: Likewise.
60152         * lib/unictype/pr_other_alphabetic.h: Likewise.
60153         * lib/unictype/pr_other_id_continue.h: Likewise.
60154         * lib/unictype/pr_other_math.h: Likewise.
60155         * lib/unictype/pr_punctuation.h: Likewise.
60156         * lib/unictype/pr_sentence_terminal.h: Likewise.
60157         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60158         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60159         * lib/unictype/pr_unified_ideograph.h: Likewise.
60160         * lib/unictype/pr_uppercase.h: Likewise.
60161         * lib/unictype/pr_xid_continue.h: Likewise.
60162         * lib/unictype/pr_xid_start.h: Likewise.
60163         * lib/unictype/scripts.h: Likewise.
60164         * lib/unictype/scripts_byname.gperf: Likewise.
60165         * lib/unictype/sy_java_ident.h: Likewise.
60166         * lib/unigbrk/gbrkprop.h: Likewise.
60167         * lib/unilbrk/lbrkprop1.h: Likewise.
60168         * lib/unilbrk/lbrkprop2.h: Likewise.
60169         * lib/uninorm/decomposition-table2.h: Likewise.
60170         * lib/uniwbrk/wbrkprop.h: Likewise.
60171         * tests/unicase/test-cased.c: Likewise.
60172         * tests/unicase/test-ignorable.c: Likewise.
60173         * tests/unicase/test-uc_tolower.c: Likewise.
60174         * tests/unicase/test-uc_totitle.c: Likewise.
60175         * tests/unicase/test-uc_toupper.c: Likewise.
60176         * tests/unictype/test-categ_C.c: Likewise.
60177         * tests/unictype/test-categ_Cn.c: Likewise.
60178         * tests/unictype/test-categ_L.c: Likewise.
60179         * tests/unictype/test-categ_Ll.c: Likewise.
60180         * tests/unictype/test-categ_Lm.c: Likewise.
60181         * tests/unictype/test-categ_Lo.c: Likewise.
60182         * tests/unictype/test-categ_Lu.c: Likewise.
60183         * tests/unictype/test-categ_M.c: Likewise.
60184         * tests/unictype/test-categ_Mc.c: Likewise.
60185         * tests/unictype/test-categ_Me.c: Likewise.
60186         * tests/unictype/test-categ_Mn.c: Likewise.
60187         * tests/unictype/test-categ_N.c: Likewise.
60188         * tests/unictype/test-categ_Nd.c: Likewise.
60189         * tests/unictype/test-categ_No.c: Likewise.
60190         * tests/unictype/test-categ_P.c: Likewise.
60191         * tests/unictype/test-categ_Po.c: Likewise.
60192         * tests/unictype/test-categ_S.c: Likewise.
60193         * tests/unictype/test-categ_Sc.c: Likewise.
60194         * tests/unictype/test-categ_Sk.c: Likewise.
60195         * tests/unictype/test-categ_Sm.c: Likewise.
60196         * tests/unictype/test-categ_So.c: Likewise.
60197         * tests/unictype/test-ctype_alnum.c: Likewise.
60198         * tests/unictype/test-ctype_alpha.c: Likewise.
60199         * tests/unictype/test-ctype_graph.c: Likewise.
60200         * tests/unictype/test-ctype_lower.c: Likewise.
60201         * tests/unictype/test-ctype_print.c: Likewise.
60202         * tests/unictype/test-ctype_punct.c: Likewise.
60203         * tests/unictype/test-ctype_upper.c: Likewise.
60204         * tests/unictype/test-decdigit.h: Likewise.
60205         * tests/unictype/test-digit.h: Likewise.
60206         * tests/unictype/test-numeric.h: Likewise.
60207         * tests/unictype/test-pr_alphabetic.c: Likewise.
60208         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60209         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60210         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60211         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60212         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60213         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60214         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60215         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60216         * tests/unictype/test-pr_case_ignorable.c: Likewise.
60217         * tests/unictype/test-pr_cased.c: Likewise.
60218         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
60219         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
60220         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
60221         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
60222         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
60223         * tests/unictype/test-pr_combining.c: Likewise.
60224         * tests/unictype/test-pr_composite.c: Likewise.
60225         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60226         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60227         * tests/unictype/test-pr_deprecated.c: Likewise.
60228         * tests/unictype/test-pr_format_control.c: Likewise.
60229         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60230         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60231         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60232         * tests/unictype/test-pr_id_continue.c: Likewise.
60233         * tests/unictype/test-pr_id_start.c: Likewise.
60234         * tests/unictype/test-pr_ideographic.c: Likewise.
60235         * tests/unictype/test-pr_lowercase.c: Likewise.
60236         * tests/unictype/test-pr_math.c: Likewise.
60237         * tests/unictype/test-pr_numeric.c: Likewise.
60238         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60239         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60240         * tests/unictype/test-pr_other_math.c: Likewise.
60241         * tests/unictype/test-pr_punctuation.c: Likewise.
60242         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60243         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60244         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60245         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60246         * tests/unictype/test-pr_uppercase.c: Likewise.
60247         * tests/unictype/test-pr_xid_continue.c: Likewise.
60248         * tests/unictype/test-pr_xid_start.c: Likewise.
60249         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60250         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60251         changes.
60252         * lib/unictype/categ_Cc.h: Likewise.
60253         * lib/unictype/categ_Cf.h: Likewise.
60254         * lib/unictype/categ_Co.h: Likewise.
60255         * lib/unictype/categ_Cs.h: Likewise.
60256         * lib/unictype/categ_Lt.h: Likewise.
60257         * lib/unictype/categ_Nl.h: Likewise.
60258         * lib/unictype/categ_Pc.h: Likewise.
60259         * lib/unictype/categ_Pd.h: Likewise.
60260         * lib/unictype/categ_Pe.h: Likewise.
60261         * lib/unictype/categ_Pf.h: Likewise.
60262         * lib/unictype/categ_Pi.h: Likewise.
60263         * lib/unictype/categ_Ps.h: Likewise.
60264         * lib/unictype/categ_Z.h: Likewise.
60265         * lib/unictype/categ_Zl.h: Likewise.
60266         * lib/unictype/categ_Zp.h: Likewise.
60267         * lib/unictype/categ_Zs.h: Likewise.
60268         * lib/unictype/ctype_blank.h: Likewise.
60269         * lib/unictype/ctype_cntrl.h: Likewise.
60270         * lib/unictype/ctype_digit.h: Likewise.
60271         * lib/unictype/ctype_space.h: Likewise.
60272         * lib/unictype/ctype_xdigit.h: Likewise.
60273         * lib/unictype/mirror.h: Likewise.
60274         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60275         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60276         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60277         * lib/unictype/pr_bidi_control.h: Likewise.
60278         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60279         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60280         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60281         * lib/unictype/pr_bidi_pdf.h: Likewise.
60282         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60283         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60284         * lib/unictype/pr_dash.h: Likewise.
60285         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60286         * lib/unictype/pr_diacritic.h: Likewise.
60287         * lib/unictype/pr_extender.h: Likewise.
60288         * lib/unictype/pr_hex_digit.h: Likewise.
60289         * lib/unictype/pr_hyphen.h: Likewise.
60290         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60291         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60292         * lib/unictype/pr_ignorable_control.h: Likewise.
60293         * lib/unictype/pr_iso_control.h: Likewise.
60294         * lib/unictype/pr_join_control.h: Likewise.
60295         * lib/unictype/pr_left_of_pair.h: Likewise.
60296         * lib/unictype/pr_line_separator.h: Likewise.
60297         * lib/unictype/pr_logical_order_exception.h: Likewise.
60298         * lib/unictype/pr_non_break.h: Likewise.
60299         * lib/unictype/pr_not_a_character.h: Likewise.
60300         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60301         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60302         * lib/unictype/pr_other_id_start.h: Likewise.
60303         * lib/unictype/pr_other_lowercase.h: Likewise.
60304         * lib/unictype/pr_other_uppercase.h: Likewise.
60305         * lib/unictype/pr_paired_punctuation.h: Likewise.
60306         * lib/unictype/pr_paragraph_separator.h: Likewise.
60307         * lib/unictype/pr_pattern_syntax.h: Likewise.
60308         * lib/unictype/pr_pattern_white_space.h: Likewise.
60309         * lib/unictype/pr_private_use.h: Likewise.
60310         * lib/unictype/pr_quotation_mark.h: Likewise.
60311         * lib/unictype/pr_radical.h: Likewise.
60312         * lib/unictype/pr_soft_dotted.h: Likewise.
60313         * lib/unictype/pr_space.h: Likewise.
60314         * lib/unictype/pr_titlecase.h: Likewise.
60315         * lib/unictype/pr_variation_selector.h: Likewise.
60316         * lib/unictype/pr_white_space.h: Likewise.
60317         * lib/unictype/pr_zero_width.h: Likewise.
60318         * lib/unictype/sy_c_ident.h: Likewise.
60319         * lib/unictype/sy_c_whitespace.h: Likewise.
60320         * lib/unictype/sy_java_whitespace.h: Likewise.
60321         * lib/uninorm/composition-table.gperf: Likewise.
60322         * lib/uninorm/decomposition-table1.h: Likewise.
60323         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
60324         LB8.
60325         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60326         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60327         * modules/unictype/*: Bump version number of expected libunistring
60328         version.
60330 2011-01-09  Bruno Haible  <bruno@clisp.org>
60332         Update to Unicode 5.2.0.
60333         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
60334         trailing whitespace removed.
60336 2011-01-09  Bruno Haible  <bruno@clisp.org>
60338         New Unicode character properties, from Unicode 5.2.0.
60339         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
60340         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
60341         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
60342         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
60343         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
60344         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
60345         uc_is_property_cased, uc_is_property_case_ignorable,
60346         uc_is_property_changes_when_lowercased,
60347         uc_is_property_changes_when_uppercased,
60348         uc_is_property_changes_when_titlecased,
60349         uc_is_property_changes_when_casefolded,
60350         uc_is_property_changes_when_casemapped): New declarations.
60351         * lib/unictype/pr_byname.gperf: Add the new properties.
60352         * modules/unictype/property-byname (Depends-on): Depend on the new
60353         properties modules.
60354         * modules/unictype/property-all (Depends-on): Likewise.
60355         * MODULES.html.sh (Unicode string functions): Add
60356         unictype/property-case-ignorable, unictype/property-cased,
60357         unictype/property-changes-when-casefolded,
60358         unictype/property-changes-when-casemapped,
60359         unictype/property-changes-when-lowercased,
60360         unictype/property-changes-when-titlecased,
60361         unictype/property-changes-when-uppercased.
60363         New module 'unictype/property-changes-when-casemapped'.
60364         * modules/unictype/property-changes-when-casemapped: New file.
60365         * lib/unictype/pr_changes_when_casemapped.c: New file.
60366         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
60367         generated by gen-uni-tables.
60368         * modules/unictype/property-changes-when-casemapped-tests: New file.
60369         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
60370         automatically generated by gen-uni-tables.
60372         New module 'unictype/property-changes-when-casefolded'.
60373         * modules/unictype/property-changes-when-casefolded: New file.
60374         * lib/unictype/pr_changes_when_casefolded.c: New file.
60375         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
60376         generated by gen-uni-tables.
60377         * modules/unictype/property-changes-when-casefolded-tests: New file.
60378         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
60379         automatically generated by gen-uni-tables.
60381         New module 'unictype/property-changes-when-titlecased'.
60382         * modules/unictype/property-changes-when-titlecased: New file.
60383         * lib/unictype/pr_changes_when_titlecased.c: New file.
60384         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
60385         generated by gen-uni-tables.
60386         * modules/unictype/property-changes-when-titlecased-tests: New file.
60387         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
60388         automatically generated by gen-uni-tables.
60390         New module 'unictype/property-changes-when-uppercased'.
60391         * modules/unictype/property-changes-when-uppercased: New file.
60392         * lib/unictype/pr_changes_when_uppercased.c: New file.
60393         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
60394         generated by gen-uni-tables.
60395         * modules/unictype/property-changes-when-uppercased-tests: New file.
60396         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
60397         automatically generated by gen-uni-tables.
60399         New module 'unictype/property-changes-when-lowercased'.
60400         * modules/unictype/property-changes-when-lowercased: New file.
60401         * lib/unictype/pr_changes_when_lowercased.c: New file.
60402         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
60403         generated by gen-uni-tables.
60404         * modules/unictype/property-changes-when-lowercased-tests: New file.
60405         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
60406         automatically generated by gen-uni-tables.
60408         New module 'unictype/property-case-ignorable'.
60409         * modules/unictype/property-case-ignorable: New file.
60410         * lib/unictype/pr_case_ignorable.c: New file.
60411         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
60412         by gen-uni-tables.
60413         * modules/unictype/property-case-ignorable-tests: New file.
60414         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
60415         generated by gen-uni-tables.
60417         New module 'unictype/property-cased'.
60418         * modules/unictype/property-cased: New file.
60419         * lib/unictype/pr_cased.c: New file.
60420         * lib/unictype/pr_cased.h: New file, automatically generated by
60421         gen-uni-tables.
60422         * modules/unictype/property-cased-tests: New file.
60423         * tests/unictype/test-pr_cased.c: New file, automatically generated by
60424         gen-uni-tables.
60426 2011-01-09  Bruno Haible  <bruno@clisp.org>
60428         Update to Unicode 5.2.0.
60429         * lib/gen-uni-tables.c (output_predicate, output_category,
60430         output_combclass, output_bidi_category, output_decimal_digit_test,
60431         output_decimal_digit, output_digit_test, output_digit,
60432         output_numeric_test, output_numeric, output_mirror, output_scripts,
60433         output_scripts_byname, output_blocks, output_ident_category): Fix
60434         comment header.
60435         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
60436         get_wbp.
60437         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
60438         items.
60439         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
60440         Changes_When_Lowercased, Changes_When_Uppercased,
60441         Changes_When_Titlecased, Changes_When_Casefolded,
60442         Changes_When_Casemapped.
60443         (is_property_alphabetic, is_property_default_ignorable_code_point):
60444         Update for Unicode 5.2.0.
60445         (is_property_cased, is_property_case_ignorable,
60446         is_property_changes_when_lowercased,
60447         is_property_changes_when_uppercased,
60448         is_property_changes_when_titlecased,
60449         is_property_changes_when_casefolded,
60450         is_property_changes_when_casemapped): New functions.
60451         (output_properties): Output also the properties cased, case_ignorable,
60452         changes_when_lowercased, changes_when_uppercased,
60453         changes_when_titlecased, changes_when_casefolded,
60454         changes_when_casemapped.
60455         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
60456         Unicode TR#11 revision 17 -> 19.
60457         (LBP_CP): New enumeration value.
60458         (LBP_*): Adjust values accordingly.
60459         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
60460         TR#14 revision 22 -> 24.
60461         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
60462         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
60463         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
60464         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
60465         is_WBP_MIDLETTER.
60466         (output_composition_tables): Allow for 24 bits instead of 16 bits in
60467         the code1 and code2 of each composition rule.
60468         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
60469         * lib/unicase/ignorable.h: Likewise.
60470         * lib/unicase/tocasefold.h: Likewise.
60471         * lib/unicase/tolower.h: Likewise.
60472         * lib/unicase/totitle.h: Likewise.
60473         * lib/unicase/toupper.h: Likewise.
60474         * lib/unictype/bidi_of.h: Likewise.
60475         * lib/unictype/blocks.h: Likewise.
60476         * lib/unictype/categ_C.h: Likewise.
60477         * lib/unictype/categ_Cf.h: Likewise.
60478         * lib/unictype/categ_Cn.h: Likewise.
60479         * lib/unictype/categ_L.h: Likewise.
60480         * lib/unictype/categ_Ll.h: Likewise.
60481         * lib/unictype/categ_Lm.h: Likewise.
60482         * lib/unictype/categ_Lo.h: Likewise.
60483         * lib/unictype/categ_Lu.h: Likewise.
60484         * lib/unictype/categ_M.h: Likewise.
60485         * lib/unictype/categ_Mc.h: Likewise.
60486         * lib/unictype/categ_Mn.h: Likewise.
60487         * lib/unictype/categ_N.h: Likewise.
60488         * lib/unictype/categ_Nd.h: Likewise.
60489         * lib/unictype/categ_Nl.h: Likewise.
60490         * lib/unictype/categ_No.h: Likewise.
60491         * lib/unictype/categ_P.h: Likewise.
60492         * lib/unictype/categ_Pd.h: Likewise.
60493         * lib/unictype/categ_Po.h: Likewise.
60494         * lib/unictype/categ_S.h: Likewise.
60495         * lib/unictype/categ_Sc.h: Likewise.
60496         * lib/unictype/categ_So.h: Likewise.
60497         * lib/unictype/categ_of.h: Likewise.
60498         * lib/unictype/combining.h: Likewise.
60499         * lib/unictype/ctype_alnum.h: Likewise.
60500         * lib/unictype/ctype_alpha.h: Likewise.
60501         * lib/unictype/ctype_graph.h: Likewise.
60502         * lib/unictype/ctype_lower.h: Likewise.
60503         * lib/unictype/ctype_print.h: Likewise.
60504         * lib/unictype/ctype_punct.h: Likewise.
60505         * lib/unictype/ctype_upper.h: Likewise.
60506         * lib/unictype/decdigit.h: Likewise.
60507         * lib/unictype/digit.h: Likewise.
60508         * lib/unictype/numeric.h: Likewise.
60509         * lib/unictype/pr_alphabetic.h: Likewise.
60510         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60511         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60512         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60513         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60514         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60515         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60516         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60517         * lib/unictype/pr_combining.h: Likewise.
60518         * lib/unictype/pr_composite.h: Likewise.
60519         * lib/unictype/pr_currency_symbol.h: Likewise.
60520         * lib/unictype/pr_dash.h: Likewise.
60521         * lib/unictype/pr_decimal_digit.h: Likewise.
60522         * lib/unictype/pr_deprecated.h: Likewise.
60523         * lib/unictype/pr_diacritic.h: Likewise.
60524         * lib/unictype/pr_extender.h: Likewise.
60525         * lib/unictype/pr_grapheme_base.h: Likewise.
60526         * lib/unictype/pr_grapheme_extend.h: Likewise.
60527         * lib/unictype/pr_grapheme_link.h: Likewise.
60528         * lib/unictype/pr_id_continue.h: Likewise.
60529         * lib/unictype/pr_id_start.h: Likewise.
60530         * lib/unictype/pr_ideographic.h: Likewise.
60531         * lib/unictype/pr_ignorable_control.h: Likewise.
60532         * lib/unictype/pr_logical_order_exception.h: Likewise.
60533         * lib/unictype/pr_lowercase.h: Likewise.
60534         * lib/unictype/pr_numeric.h: Likewise.
60535         * lib/unictype/pr_other_alphabetic.h: Likewise.
60536         * lib/unictype/pr_punctuation.h: Likewise.
60537         * lib/unictype/pr_sentence_terminal.h: Likewise.
60538         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60539         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60540         * lib/unictype/pr_unified_ideograph.h: Likewise.
60541         * lib/unictype/pr_uppercase.h: Likewise.
60542         * lib/unictype/pr_xid_continue.h: Likewise.
60543         * lib/unictype/pr_xid_start.h: Likewise.
60544         * lib/unictype/pr_zero_width.h: Likewise.
60545         * lib/unictype/scripts.h: Likewise.
60546         * lib/unictype/scripts_byname.gperf: Likewise.
60547         * lib/unictype/sy_java_ident.h: Likewise.
60548         * lib/unigbrk/gbrkprop.h: Likewise.
60549         * lib/unilbrk/lbrkprop1.h: Likewise.
60550         * lib/unilbrk/lbrkprop2.h: Likewise.
60551         * lib/unilbrk/lbrktables.h: Likewise.
60552         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
60553         LBP_CP. Implement rule LB30.
60554         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
60555         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
60556         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
60557         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
60558         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
60559         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
60560         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
60561         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
60562         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
60563         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
60564         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
60565         bits instead of 16 bits in the code1 and code2 of each composition
60566         rule.
60567         (uc_composition): Update for Unicode 5.2.0.
60568         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
60569         * lib/uninorm/decomposition-table2.h: Likewise.
60570         * lib/uniwbrk/wbrkprop.h: Likewise.
60571         * tests/unicase/test-cased.c: Likewise.
60572         * tests/unicase/test-ignorable.c: Likewise.
60573         * tests/unicase/test-uc_tolower.c: Likewise.
60574         * tests/unicase/test-uc_totitle.c: Likewise.
60575         * tests/unicase/test-uc_toupper.c: Likewise.
60576         * tests/unictype/test-categ_C.c: Likewise.
60577         * tests/unictype/test-categ_Cf.c: Likewise.
60578         * tests/unictype/test-categ_Cn.c: Likewise.
60579         * tests/unictype/test-categ_L.c: Likewise.
60580         * tests/unictype/test-categ_Ll.c: Likewise.
60581         * tests/unictype/test-categ_Lm.c: Likewise.
60582         * tests/unictype/test-categ_Lo.c: Likewise.
60583         * tests/unictype/test-categ_Lu.c: Likewise.
60584         * tests/unictype/test-categ_M.c: Likewise.
60585         * tests/unictype/test-categ_Mc.c: Likewise.
60586         * tests/unictype/test-categ_Mn.c: Likewise.
60587         * tests/unictype/test-categ_N.c: Likewise.
60588         * tests/unictype/test-categ_Nd.c: Likewise.
60589         * tests/unictype/test-categ_Nl.c: Likewise.
60590         * tests/unictype/test-categ_No.c: Likewise.
60591         * tests/unictype/test-categ_P.c: Likewise.
60592         * tests/unictype/test-categ_Pd.c: Likewise.
60593         * tests/unictype/test-categ_Po.c: Likewise.
60594         * tests/unictype/test-categ_S.c: Likewise.
60595         * tests/unictype/test-categ_Sc.c: Likewise.
60596         * tests/unictype/test-categ_So.c: Likewise.
60597         * tests/unictype/test-ctype_alnum.c: Likewise.
60598         * tests/unictype/test-ctype_alpha.c: Likewise.
60599         * tests/unictype/test-ctype_graph.c: Likewise.
60600         * tests/unictype/test-ctype_lower.c: Likewise.
60601         * tests/unictype/test-ctype_print.c: Likewise.
60602         * tests/unictype/test-ctype_punct.c: Likewise.
60603         * tests/unictype/test-ctype_upper.c: Likewise.
60604         * tests/unictype/test-decdigit.h: Likewise.
60605         * tests/unictype/test-digit.h: Likewise.
60606         * tests/unictype/test-numeric.h: Likewise.
60607         * tests/unictype/test-pr_alphabetic.c: Likewise.
60608         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60609         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60610         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60611         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60612         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60613         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60614         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60615         * tests/unictype/test-pr_combining.c: Likewise.
60616         * tests/unictype/test-pr_composite.c: Likewise.
60617         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60618         * tests/unictype/test-pr_dash.c: Likewise.
60619         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60620         * tests/unictype/test-pr_deprecated.c: Likewise.
60621         * tests/unictype/test-pr_diacritic.c: Likewise.
60622         * tests/unictype/test-pr_extender.c: Likewise.
60623         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60624         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60625         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60626         * tests/unictype/test-pr_id_continue.c: Likewise.
60627         * tests/unictype/test-pr_id_start.c: Likewise.
60628         * tests/unictype/test-pr_ideographic.c: Likewise.
60629         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60630         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60631         * tests/unictype/test-pr_lowercase.c: Likewise.
60632         * tests/unictype/test-pr_numeric.c: Likewise.
60633         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60634         * tests/unictype/test-pr_punctuation.c: Likewise.
60635         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60636         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60637         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60638         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60639         * tests/unictype/test-pr_uppercase.c: Likewise.
60640         * tests/unictype/test-pr_xid_continue.c: Likewise.
60641         * tests/unictype/test-pr_xid_start.c: Likewise.
60642         * tests/unictype/test-pr_zero_width.c: Likewise.
60643         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60644         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
60645         changed behaviour: line breaking is now disallowed between a letter
60646         or '=' and '('.
60647         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60648         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60649         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
60650         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
60651         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60652         lib/uniwidth/width.c.
60653         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
60654         without comments, but with the original copyright notice.
60655         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60656         changes.
60657         * lib/unictype/categ_Cc.h: Likewise.
60658         * lib/unictype/categ_Co.h: Likewise.
60659         * lib/unictype/categ_Cs.h: Likewise.
60660         * lib/unictype/categ_Lt.h: Likewise.
60661         * lib/unictype/categ_Me.h: Likewise.
60662         * lib/unictype/categ_Pc.h: Likewise.
60663         * lib/unictype/categ_Pe.h: Likewise.
60664         * lib/unictype/categ_Pf.h: Likewise.
60665         * lib/unictype/categ_Pi.h: Likewise.
60666         * lib/unictype/categ_Ps.h: Likewise.
60667         * lib/unictype/categ_Sk.h: Likewise.
60668         * lib/unictype/categ_Sm.h: Likewise.
60669         * lib/unictype/categ_Z.h: Likewise.
60670         * lib/unictype/categ_Zl.h: Likewise.
60671         * lib/unictype/categ_Zp.h: Likewise.
60672         * lib/unictype/categ_Zs.h: Likewise.
60673         * lib/unictype/ctype_blank.h: Likewise.
60674         * lib/unictype/ctype_cntrl.h: Likewise.
60675         * lib/unictype/ctype_digit.h: Likewise.
60676         * lib/unictype/ctype_space.h: Likewise.
60677         * lib/unictype/ctype_xdigit.h: Likewise.
60678         * lib/unictype/mirror.h: Likewise.
60679         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60680         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60681         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60682         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60683         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60684         * lib/unictype/pr_bidi_control.h: Likewise.
60685         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60686         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60687         * lib/unictype/pr_bidi_pdf.h: Likewise.
60688         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60689         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60690         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60691         * lib/unictype/pr_format_control.h: Likewise.
60692         * lib/unictype/pr_hex_digit.h: Likewise.
60693         * lib/unictype/pr_hyphen.h: Likewise.
60694         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60695         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60696         * lib/unictype/pr_iso_control.h: Likewise.
60697         * lib/unictype/pr_join_control.h: Likewise.
60698         * lib/unictype/pr_left_of_pair.h: Likewise.
60699         * lib/unictype/pr_line_separator.h: Likewise.
60700         * lib/unictype/pr_math.h: Likewise.
60701         * lib/unictype/pr_non_break.h: Likewise.
60702         * lib/unictype/pr_not_a_character.h: Likewise.
60703         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60704         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60705         * lib/unictype/pr_other_id_continue.h: Likewise.
60706         * lib/unictype/pr_other_id_start.h: Likewise.
60707         * lib/unictype/pr_other_lowercase.h: Likewise.
60708         * lib/unictype/pr_other_math.h: Likewise.
60709         * lib/unictype/pr_other_uppercase.h: Likewise.
60710         * lib/unictype/pr_paired_punctuation.h: Likewise.
60711         * lib/unictype/pr_paragraph_separator.h: Likewise.
60712         * lib/unictype/pr_pattern_syntax.h: Likewise.
60713         * lib/unictype/pr_pattern_white_space.h: Likewise.
60714         * lib/unictype/pr_private_use.h: Likewise.
60715         * lib/unictype/pr_quotation_mark.h: Likewise.
60716         * lib/unictype/pr_radical.h: Likewise.
60717         * lib/unictype/pr_soft_dotted.h: Likewise.
60718         * lib/unictype/pr_space.h: Likewise.
60719         * lib/unictype/pr_titlecase.h: Likewise.
60720         * lib/unictype/pr_variation_selector.h: Likewise.
60721         * lib/unictype/pr_white_space.h: Likewise.
60722         * lib/unictype/sy_c_ident.h: Likewise.
60723         * lib/unictype/sy_c_whitespace.h: Likewise.
60724         * lib/unictype/sy_java_whitespace.h: Likewise.
60725         * modules/uni*/*: Bump version number of expected libunistring version.
60726         Reported by Simon Josefsson.
60728 2011-01-09  Karl Heuer  <kwzh@gnu.org>
60730         useless-if-before-free: fix typo in --help and make the internal,
60731         automatic version date update process work once again.
60732         --help output contained a NUL character instead of the
60733         backslash-zero that was intended.  Also, the "must lie within
60734         the first 8 lines" line is on line 9, and hence not getting
60735         automatically updated.
60736         * build-aux/useless-if-before-free: Fix the former by adding a
60737         backslash, and the latter by condensing the three lines of what-it-does
60738         to a single line, leaving one line of slack for the future.
60740 2011-01-09  Bruno Haible  <bruno@clisp.org>
60742         uniwidth/width: Fix width of U+1D173..U+1D17A.
60743         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
60744         symbolic_width, output_width_property_test): New functions.
60745         (main): Invoke output_nonspacing_property, output_width_property_test.
60746         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
60747         U+1D173..U+1D17A.
60748         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
60749         1.
60750         * modules/uniwidth/*: Bump version number of expected libunistring
60751         version.
60752         * modules/unilbrk/*: Likewise.
60754 2011-01-08  Bruno Haible  <bruno@clisp.org>
60756         uninorm tests: Preserve copyright of Unicode data file.
60757         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
60758         Mention modifications.
60760 2011-01-08  Bruno Haible  <bruno@clisp.org>
60762         gen-uni-tables: Prepare for Unicode 5.2.0.
60763         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
60764         (debug_output_lbp, output_lbp): Update.
60766 2011-01-08  Bruno Haible  <bruno@clisp.org>
60768         unilbrk: Clarify gen-uni-tables.c code.
60769         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
60770         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
60771         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
60773 2011-01-07  Bruno Haible  <bruno@clisp.org>
60775         strtod: Restore errno when successfully parsing Infinity or NaN.
60776         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
60777         restore the original errno.
60779 2011-01-07  Bruno Haible  <bruno@clisp.org>
60781         remove test: Avoid failure on HP-UX 11.
60782         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
60784 2011-01-07  Bruno Haible  <bruno@clisp.org>
60786         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
60787         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
60788         error code.
60790 2011-01-07  Pádraig Brady  <P@draigBrady.com>
60792         ignore-value: fixup comments, and add Eric Blake
60793         as an author since he rewrote the macros.
60794         * lib/ignore-value.h (ignore_value):  State that
60795         we now support aggregates.  Also specify exactly
60796         when the GCC warn_unused_result feature was added.
60798 2011-01-06  Eric Blake  <eblake@redhat.com>
60800         ignore-value: support aggregate types
60801         * lib/ignore-value.h (ignore_value): Provide separate gcc
60802         definition.
60803         * modules/ignore-value-tests: New test module.
60804         * tests/test-ignore-value.c: New test.
60806         maint.mk: improve sc_prohibit_strcmp regex
60807         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
60808         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
60809         definition of STRNEQ.
60811         signal: work around Haiku issue with SIGBUS
60812         * lib/siglist.h: Add comment.
60813         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
60814         strsignal's favoring of SIGSEGV.
60815         * tests/test-signal.c (main): Avoid test failure.
60816         * doc/posix-headers/signal.texi (signal.h): Document the issue.
60817         Reported by Scott McCreary.
60819         maint.mk: add pre-release check to ensure submodule commits are public
60820         * top/maint.mk (public-submodule-commit): New rule.
60821         (submodule-checks): New variable.
60822         (alpha beta stable): Depend on the variable.
60824 2011-01-05  Pádraig Brady  <P@draigBrady.com>
60825         and Jim Meyering  <meyering@redhat.com>
60827         ignore-value: make ignore_value more generic; deprecate ignore_ptr
60828         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
60829         (ATTRIBUTE_DEPRECATED): Define.
60830         (_ignore_case): New function.
60831         (ignore_value): New macro, to replace the old function.
60832         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
60833         * modules/ignore-value (Depends-on): Add stdint.
60835 2011-01-04  Eric Blake  <eblake@redhat.com>
60837         doc: regenerate INSTALL
60838         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
60839         @firstparagraphindent support, now that autoconf dropped it.
60840         (INSTALL_PRELUDE): Reinstate old macro.
60841         * doc/install.texi: Resync from autoconf.
60842         * doc/INSTALL: Reflect recent autoconf update.
60843         * doc/INSTALL.ISO: Likewise.
60844         * doc/INSTALL.UTF-8: Likewise.
60845         Reported by Karl Berry.
60847 2011-01-04  Bruce Korb  <address@hidden>
60849         git-version-gen: avoid a sub-shell
60850         * build-aux/git-version-gen: Redirect stderr in `...` via
60851         "exec 2>...", rather than via an added sub-shell.
60853 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
60855         git-version-gen: use (...) rather than sh -c '...'
60856         * build-aux/git-version-gen: Rather than hard-coding a shell's name
60857         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
60859 2011-01-03  Jim Meyering  <meyering@redhat.com>
60861         git-version-gen: convert leading TABs to spaces
60862         * build-aux/git-version-gen: Expand leading TABs.
60864         git-version-gen: handle failed "git rev-list"
60865         * build-aux/git-version-gen: Rather than leaking a "fatal" error
60866         from git and proceeding as if it had succeeded but printed no SHA1
60867         checksums, suppress the diagnostic and handle the failure.
60868         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
60870         git-version-gen: include command name in one more diagnostic
60871         * build-aux/git-version-gen: When the required .tarball-version file
60872         was missing or unreadable, you might see the diagnostic from "cat",
60873         but no trace of the name of the invoking script.  Now, you still see
60874         the diagnostic from cat, but also get one from "git-version-gen: ".
60875         Inspired by a patch from Bruce Korb.
60877         update-copyright: adjust test to match changed code
60878         * tests/test-update-copyright.sh: Change test's expected output
60879         to match new actual output.
60881 2011-01-02  Bruno Haible  <bruno@clisp.org>
60883         getlogin_r: Avoid test failure on HP-UX 11.
60884         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
60885         ERANGE when the second argument is zero.
60886         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
60887         portability problem.
60889 2011-01-02  Bruce Korb  <bkorb@gnu.org>
60891         * build-aux/update-copyright: doc Simon's changes
60893 2011-01-02  Simon Josefsson  <simon@josefsson.org>
60895         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
60896         environment variable.
60898 2011-01-02  Bruno Haible  <bruno@clisp.org>
60900         unigbrk: Avoid gcc warnings.
60901         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
60902         unused variable.
60903         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
60904         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
60905         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
60906         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
60907         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
60908         Change type of first argument to 'const char *'.
60909         (main): Remove unused variable.
60910         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
60911         type of first argument to 'const char *'.
60912         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
60913         Likewise.
60914         (main): Change type of variable 's'.
60915         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
60916         to 'int'.
60918 2011-01-02  Bruno Haible  <bruno@clisp.org>
60920         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
60921         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
60922         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
60923         bug.
60924         * lib/pwrite.c: Undo 2010-12-31 patch.
60925         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
60927 2011-01-02  Bruno Haible  <bruno@clisp.org>
60929         pread: Fix test whether it works.
60930         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
60932 2011-01-02  Bruno Haible  <bruno@clisp.org>
60934         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
60935         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
60936         ends in "6". Don't require a specific month name. Try also the locale
60937         names found on HP-UX 11 and Solaris 7.
60939 2011-01-02  Bruno Haible  <bruno@clisp.org>
60941         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
60942         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
60943         C linkage.
60944         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
60946 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
60948         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
60949         for consistency, since the "cluster" term is not used elsewhere.
60950         * lib/unigbrk.in.h: Update name.
60951         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
60952         * lib/unigbrk/u16-grapheme-next.c: Update name.
60953         * lib/unigbrk/u16-grapheme-prev.c: Update name.
60954         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
60955         * lib/unigbrk/u32-grapheme-next.c: Update name.
60956         * lib/unigbrk/u32-grapheme-prev.c: Update name.
60957         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
60958         * lib/unigbrk/u8-grapheme-next.c: Update name.
60959         * lib/unigbrk/u8-grapheme-prev.c: Update name.
60960         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
60961         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
60962         Suggested by Bruno Haible.
60964 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
60966         Remove module 'u8-grapheme-len' as too redundant with
60967         'u8-grapheme-next'.
60968         * modules/unigbrk/u8-grapheme-len: Delete file.
60969         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
60970         * lib/unigbrk.in.h: Remove prototype for deleted function.
60971         * lib/unigbrk/u8-grapheme-len.c: Delete file.
60972         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
60974         Remove module 'u16-grapheme-len' as too redundant with
60975         'u16-grapheme-next'.
60976         * modules/unigbrk/u16-grapheme-len: Delete file.
60977         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
60978         * lib/unigbrk.in.h: Remove prototype for deleted function.
60979         * lib/unigbrk/u16-grapheme-len.c: Delete file.
60980         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
60982         Remove module 'u32-grapheme-len' as too redundant with
60983         'u32-grapheme-next'.
60984         * modules/unigbrk/u32-grapheme-len: Delete file.
60985         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
60986         * lib/unigbrk.in.h: Remove prototype for deleted function.
60987         * lib/unigbrk/u32-grapheme-len.c: Delete file.
60988         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
60990         Suggested by Bruno Haible.
60992 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
60994         * unigbrk.in.h: Fix typo: "ben" => "been".
60995         Reported by Bruno Haible.
60997 2011-01-01  Jim Meyering  <meyering@redhat.com>
60999         maint: update almost all copyright ranges to include 2011
61000         Run the new "make update-copyright" rule.
61002 2011-01-01  Jim Meyering  <meyering@redhat.com>
61004         maint: update-copyright: exempt doc/INSTALL*
61005         * Makefile (update-copyright): Also exclude doc/INSTALL*,
61006         since they are generated.  Suggested by Bruno Haible.
61008 2011-01-01  Jim Meyering  <meyering@redhat.com>
61010         maint: refine the update-copyright rule
61011         * Makefile (update-copyright): Also exclude any file that includes
61012         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
61013         code that merely generates the comment.
61015 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61017         New module 'u8-grapheme-len'.
61018         * modules/unigbrk/u8-grapheme-len: New file.
61019         * modules/unigbrk/u8-grapheme-len-tests: New file.
61020         * lib/unigbrk.in.h: Add prototype for new function.
61021         * lib/unigbrk/u8-grapheme-len.c: New file.
61022         * tests/unigbrk/test-u8-grapheme-len.c: New file.
61024         New module 'u16-grapheme-len'.
61025         * modules/unigbrk/u16-grapheme-len: New file.
61026         * modules/unigbrk/u16-grapheme-len-tests: New file.
61027         * lib/unigbrk.in.h: Add prototype for new function.
61028         * lib/unigbrk/u16-grapheme-len.c: New file.
61029         * tests/unigbrk/test-u16-grapheme-len.c: New file.
61031         New module 'u32-grapheme-len'.
61032         * modules/unigbrk/u32-grapheme-len: New file.
61033         * modules/unigbrk/u32-grapheme-len-tests: New file.
61034         * lib/unigbrk.in.h: Add prototype for new function.
61035         * lib/unigbrk/u32-grapheme-len.c: New file.
61036         * tests/unigbrk/test-u32-grapheme-len.c: New file.
61038         New module 'u8-grapheme-next'.
61039         * modules/unigbrk/u8-grapheme-next: New file.
61040         * modules/unigbrk/u8-grapheme-next-tests: New file.
61041         * lib/unigbrk.in.h: Add prototype for new function.
61042         * lib/unigbrk/u8-grapheme-next.c: New file.
61043         * tests/unigbrk/test-u8-grapheme-next.c: New file.
61045         New module 'u16-grapheme-next'.
61046         * modules/unigbrk/u16-grapheme-next: New file.
61047         * modules/unigbrk/u16-grapheme-next-tests: New file.
61048         * lib/unigbrk.in.h: Add prototype for new function.
61049         * lib/unigbrk/u16-grapheme-next.c: New file.
61050         * tests/unigbrk/test-u16-grapheme-next.c: New file.
61052         New module 'u32-grapheme-next'.
61053         * modules/unigbrk/u32-grapheme-next: New file.
61054         * modules/unigbrk/u32-grapheme-next-tests: New file.
61055         * lib/unigbrk.in.h: Add prototype for new function.
61056         * lib/unigbrk/u32-grapheme-next.c: New file.
61057         * tests/unigbrk/test-u32-grapheme-next.c: New file.
61059         New module 'u8-grapheme-prev'.
61060         * modules/unigbrk/u8-grapheme-prev: New file.
61061         * modules/unigbrk/u8-grapheme-prev-tests: New file.
61062         * lib/unigbrk.in.h: Add prototype for new function.
61063         * lib/unigbrk/u8-grapheme-prev.c: New file.
61064         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
61066         New module 'u16-grapheme-prev'.
61067         * modules/unigbrk/u16-grapheme-prev: New file.
61068         * modules/unigbrk/u16-grapheme-prev-tests: New file.
61069         * lib/unigbrk.in.h: Add prototype for new function.
61070         * lib/unigbrk/u16-grapheme-prev.c: New file.
61071         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
61073         New module 'u32-grapheme-prev'.
61074         * modules/unigbrk/u32-grapheme-prev: New file.
61075         * modules/unigbrk/u32-grapheme-prev-tests: New file.
61076         * lib/unigbrk.in.h: Add prototype for new function.
61077         * lib/unigbrk/u32-grapheme-prev.c: New file.
61078         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
61080         New module 'u8-grapheme-breaks'.
61081         * modules/unigbrk/u8-grapheme-breaks: New file.
61082         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
61083         * lib/unigbrk.in.h: Add prototype for new function.
61084         * lib/unigbrk/u8-grapheme-breaks.c: New file.
61085         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
61087         New module 'u16-grapheme-breaks'.
61088         * modules/unigbrk/u16-grapheme-breaks: New file.
61089         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
61090         * lib/unigbrk.in.h: Add prototype for new function.
61091         * lib/unigbrk/u16-grapheme-breaks.c: New file.
61092         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
61094         New module 'u32-grapheme-breaks'.
61095         * modules/unigbrk/u32-grapheme-breaks: New file.
61096         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
61097         * lib/unigbrk.in.h: Add prototype for new function.
61098         * lib/unigbrk/u32-grapheme-breaks.c: New file.
61099         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
61101         New module 'ulc-grapheme-breaks'.
61102         * modules/unigbrk/ulc-grapheme-breaks: New file.
61103         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
61104         * m4/locale-ar.m4: New file.
61105         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
61106         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
61107         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
61109 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61111         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
61112         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
61113         modified how this file was generated before I initially submitted
61114         the module, but failed to regenerate it.  This meant that several
61115         of the level2 entries were wrong.
61116         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
61117         Remove the division-by-2 that is folded into the table now that
61118         gbrkprop.h has been regenerated properly.  Now -1 entries are
61119         handled correctly.
61121         New module 'unigbrk/uc-gbrk-prop-tests'.
61122         * modules/unigbrk/uc-gbrk-prop-tests: New file.
61123         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
61124         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
61125         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
61127 2011-01-01  Bruno Haible  <bruno@clisp.org>
61129         Avoid use of hexadecimal escapes.
61130         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
61131         instead of hexadecimal escapes.
61133 2011-01-01  Jim Meyering  <meyering@redhat.com>
61135         maint: new rule to update copyright year ranges
61136         * Makefile (update-copyright): New rule.
61138         maint: indent with TABs in Makefile
61139         * Makefile: Expand leading sequences of spaces to TABs
61141         version-etc: update the copyright year it reports
61142         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
61144 2010-12-31  Bruno Haible  <bruno@clisp.org>
61146         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
61147         * lib/isfinite.c (zerof, zerod, zerol): New variables.
61148         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
61149         zero.
61151 2010-12-31  Bruno Haible  <bruno@clisp.org>
61153         pwrite: Work around HP-UX 11.11 bug.
61154         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
61155         works and set REPLACE_PWRITE if not.
61156         * lib/pwrite.c (pwrite): Add an implementation that uses the system
61157         function.
61158         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
61160 2010-12-31  Bruno Haible  <bruno@clisp.org>
61162         pread: Work around HP-UX 11 bugs.
61163         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
61164         and set REPLACE_PREAD if not.
61165         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
61167 2010-12-31  Eric Blake  <eblake@redhat.com>
61169         nl_langinfo: fix YESEXPR on Irix 6.5
61170         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
61171         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
61172         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
61173         it.
61175 2010-12-31  Bruno Haible  <bruno@clisp.org>
61177         iconv: Document HP-UX 11 bug.
61178         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
61180 2010-12-31  Bruno Haible  <bruno@clisp.org>
61182         ldexpl: Fix link error on HP-UX 11.
61183         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
61184         LDEXPL_LIBM, using $ISNANL_LIBM.
61186 2010-12-31  Eric Blake  <eblake@redhat.com>
61188         ftello: avoid compilation failure with SunStudio c89
61189         * lib/ftello.c (ftello): Use lseek, not llseek.
61191         tests: avoid failing coreutils tests on cygwin
61192         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
61193         (create_exe_shims_): Return 0 when skipping.
61195 2010-12-31  Bruno Haible  <bruno@clisp.org>
61197         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
61198         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
61200 2010-12-31  Bruno Haible  <bruno@clisp.org>
61202         waitpid: Fix link error in C++ mode.
61203         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
61205 2010-12-31  Bruno Haible  <bruno@clisp.org>
61207         isnan: Use GCC built-ins when possible.
61208         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
61209         __builtin_isnan.
61210         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
61211         (isnan): Define using GCC built-ins for GCC >= 4.0.
61213 2010-12-31  Bruno Haible  <bruno@clisp.org>
61215         isnand: Fix mistake.
61216         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
61217         __builtin_isnand.
61219 2010-12-31  Bruno Haible  <bruno@clisp.org>
61221         open: Avoid C++ error on HP-UX 11.
61222         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
61224 2010-12-31  Bruno Haible  <bruno@clisp.org>
61226         time_r: Add missing declarations on HP-UX 11.
61227         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
61228         instead of HAVE_LOCALTIME_R.
61229         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
61230         HAVE_LOCALTIME_R always.
61231         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
61232         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
61233         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
61234         HAVE_LOCALTIME_R.
61235         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
61236         * doc/posix-functions/localtime_r.texi: Likewise.
61238 2010-12-29  Eric Blake  <eblake@redhat.com>
61240         mountlist: tweak previous commit
61241         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
61242         Reported by Paul Eggert.
61244         mountlist: fix local drive detection on cygwin
61245         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
61246         that works for cygwin.
61248 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61250         ftoastr, snprintf: ftoastr + snprintf module
61251         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
61252         since the snprintf module now should be good enough here.
61253         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
61254         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
61255         and gl_MODULE_INDICATOR([snprintf]), but the former enables
61256         GNULIB_SNPRINTF only for the test directory, and the latter
61257         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
61258         seems to suffice by itself.
61260 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61262         alloca: one step towards thread-safety
61263         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
61264         need for a static variable.  All callers changed.  This does not
61265         make the alloca replacement thread-safe, but it's one step.
61267         tests: minor indenting change
61268         * tests/init.sh: Sync from coreutils housekeeping patch
61269         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
61270         to keep lines within 80 columns.
61272 2010-12-28  Jim Meyering  <meyering@redhat.com>
61274         regex: don't infloop on persistent failing calloc
61275         * lib/regexec.c (build_trtable): Return failure indication upon
61276         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
61277         In glibc, this was fixed for version 2.13:
61278         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
61280 2010-12-28  Bruno Haible  <bruno@clisp.org>
61281             Paul Eggert <eggert@cs.ucla.edu>
61283         linkat: Make implementation robust against system behaviour variations.
61284         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
61285         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
61286         way, and to -2 if it needs a generic runtime test.
61287         * lib/linkat.c (solaris_optimized_link_immediate,
61288         solaris_optimized_link_follow): New functions.
61289         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
61290         (check_same_link): Use it.
61292 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
61294         New module 'unigbrk/base'.
61295         * modules/unigbrk/base: New file.
61296         * lib/unigbrk.in.h: New file.
61298         New module 'unigbrk/uc-gbrk-prop'.
61299         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
61300         * modules/unigbrk/uc-gbrk-prop: New file.
61301         * lib/unigbrk/gbrkprop.h: New file.
61302         * lib/unigbrk/uc-gbrk-prop.c: New file.
61304         New module 'unigbrk/uc-is-grapheme-break'.
61305         * modules/unigbrk/uc-is-grapheme-break: New file.
61306         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
61307         * lib/unigbrk/uc-is-grapheme-break.c: New file.
61308         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
61309         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
61310         * tests/unigbrk/GraphemeBreakTest.txt: New file.
61312         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
61314 2010-12-27  Bruno Haible  <bruno@clisp.org>
61316         linkat test: Avoid failure on Solaris 11 2010-11.
61317         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
61319 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61321         utimens: work around glibc rounding bug on more platforms
61322         * lib/utimens.c (fdutimens): Work around rounding bug even if
61323         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
61324         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
61326 2010-12-27  Bruno Haible  <bruno@clisp.org>
61328         select tests: Improve comments.
61329         * tests/test-select.c (do_select): Add comments.
61331 2010-12-27  Bruno Haible  <bruno@clisp.org>
61333         select tests: Safer way of handling timeout.
61334         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
61335         at every invocation.
61337 2010-12-27  Bruno Haible  <bruno@clisp.org>
61339         select tests: Use 'bool' where appropriate.
61340         * tests/test-select.c (connect_to_socket): Change argument type to
61341         'bool'.
61343 2010-12-27  Bruno Haible  <bruno@clisp.org>
61345         select tests: Use existing modules.
61346         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
61347         (configure.ac): Don't test for unistd.h.
61348         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
61349         declared in <unistd.h>.
61351 2010-12-27  Bruno Haible  <bruno@clisp.org>
61353         mbrtowc: Work around a Solaris 7 bug.
61354         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
61355         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
61356         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
61357         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
61358         MBRTOWC_NULL_ARG1_BUG.
61359         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
61360         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
61361         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
61362         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
61364 2010-12-27  Jim Meyering  <meyering@redhat.com>
61366         read-file.c: tweak syntax
61367         * lib/read-file.c (fread_file): Remove space after "*" in function
61368         definitions.
61370 2010-12-27  Bruno Haible  <bruno@clisp.org>
61372         times test: Avoid gcc warnings on OSF/1.
61373         * tests/test-times.c (main): Cast printf arguments from clock_t to
61374         'long int'.
61376 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61378         utimens: work around glibc rounding bug on older Linux kernels
61379         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
61380         on Linux with a glibc whose utimes might not work, then work
61381         around a longstanding glibc bug involving rounding rather than
61382         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
61383         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
61385 2010-12-26  Bruno Haible  <bruno@clisp.org>
61387         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
61388         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
61389         _GL_CXXALIAS_SYS.
61390         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61392 2010-12-26  Bruno Haible  <bruno@clisp.org>
61394         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
61395         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
61396         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
61397         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
61398         looking for the declaration.
61399         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
61400         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
61401         problem.
61402         * doc/posix-functions/inet_pton.texi: Likewise.
61404 2010-12-26  Bruno Haible  <bruno@clisp.org>
61406         arpa_inet: Use the common idioms with C++ support.
61407         * lib/arpa_inet.in.h: Include c++defs.h.
61408         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
61409         support.
61410         * modules/arpa_inet (Depends-on): Add c++defs.
61411         (Makefile.am): Substitute the contents of c++defs.h.
61412         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
61413         * modules/arpa_inet-c++-tests: New file.
61414         * tests/test-arpa_inet-c++.cc: New file.
61416 2010-12-25  Bruno Haible  <bruno@clisp.org>
61418         Fix more C++ link errors on Solaris 8.
61419         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
61420         $(LIB_EACCESS).
61421         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
61422         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
61423         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
61424         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
61425         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
61427 2010-12-25  Bruno Haible  <bruno@clisp.org>
61429         printf-posix: Fix link error when a non-GCC compiler is used.
61430         * lib/stdio.in.h (printf): When not using GCC, override printf
61431         correctly.
61432         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61434 2010-12-25  Bruno Haible  <bruno@clisp.org>
61436         strerror_r-posix: Update doc.
61437         * doc/posix-functions/strerror_r.texi: Update doc about the return
61438         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
61440 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
61442         utimens: simplify the logic of the previous change
61443         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
61444         This should not affect whether the test succeeds or fails.
61446         utimens: configure better on hosts with NFS clock skew
61447         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
61448         uses the clock of the local host.  It might use the clock of the
61449         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
61450         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
61452 2010-12-25  Bruno Haible  <bruno@clisp.org>
61454         ptsname test: Avoid failure on Solaris.
61455         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
61456         open a pseudo-terminal; don't use BSD-style ptys.
61457         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
61459 2010-12-25  Bruno Haible  <bruno@clisp.org>
61461         ptsname: Avoid ERANGE failure on some systems.
61462         * lib/ptsname.c (buffer): Increase size.
61464 2010-12-25  Bruno Haible  <bruno@clisp.org>
61466         rename, renameat: Avoid test failures at NFS mounted locations.
61467         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
61468         so that subsequent mkdir calls succeed.
61470 2010-12-25  Bruno Haible  <bruno@clisp.org>
61472         iswblank: Fix C++ link error on Solaris 8.
61473         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
61474         _GL_FUNCDECL_SYS.
61476 2010-12-25  Bruno Haible  <bruno@clisp.org>
61478         unistd: Fix C++ link error on Solaris 8.
61479         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
61481 2010-12-25  Bruno Haible  <bruno@clisp.org>
61483         readlink doc: Mention an old glibc bug.
61484         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
61486 2010-12-25  Bruno Haible  <bruno@clisp.org>
61488         fcntl-h: Fix for use of C++ on glibc systems.
61489         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
61490         also on glibc systems in C++ mode.
61491         Reported by Gary V. Vaughan <gary@gnu.org>.
61493 2010-12-25  Bruno Haible  <bruno@clisp.org>
61495         roundl-ieee: Make it work on OSF/1 5.1 with cc.
61496         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
61498 2010-12-25  Bruno Haible  <bruno@clisp.org>
61500         truncl-ieee: Make it work on OSF/1 5.1 with cc.
61501         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
61502         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
61503         test whether truncl works according to ISO C 99 with IEC 60559.
61504         * m4/truncl-ieee.m4: New file.
61505         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
61506         m4/signbit.m4.
61507         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
61509 2010-12-25  Bruno Haible  <bruno@clisp.org>
61511         ceill-ieee: Make it work on OSF/1 5.1 with cc.
61512         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
61513         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
61514         test whether ceill works according to ISO C 99 with IEC 60559.
61515         * m4/ceill-ieee.m4: New file.
61516         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
61517         m4/signbit.m4.
61518         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
61520 2010-12-25  Bruno Haible  <bruno@clisp.org>
61522         Ensure all prerequisites of <wchar.h> are included.
61523         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
61524         before <wchar.h>.
61525         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
61526         gl_MBRLEN_NUL_RETVAL): Likewise.
61527         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
61528         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
61529         AC_FUNC_MBRTOWC): Likewise.
61530         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
61531         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
61532         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
61533         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
61534         Likewise.
61535         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
61536         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
61537         (gl_WCHAR_H): Improve comments.
61538         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
61540 2010-12-25  Bruno Haible  <bruno@clisp.org>
61542         strtok_r: Fix C syntax error in autoconf macro.
61543         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
61544         characters in test program.
61546 2010-12-24  Bruno Haible  <bruno@clisp.org>
61548         ceil, trunc, round: Fix gcc warnings.
61549         * lib/ceil.c (MIN): Undefine before redefining.
61550         * lib/trunc.c (MIN): Likewise.
61551         * lib/round.c (MIN): Likewise.
61552         Include <math.h> first.
61554 2010-12-24  Bruno Haible  <bruno@clisp.org>
61556         select tests: Avoid failures on OSF/1 5.1.
61557         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
61558         failure of closing the last socket; it may fail with ECONNRESET.
61560 2010-12-24  Eric Blake  <eblake@redhat.com>
61562         stdint: avoid HP-UX 10.20 preprocessor bug
61563         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
61564         than #if.
61565         * tests/test-floor2.c (main): Likewise.
61566         Reported by Peter O'Gorman.
61568         pipe: make obsoletion transition easier
61569         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
61570         * modules/pipe (Files): Include revived file.
61571         (Include): Drop reference, to mirror getdate's behavior.
61573 2010-12-24  Bruno Haible  <bruno@clisp.org>
61575         sys_socket: Hide mismatch of declarations on NonStop Kernel.
61576         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
61577         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
61578         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61580 2010-12-24  Bruno Haible  <bruno@clisp.org>
61582         gethostname: Ensure declaration on NonStop Kernel.
61583         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
61584         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61586 2010-12-24  Bruno Haible  <bruno@clisp.org>
61588         sys_select: Ensure all necessary types on NonStop Kernel.
61589         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
61590         include <sys/time.h>.
61591         * doc/posix-headers/sys_select.texi: Mention that it's missing on
61592         NonStop Kernel.
61593         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61595 2010-12-24  Bruno Haible  <bruno@clisp.org>
61597         sys_select: Remove unneeded include.
61598         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
61599         have <sys/select.h>.
61601 2010-12-24  Bruno Haible  <bruno@clisp.org>
61603         gethostname: Provide a fallback for HOST_NAME_MAX.
61604         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
61605         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
61606         instead.
61607         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61609 2010-12-24  Bruno Haible  <bruno@clisp.org>
61611         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
61612         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
61613         (SA_RESTART): Likewise.
61614         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61616 2010-12-24  Bruno Haible  <bruno@clisp.org>
61618         signal: Define NSIG.
61619         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
61620         * tests/test-signal.c (nsig): New variable.
61621         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61623 2010-12-24  Bruno Haible  <bruno@clisp.org>
61625         rename, renameat: Avoid test failures on OSF/1 5.1.
61626         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
61627         alternative error codes.
61628         * tests/test-renameat.c (main): Likewise.
61630 2010-12-24  Bruno Haible  <bruno@clisp.org>
61632         *printf: Detect large precisions bug on Solaris 10/SPARC.
61633         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
61634         by Paul Eggert.
61635         * tests/test-snprintf-posix.h (test_function): Add this test code here
61636         too.
61637         * tests/test-sprintf-posix.h (test_function): Likewise.
61638         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61639         * tests/test-vasprintf-posix.c (test_function): Likewise.
61640         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
61641         around by gnulib.
61642         * doc/posix-functions/printf.texi: Likewise.
61643         * doc/posix-functions/snprintf.texi: Likewise.
61644         * doc/posix-functions/sprintf.texi: Likewise.
61645         * doc/posix-functions/vfprintf.texi: Likewise.
61646         * doc/posix-functions/vprintf.texi: Likewise.
61647         * doc/posix-functions/vsnprintf.texi: Likewise.
61648         * doc/posix-functions/vsprintf.texi: Likewise.
61649         * doc/posix-functions/dprintf.texi: Undo last commit.
61650         * doc/posix-functions/vdprintf.texi: Likewise.
61652 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61654         tests: port test-fdutimensat.c to Solaris 8
61655         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
61656         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
61657         On Solaris 8, it fails with errno == ENOSYS, because there is no
61658         futimens (so it can't use the fd), and there is no lutimens (so it
61659         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
61661         vsnprintf: make more consistent with snprintf; doc fixes
61663         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
61664         the byte count return problem was promoted from the snprintf-posix
61665         to the snprintf module.
61666         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
61667         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
61668         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
61669         * tests/test-snprintf.c (main): Check the byte count returned.
61670         * tests/test-vsnprintf.c (main): Likewise.
61672 2010-12-23  Eric Blake  <eblake@redhat.com>
61674         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
61675         * modules/sigpipe (License): Relax license.
61677 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
61679         doc: document Solaris printf bug with large float precisions
61680         * doc/posix-functions/dprintf.texi (dprintf):
61681         * doc/posix-functions/fprintf.texi (fprintf):
61682         * doc/posix-functions/printf.texi (printf):
61683         * doc/posix-functions/snprintf.texi (snprintf):
61684         * doc/posix-functions/sprintf.texi (sprintf):
61685         * doc/posix-functions/vdprintf.texi (vdprintf):
61686         * doc/posix-functions/vfprintf.texi (vfprintf):
61687         * doc/posix-functions/vprintf.texi (vprintf):
61688         * doc/posix-functions/vsnprintf.texi (vsnprintf):
61689         * doc/posix-functions/vsprintf.texi (vsprintf):
61690         Mention that these functions mishandle large floating point
61691         precisions on Solaris 10.  The same bug is also present in Solaris
61692         8, and I assume earlier.  This causes "cd gnulib-tests; make
61693         check" to fail on Solaris 8 (and I assume, later) when building
61694         the latest coreutils, in test-vasprintf-posix's call to
61695         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
61696         the wide flavors (e.g., wprintf) so this patch just updates the
61697         documentation for the narrow ones.
61699         test-posixtm.c: add two tests
61700         * tests/test-posixtm.c: Add two tests, to highlight the
61701         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
61702         around this bug; this is merely to document it.
61704 2010-12-22  Bruno Haible  <bruno@clisp.org>
61706         getlogin_r: Work around portability problem on OSF/1.
61707         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
61708         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
61709         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
61710         test for a truncated result.
61711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
61712         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
61713         * modules/getlogin_r (Depends-on): Add memchr.
61714         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
61716 2010-12-22  Bruno Haible  <bruno@clisp.org>
61718         ptsname: Avoid test failure on OSF/1 5.1.
61719         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
61720         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
61721         (same_slave): New function.
61722         (main): Use it to compare ptsname's result with the expected file name.
61724 2010-12-22  Bruno Haible  <bruno@clisp.org>
61726         Port extended stdio modules to HP NonStop Kernel.
61727         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
61728         macros.
61729         * lib/fbufmode.c: Update comments.
61730         * lib/fflush.c: Likewise.
61731         * lib/fpurge.c: Likewise.
61732         * lib/freadable.c: Likewise.
61733         * lib/freadahead.c: Likewise.
61734         * lib/freading.c: Likewise.
61735         * lib/freadptr.c: Likewise.
61736         * lib/freadseek.c: Likewise.
61737         * lib/fseeko.c: Likewise.
61738         * lib/fseterr.c: Likewise.
61739         * lib/fwritable.c: Likewise.
61740         * lib/fwriting.c: Likewise.
61741         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61743 2010-12-22  Bruno Haible  <bruno@clisp.org>
61745         ttyname_r: Work around bug on OSF/1 5.1.
61746         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
61747         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
61748         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
61749         present.
61750         * lib/ttyname_r.c (ttyname_r): Update comments.
61752 2010-12-22  Bruno Haible  <bruno@clisp.org>
61754         round: Implement result sign according to IEEE 754.
61755         * lib/round.c (MIN, MINUS_ZERO): New macros.
61756         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
61757         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
61758         * tests/test-round-ieee.c (main): Likewise.
61759         * tests/test-roundl-ieee.c (main): Likewise.
61761         trunc: Implement result sign according to IEEE 754.
61762         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
61763         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
61764         * tests/test-trunc2.c: Include minus-zero.h.
61765         (MINUS_ZERO): New macro.
61766         (trunc_reference): Keep in sync with lib/trunc.c.
61767         * tests/test-truncf2.c: Include minus-zero.h.
61768         (MINUS_ZERO): New macro.
61769         (truncf_reference): Keep in sync with lib/trunc.c.
61770         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
61771         * tests/test-trunc-ieee.c (main): Likewise.
61772         * tests/test-truncl-ieee.c (main): Likewise.
61774         ceil: Implement result sign according to IEEE 754.
61775         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
61776         (FUNC): Return -0.0 for -1 < x < 0.
61777         * tests/test-ceil2.c: Include minus-zero.h.
61778         (MINUS_ZERO): New macro.
61779         (ceil_reference): Keep in sync with lib/ceil.c.
61780         * tests/test-ceilf2.c: Include minus-zero.h.
61781         (MINUS_ZERO): New macro.
61782         (ceilf_reference): Keep in sync with lib/ceil.c.
61783         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
61784         * tests/test-ceil-ieee.c (main): Likewise.
61785         * tests/test-ceill-ieee.c (main): Likewise.
61787         floor: Implement result sign according to IEEE 754.
61788         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
61789         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
61790         * tests/test-floorf2.c (floorf_reference): Likewise.
61791         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
61792         * tests/test-floor-ieee.c (main): Likewise.
61793         * tests/test-floorl-ieee.c (main): Likewise.
61795 2010-12-22  Bruno Haible  <bruno@clisp.org>
61797         getaddrinfo: Update doc.
61798         * doc/posix-functions/gai_strerror.texi: Return type is also different
61799         on AIX and HP-UX.
61801 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
61803         getaddrinfo, inet_ntop: Update doc for Solaris.
61804         * doc/posix-functions/gai_strerror.texi: Return type is also an
61805         issue on Solaris 9 and earlier.
61806         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
61807         on Solaris 10 and earlier.
61809 2010-12-21  Bruno Haible  <bruno@clisp.org>
61811         New module 'roundl-ieee'.
61812         * modules/roundl-ieee: New file.
61813         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
61814         test whether roundl works according to ISO C 99 with IEC 60559.
61815         * m4/roundl-ieee.m4: New file.
61816         * modules/roundl-ieee-tests: New file.
61817         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
61818         * tests/test-roundl.c (main): Remove signbit tests.
61819         * modules/roundl-tests (Depends-on): Remove signbit.
61820         * doc/posix-functions/roundl.texi: Mention the new module.
61822 2010-12-21  Bruno Haible  <bruno@clisp.org>
61824         New module 'truncl-ieee'.
61825         * modules/truncl-ieee: New file.
61826         * modules/truncl-ieee-tests: New file.
61827         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
61828         * tests/test-truncl.c (main): Remove signbit tests.
61829         * modules/truncl-tests (Depends-on): Remove signbit.
61830         * doc/posix-functions/truncl.texi: Mention the new module.
61832 2010-12-21  Bruno Haible  <bruno@clisp.org>
61834         New module 'ceill-ieee'.
61835         * modules/ceill-ieee: New file.
61836         * modules/ceill-ieee-tests: New file.
61837         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
61838         * tests/test-ceill.c (main): Remove signbit tests.
61839         * modules/ceill-tests (Depends-on): Remove signbit.
61840         * doc/posix-functions/ceill.texi: Mention the new module.
61842 2010-12-21  Bruno Haible  <bruno@clisp.org>
61844         New module 'floorl-ieee'.
61845         * modules/floorl-ieee: New file.
61846         * modules/floorl-ieee-tests: New file.
61847         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
61848         * tests/test-floorl.c (main): Remove signbit tests.
61849         * modules/floorl-tests (Depends-on): Remove signbit.
61850         * doc/posix-functions/floorl.texi: Mention the new module.
61852 2010-12-21  Bruno Haible  <bruno@clisp.org>
61854         New module 'round-ieee'.
61855         * modules/round-ieee: New file.
61856         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
61857         whether round works according to ISO C 99 with IEC 60559.
61858         * m4/round-ieee.m4: New file.
61859         * modules/round-ieee-tests: New file.
61860         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
61861         * tests/test-round1.c (main): Remove signbit tests.
61862         * modules/round-tests (Depends-on): Remove 'signbit'.
61863         * doc/posix-functions/round.texi: Mention the new module.
61865 2010-12-21  Bruno Haible  <bruno@clisp.org>
61867         New module 'trunc-ieee'.
61868         * modules/trunc-ieee: New file.
61869         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
61870         whether trunc works according to ISO C 99 with IEC 60559.
61871         * m4/trunc-ieee.m4: New file.
61872         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
61873         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
61874         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
61875         * modules/trunc-ieee-tests: New file.
61876         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
61877         * tests/test-trunc1.c (main): Remove signbit tests.
61878         * modules/trunc-tests (Depends-on): Remove 'signbit'.
61879         * doc/posix-functions/trunc.texi: Mention the new module.
61881 2010-12-21  Bruno Haible  <bruno@clisp.org>
61883         New module 'ceil-ieee'.
61884         * modules/ceil-ieee: New file.
61885         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
61886         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
61887         ISO C 99 with IEC 60559.
61888         * m4/ceil-ieee.m4: New file.
61889         * modules/ceil (Files): Add lib/ceil.c.
61890         (Depends-on): Add 'float'.
61891         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
61892         * lib/math.in.h (ceil): New declaration.
61893         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
61894         REPLACE_CEIL.
61895         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
61896         * modules/ceil-ieee-tests: New file.
61897         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
61898         * tests/test-math-c++.cc: Check the signature of 'ceil'.
61899         * doc/posix-functions/ceil.texi: Mention the new module.
61901 2010-12-21  Bruno Haible  <bruno@clisp.org>
61903         New module 'floor-ieee'.
61904         * modules/floor-ieee: New file.
61905         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
61906         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
61907         ISO C 99 with IEC 60559.
61908         * m4/floor-ieee.m4: New file.
61909         * modules/floor (Files): Add lib/floor.c.
61910         (Depends-on): Add 'float'.
61911         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
61912         * lib/math.in.h (floor): New declaration.
61913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
61914         REPLACE_FLOOR.
61915         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
61916         * modules/floor-ieee-tests: New file.
61917         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
61918         * tests/test-math-c++.cc: Check the signature of 'floor'.
61919         * doc/posix-functions/floor.texi: Mention the new module.
61921 2010-12-21  Bruno Haible  <bruno@clisp.org>
61923         New module 'roundf-ieee'.
61924         * modules/roundf-ieee: New file.
61925         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
61926         test whether roundf works according to ISO C 99 with IEC 60559.
61927         * m4/roundf-ieee.m4: New file.
61928         * modules/roundf-ieee-tests: New file.
61929         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
61930         * tests/test-roundf1.c (main): Remove signbit tests.
61931         * modules/roundf-tests (Depends-on): Remove 'signbit'.
61932         * doc/posix-functions/roundf.texi: Mention the new module.
61934 2010-12-21  Bruno Haible  <bruno@clisp.org>
61936         New module 'truncf-ieee'.
61937         * modules/truncf-ieee: New file.
61938         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
61939         test whether truncf works according to ISO C 99 with IEC 60559.
61940         * m4/truncf-ieee.m4: New file.
61941         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
61942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
61943         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
61944         * modules/truncf-ieee-tests: New file.
61945         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
61946         * tests/test-truncf1.c (main): Remove signbit tests.
61947         * modules/truncf-tests (Depends-on): Remove 'signbit'.
61948         * doc/posix-functions/truncf.texi: Mention the new module.
61950 2010-12-21  Bruno Haible  <bruno@clisp.org>
61952         New module 'ceilf-ieee'.
61953         * modules/ceilf-ieee: New file.
61954         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
61955         test whether ceilf works according to ISO C 99 with IEC 60559.
61956         * m4/ceilf-ieee.m4: New file.
61957         * modules/ceilf-ieee-tests: New file.
61958         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
61959         * tests/test-ceilf1.c (main): Remove signbit tests.
61960         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
61961         * doc/posix-functions/ceilf.texi: Mention the new module.
61963 2010-12-21  Bruno Haible  <bruno@clisp.org>
61965         New module 'floorf-ieee'.
61966         * modules/floorf-ieee: New file.
61967         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
61968         test whether floorf works according to ISO C 99 with IEC 60559.
61969         * m4/floorf-ieee.m4: New file.
61970         * modules/floorf-ieee-tests: New file.
61971         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
61972         * tests/test-floorf1.c (main): Remove signbit tests.
61973         * modules/floorf-tests (Depends-on): Remove 'signbit'.
61974         * doc/posix-functions/floorf.texi: Mention the new module.
61976 2010-12-21  Bruno Haible  <bruno@clisp.org>
61978         Support for minus zero in autoconf macros.
61979         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
61980         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
61981         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
61982         * tests/minus-zero.h: Update comments.
61984 2010-12-21  Bruno Haible  <bruno@clisp.org>
61986         Tests for module 'ceil'.
61987         * modules/ceil-tests: New file.
61988         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
61989         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
61991 2010-12-21  Bruno Haible  <bruno@clisp.org>
61993         Tests for module 'floor'.
61994         * modules/floor-tests: New file.
61995         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
61996         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
61998 2010-12-21  Bruno Haible  <bruno@clisp.org>
62000         math: Fix indentation.
62001         * lib/math.in.h (floorf): Fix indentation.
62003 2010-12-21  Bruno Haible  <bruno@clisp.org>
62005         Fix cross-compilation guesses on Solaris.
62006         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
62007         not match "solaris2.10".
62008         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62009         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
62010         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
62012 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
62014         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
62015         This fixes a problem observed with the latest coreutils snapshot
62016         that caused a test to fail on Solaris 8.  src/csplit.c's call
62017         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
62018         earlier, instead of returning the number of bytes that would have
62019         been generated; this causes csplit to incorrectly report memory
62020         exhaustion.
62021         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
62022         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
62023         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
62024         comments to match.
62025         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
62026         Fix typo in matching older versions of Solaris: "solaris2.10"
62027         is matched by the shell pattern "solaris2.[0-9]*".  This matters
62028         only for guessing while cross-compiling.
62029         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
62031 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
62033         ftoastr: fix comment again
62034         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62035         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
62036         Also, simplify example a bit by using flags = 0.
62038 2010-12-20  Bruno Haible  <bruno@clisp.org>
62040         round*, trunc*: Update documentation regarding glibc.
62041         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
62042         * doc/posix-functions/round.texi: Likewise.
62043         * doc/posix-functions/roundl.texi: Likewise.
62044         * doc/posix-functions/truncf.texi: Likewise.
62045         * doc/posix-functions/trunc.texi: Likewise.
62046         * doc/posix-functions/truncl.texi: Likewise.
62048 2010-12-20  Bruno Haible  <bruno@clisp.org>
62050         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
62051         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
62052         * doc/posix-functions/round.texi: Likewise.
62053         * doc/posix-functions/roundl.texi: Likewise.
62055 2010-12-20  Bruno Haible  <bruno@clisp.org>
62057         ttyname_r: Add missing declaration on HP-UX 11.
62058         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
62059         HAVE_TTYNAME_R.
62060         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
62061         declared. Set HAVE_TTYNAME_R always.
62062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62063         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
62064         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
62065         HAVE_TTYNAME_R.
62066         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
62068 2010-12-20  Bruno Haible  <bruno@clisp.org>
62070         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
62071         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
62072         * doc/posix-functions/getlogin_r.texi: Likewise.
62073         * tests/test-getlogin.c: Include <errno.h>.
62074         (main): Avoid test failure on HP-UX 11.11.
62075         * tests/test-getlogin_r.c (main): Likewise.
62077 2010-12-20  Bruno Haible  <bruno@clisp.org>
62079         getlogin_r: Add missing declaration on HP-UX 11.
62080         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
62081         declared also when it exists as a function.
62082         * doc/posix-functions/getlogin_r.texi: Document this workaround.
62084 2010-12-20  Bruno Haible  <bruno@clisp.org>
62086         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
62087         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
62088         through wcrtomb.
62090 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
62092         ftoastr: fix comment
62093         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62094         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
62096 2010-12-19  Bruno Haible  <bruno@clisp.org>
62098         isnan: Ensure it is a macro.
62099         * lib/math.in.h (isnan): Define as a macro if not already a macro.
62100         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
62101         Solaris.
62103 2010-12-19  Bruno Haible  <bruno@clisp.org>
62105         ldexpl test: Fix link error on OSF/1 5.1.
62106         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
62108 2010-12-19  Bruno Haible  <bruno@clisp.org>
62110         wctype: Make it work in C++ mode on OSF/1 5.1.
62111         * lib/wctype.in.h (iswblank): Declare but not define here.
62112         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
62113         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
62114         * modules/wctype (Files): Add lib/iswblank.c.
62116 2010-12-19  Bruno Haible  <bruno@clisp.org>
62118         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
62119         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
62120         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
62122 2010-12-19  Bruno Haible  <bruno@clisp.org>
62124         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
62125         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
62126         _POSIX_PII_SOCKET.
62127         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
62128         * doc/posix-functions/recvfrom.texi: Likewise.
62129         * doc/posix-functions/send.texi: Likewise.
62130         * doc/posix-functions/sendto.texi: Likewise.
62132 2010-12-19  Bruno Haible  <bruno@clisp.org>
62134         tcgetsid: Add missing declaration on OSF/1 5.1.
62135         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
62136         HAVE_TCGETSID.
62137         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
62138         Don't set HAVE_TCGETSID.
62139         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
62140         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
62141         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
62142         HAVE_TCGETSID.
62143         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
62145 2010-12-19  Bruno Haible  <bruno@clisp.org>
62147         stdio: Fix problem with popen() declaration on OSF/1 5.1.
62148         * lib/stdio.in.h: During the include_next statement, let recursive
62149         includes of this file include only the system header file.
62151 2010-12-19  Bruno Haible  <bruno@clisp.org>
62153         iconv_open: Fix regression from 2010-12-04.
62154         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
62155         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
62157 2010-12-19  Bruno Haible  <bruno@clisp.org>
62159         stdbool test: Avoid a gcc warning.
62160         * tests/test-stdbool.c (main): Fail if e1 is false.
62161         Reported by Jim Meyering.
62163 2010-12-19  Jim Meyering  <meyering@redhat.com>
62165         setenv: restore to working order
62166         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
62167         mistakenly removed.
62168         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
62169         HAVE_SETENV.
62170         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
62171         HAVE_SETENV.
62173 2010-12-19  Bruno Haible  <bruno@clisp.org>
62175         Document some different function declarations on OSF/1 5.1.
62176         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
62177         * doc/posix-functions/inet_ntop.texi: Likewise.
62178         * doc/posix-functions/gethostname.texi: Likewise.
62179         * lib/unistd.in.h (gethostname): Update comment.
62181 2010-12-19  Bruno Haible  <bruno@clisp.org>
62183         doc: Mention vasprintf-posix module.
62184         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
62185         the 'vasprintf-posix' module.
62186         * doc/glibc-functions/vasprintf.texi: Likewise.
62188 2010-12-19  Bruno Haible  <bruno@clisp.org>
62190         unsetenv: Add missing declaration on OSF/1 5.1.
62191         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
62192         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
62193         Don't set HAVE_UNSETENV. In the test program, set _BSD.
62194         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
62195         not HAVE_UNSETENV.
62196         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
62197         HAVE_UNSETENV.
62198         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
62200 2010-12-19  Bruno Haible  <bruno@clisp.org>
62202         setenv: Add missing declaration on OSF/1 5.1.
62203         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
62204         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
62205         declared. Don't set HAVE_SETENV.
62206         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
62207         not HAVE_SETENV.
62208         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
62209         HAVE_SETENV.
62210         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
62212 2010-12-19  Bruno Haible  <bruno@clisp.org>
62214         nl_langinfo tests: Avoid gcc warning.
62215         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
62217 2010-12-19  Bruno Haible  <bruno@clisp.org>
62219         mknod: Avoid error in C++ mode on OSF/1 with GCC.
62220         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
62221         _GL_CXXALIAS_SYS.
62223 2010-12-19  Bruno Haible  <bruno@clisp.org>
62225         stdbool: Relax test.
62226         * tests/test-stdbool.c (e): Don't require that casts from a variable's
62227         address to 'bool' work in static initializer, for compilers other than
62228         GCC.
62230 2010-12-19  Bruno Haible  <bruno@clisp.org>
62232         ftello: Add missing declaration on OSF/1 5.1.
62233         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
62234         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
62235         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
62236         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
62237         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
62239 2010-12-19  Bruno Haible  <bruno@clisp.org>
62241         fseeko: Add missing declaration on OSF/1 5.1.
62242         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
62243         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
62244         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
62245         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
62246         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
62248 2010-12-19  Bruno Haible  <bruno@clisp.org>
62250         fchdir: Add missing declaration on OSF/1 5.1.
62251         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
62252         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
62253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
62254         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
62255         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
62257 2010-12-19  Bruno Haible  <bruno@clisp.org>
62259         relocatable-prog-wrapper: Separate from relocatable-prog.
62260         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
62261         uninstall-relocwrapper rule here.
62262         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
62263         Reported by Ian Beckwith <ianb@erislabs.net>.
62265 2010-12-19  Bruno Haible  <bruno@clisp.org>
62267         unistr/u8-mbsnlen: Add missing dependency.
62268         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
62269         Reported by Ian Beckwith <ianb@erislabs.net>.
62271 2010-12-19  Bruno Haible  <bruno@clisp.org>
62273         iconv: Make it possible again to use this module without 'iconv-h'.
62274         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
62275         if it is not defined.
62276         Reported by Ian Beckwith <ianb@erislabs.net>.
62278 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62280         acl: port to Solaris 8 when copying from tmpfs to ufs
62281         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
62282         error number.  Problem observed on Solaris 8 with latest
62283         coreutils, with "mv A B", where A is on a tmpfs file system and B
62284         is on a ufs file system.  This caused coreutils' mv/part-symlink
62285         test to fail.
62287         tests: set fail=0 at start
62288         * tests/init.sh (setup_): Move fail=0 initialization here ...
62289         (mktempd_): ... from here, so that tests can rely on fail being
62290         set to 0 initially.  This fixes a problem in coreutils; see:
62291         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
62293 2010-12-18  Bruno Haible  <bruno@clisp.org>
62295         memmem-simple: Stylistic changes.
62296         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
62297         Fix preprocessor directive indentation.
62299 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62301         memmem, memmem-simple: reorganize and expand empty needle check
62302         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
62303         functional checks to memmem-simple so that one has a fully functional
62304         memmem by using just this module.
62305         Restrict the performance only check to the memmem module.
62306         Also expand the empty needle check to ensure the correct
62307         pointer is returned, not just a non NULL pointer.
62308         * doc/glibc-functions/memmem.texi: Rearrange the portability
62309         documentation to correlate with the rearranged checks.
62310         Clarify exactly how the memmem and memmem-simple modules
62311         relate to each other.
62313 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62314             Bruno Haible  <bruno@clisp.org>
62316         Improve cross-compilation guesses for uClibc.
62317         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
62318         that uClibc does not have the glibc bug.
62319         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
62320         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
62322 2010-12-14  Eric Blake  <eblake@redhat.com>
62324         configmake: provide fallbacks for oldest supported autotools
62325         * m4/configmake.m4: New file.
62326         * modules/configmake (Files): Ship it.
62327         (configure.ac): Use it to guarantee fallbacks.
62329 2010-12-13  Pádraig Brady  <P@draigBrady.com>
62331         read-file: Improve handling of large files
62332         * lib/read-file.c (fread_file): Minimize realloc()s
62333         for regular files, and better manage sizes around SIZE_MAX.
62335 2010-12-13  Eric Blake  <eblake@redhat.com>
62337         cloexec, fcntl: relax license
62338         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
62339         consent from all contributors.
62340         * modules/fcntl (License): Likewise.
62342 2010-12-10  Bruno Haible  <bruno@clisp.org>
62344         Tests for module 'pipe-posix'.
62345         * modules/pipe-posix-tests: New file.
62346         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
62348 2010-12-10  Bruno Haible  <bruno@clisp.org>
62350         pipe-posix: Make it work in C++ mode.
62351         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
62352         (pipe): Use common idiom, not a macro definition.
62353         * lib/pipe.c: New file.
62354         * m4/pipe.m4: New file.
62355         * modules/pipe-posix (Description): Enhance.
62356         (Files): Add lib/pipe.c, m4/pipe.m4.
62357         (configure.ac): Invoke gl_FUNC_PIPE.
62358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
62359         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
62360         * tests/test-unistd-c++.cc: Check the signature of pipe.
62362 2010-12-10  Bruno Haible  <bruno@clisp.org>
62364         Rename module 'pipe' to 'spawn-pipe'.
62365         * modules/spawn-pipe: New file, renamed from modules/pipe.
62366         (Files, configure.ac, Makefile.am): Update.
62367         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
62368         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
62369         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
62370         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
62371         "spawn-pipe.h" instead of "pipe.h".
62372         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
62373         to gl_SPAWN_PIPE.
62374         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
62375         (Files, Makefile.am): Update.
62376         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
62377         Update.
62378         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
62379         Include "spawn-pipe.h" instead of "pipe.h".
62380         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
62381         * lib/javacomp.c: Likewise.
62382         * lib/javaversion.c: Likewise.
62383         * lib/pipe-filter-gi.c: Likewise.
62384         * lib/pipe-filter-ii.c: Likewise.
62385         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
62386         * modules/javacomp (Depends-on): Likewise.
62387         * modules/javaversion (Depends-on): Likewise.
62388         * modules/pipe-filter-gi (Depends-on): Likewise.
62389         * modules/pipe-filter-ii (Depends-on): Likewise.
62390         * MODULES.html.sh (Executing programs): Update.
62391         * NEWS: Mention the change.
62393 2010-12-10  Eric Blake  <eblake@redhat.com>
62395         pipe-posix: new module
62396         * modules/pipe-posix: New file.
62397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
62398         (gl_UNISTD_H): Check for declaration.
62399         * modules/unistd (Makefile.am): Substitute it.
62400         * lib/unistd.in.h (pipe): Provide it for mingw.
62401         * doc/posix-functions/pipe.texi (pipe): Update documentation.
62402         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
62404 2010-12-07  Bruno Haible  <bruno@clisp.org>
62406         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
62407         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
62408         u8_strcmp_gnu.
62409         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
62411 2010-12-06  Bruno Haible  <bruno@clisp.org>
62413         Update internal documentation.
62414         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
62416 2010-12-04  Bruno Haible  <bruno@clisp.org>
62418         Put more information about failed tests into the test return codes.
62419         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
62420         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
62421         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
62422         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62423         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
62424         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62425         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62426         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
62427         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
62428         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62429         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
62430         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62431         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
62432         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62433         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
62434         returns a bit mask.
62435         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
62436         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
62437         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
62438         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
62439         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
62440         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
62441         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62442         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
62443         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
62444         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
62445         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
62446         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
62447         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
62448         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
62449         * m4/link.m4 (gl_FUNC_LINK): Likewise.
62450         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
62451         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
62452         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
62453         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62454         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
62455         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62456         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
62457         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
62458         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
62459         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62460         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
62461         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
62462         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
62463         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
62464         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
62465         gl_PRINTF_PRECISION): Likewise.
62466         * m4/regex.m4 (gl_REGEX): Likewise.
62467         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
62468         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
62469         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
62470         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
62471         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62472         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
62473         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
62474         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
62475         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
62476         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62477         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
62478         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
62479         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
62480         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62481         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
62482         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
62483         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
62484         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62485         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62486         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
62487         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
62488         enumerated value.
62489         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
62491 2010-12-04  Bruno Haible  <bruno@clisp.org>
62493         Update for Solaris 11 2010-11.
62494         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
62495         Express, released in November 2010.
62497 2010-12-04  Bruno Haible  <bruno@clisp.org>
62499         nproc: Relax license.
62500         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
62501         and Paul Eggert.
62502         Requested by Ludovic Courtès <ludo@gnu.org>.
62504 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
62506         utimecmp: fine-grained src to nearby coarse-grained dest
62508         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
62509         and the source is on a file system with higher-resolution time
62510         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
62511         not work, and the time stamps are close together, the algorithm to
62512         determine the exact resolution from the read-back mtime was buggy:
62513         it had a "!=" where it should have had an "==".  This bug has been
62514         in the code ever since it was introduced to gnulib.
62515         Problem reported by Dan Jacobson in
62516         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
62518 2010-11-30  Bruno Haible  <bruno@clisp.org>
62520         strerror_r-posix: Fix autoconf test.
62521         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
62523 2010-11-28  Bruno Haible  <bruno@clisp.org>
62524             Paul Eggert  <eggert@cs.ucla.edu>
62526         Tests for module 'getdomainname'.
62527         * modules/getdomainname-tests: New file.
62528         * tests/test-getdomainname.c: New file, based on
62529         tests/test-gethostname.c.
62531 2010-11-28  Bruno Haible  <bruno@clisp.org>
62532             Paul Eggert  <eggert@cs.ucla.edu>
62534         getdomainname: Use the system function when possible.
62535         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
62536         (getdomainname): Replace if needed. Provide the declaration if it is
62537         missing. Don't use _GL_CXXALIAS_SYS_CAST.
62538         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
62539         (getdomainname): When the system has getdomainname, call the system
62540         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
62541         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
62542         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
62543         found in libnsl. Look for the declaration also in <netdb.h>. Replace
62544         the function if its second argument is of type 'int' or if it is found
62545         in libnsl.
62546         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
62547         <sys/systeminfo.h> and sysinfo().
62548         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
62549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62550         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
62551         HAVE_GETDOMAINNAME.
62552         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
62553         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
62554         * doc/glibc-functions/getdomainname.texi: Document the problems with
62555         the getdomainname declaration.
62557 2010-11-28  Bruno Haible  <bruno@clisp.org>
62559         sys_socket: Ensure ss_family field on AIX.
62560         * lib/sys_socket.in.h (ss_family): New macro definition.
62561         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
62562         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
62563         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
62564         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
62565         * modules/sys_socket (Makefile.am): Substitute
62566         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
62567         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
62569 2010-11-27  Bruno Haible  <bruno@clisp.org>
62571         readline: Improve configure output.
62572         * m4/readline.m4 (gl_FUNC_READLINE): Make the
62573         "checking for readline..." result understandable.
62575 2010-11-27  Bruno Haible  <bruno@clisp.org>
62577         *printf-posix: Detect a bug on Solaris 10/x86.
62578         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
62579         for floating-point output.
62580         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
62581         directive.
62582         * tests/test-snprintf-posix.h (test_function): Likewise.
62583         * tests/test-sprintf-posix.h (test_function): Likewise.
62584         * tests/test-vasprintf-posix.c (test_function): Likewise.
62585         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
62586         * doc/posix-functions/printf.texi: Likewise.
62587         * doc/posix-functions/snprintf.texi: Likewise.
62588         * doc/posix-functions/sprintf.texi: Likewise.
62589         * doc/posix-functions/vfprintf.texi: Likewise.
62590         * doc/posix-functions/vprintf.texi: Likewise.
62591         * doc/posix-functions/vsnprintf.texi: Likewise.
62592         * doc/posix-functions/vsprintf.texi: Likewise.
62593         * doc/glibc-functions/obstack_printf.texi: Likewise.
62594         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
62596 2010-11-27  Bruno Haible  <bruno@clisp.org>
62598         Fix link error when module libunistring-optional is in use.
62599         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
62600         * modules/striconveha-tests (Makefile.am): Likewise.
62602 2010-11-27  Bruno Haible  <bruno@clisp.org>
62604         regex: Mention link dependencies.
62605         * modules/regex (Link): New section.
62606         * modules/rpmatch (Link): Likewise.
62607         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
62609 2010-11-27  Bruno Haible  <bruno@clisp.org>
62611         ftoastr: Fix compilation error on Solaris.
62612         * lib/ftoastr.c: Include <config.h>.
62614 2010-11-27  Bruno Haible  <bruno@clisp.org>
62616         getloadavg: Update documentation.
62617         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
62619 2010-11-27  Bruno Haible  <bruno@clisp.org>
62621         sys_socket: Fix test whether the functions are declared.
62622         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
62623         not <sys/select.h>.
62625 2010-11-27  Bruno Haible  <bruno@clisp.org>
62627         getpass: Make sure to get system declaration on some platforms.
62628         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
62629         gl_USE_SYSTEM_EXTENSIONS.
62630         * modules/getpass (Depends-on): Add extensions.
62632 2010-11-26  Bruno Haible  <bruno@clisp.org>
62634         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
62635         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
62636         'iconv' module is present.
62637         (ICONV_CONST): New macro.
62638         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
62639         ICONV_CONST.
62640         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
62641         set ICONV_CONST.
62642         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
62643         here.
62644         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
62645         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
62646         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
62647         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
62648         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
62649         present.
62651 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62653         ftoastr: comment fix
62654         * lib/ftoastr.c: "little" -> "little or no" in comment
62656 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
62658         stdint: port to GCC 4.3 + OSX + Octave
62659         On this platform, stdint.h is buggy and defines int64_t to long
62660         long int.  The replacement defined it to long int, causing
62661         problems with C++ style name mangling.  Instead, trust the system
62662         definition if INT64_MAX is defined, and likewise for the unsigned
62663         variant.   Problem reported by Jarno Rajahalme in
62664         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
62665         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
62666         and don't mess with int64_t and INT64_MAX in this case.
62667         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
62669 2010-11-24  Bruno Haible  <bruno@clisp.org>
62671         doc: Corrections regarding MacOS X 10.4 and 10.5.
62672         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
62673         MacOS X.
62674         Reported by Simon Josefsson.
62676 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
62678         Uninstall ".bin" files installed by relocwrapper.
62679         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
62680         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
62681         unless it is already there.
62683 2010-11-21  Bruno Haible  <bruno@clisp.org>
62685         Update for NetBSD 5.0.
62686         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
62687         NetBSD; the test fails on NetBSD 5.0.
62688         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
62689         about NetBSD.
62691 2010-11-21  Bruno Haible  <bruno@clisp.org>
62693         Update for HP-UX 11.23 and HP-UX 11.31.
62694         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
62695         HP-UX.
62697 2010-11-21  Bruno Haible  <bruno@clisp.org>
62699         Update for MacOS X 10.5.
62700         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
62701         MacOS X; the test fails on MacOS X 10.5.8.
62702         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
62703         about MacOS X.
62705 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
62707         bootstrap: add bootstrap_sync option.
62708         See discussion at
62709         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
62710         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
62711         * build-aux/bootstrap: Accept --bootstrap-sync to update
62712         bootstrap if it is not identical to the local gnulib's
62713         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
62714         enable this by default.  Accept --no-bootstrap-sync to disable
62715         it.
62717 2010-11-20  Bruno Haible  <bruno@clisp.org>
62719         Ensure that <features.h> is included before __GLIBC__ is tested.
62720         * lib/printf-parse.h: Include <features.h>.
62721         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
62722         Reported by Mike Frysinger <vapier@gentoo.org>.
62724         Ensure that <features.h> is included before __GLIBC__ is tested.
62725         * lib/wchar.in.h: Include <features.h>.
62726         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
62727         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
62728         Reported by Mike Frysinger <vapier@gentoo.org>.
62730         Ensure that <features.h> is included before __GLIBC__ is tested.
62731         * lib/arpa_inet.in.h: Include <features.h>.
62732         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
62733         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
62734         Reported by Mike Frysinger <vapier@gentoo.org>.
62736         Ensure that <features.h> is included before __GLIBC__ is tested.
62737         * build-aux/link-warning.h: Include <features.h>.
62738         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
62739         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
62740         Reported by Mike Frysinger <vapier@gentoo.org>.
62742         Ensure that <features.h> is included before __GLIBC__ is tested.
62743         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
62744         Reported by Mike Frysinger <vapier@gentoo.org>.
62746 2010-11-20  Bruno Haible  <bruno@clisp.org>
62748         memmem: Fix autoconf test.
62749         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
62751 2010-11-20  Bruno Haible  <bruno@clisp.org>
62753         Port to uClibc.
62754         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
62755         * lib/fcntl.in.h: Likewise.
62756         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
62757         * lib/mbrtowc.c (mbrtowc): Likewise.
62758         * lib/relocatable.c (find_shared_library_fullname): Likewise.
62759         * lib/strerror_r.c: Likewise.
62760         * lib/unistr/u8-strnlen.c: Likewise.
62761         * lib/vasnprintf.c (decimal_point_char): Likewise.
62762         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62763         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
62764         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
62765         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
62766         * tests/test-sigaction.c (handler, main): Likewise.
62767         * lib/freading.h: Treat uClibc like a non-glibc platform.
62768         * lib/freading.c: Likewise.
62769         * lib/gettext.h: Likewise.
62770         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
62771         Likewise.
62772         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
62773         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
62774         * lib/propername.c (proper_name_utf8): Likewise.
62775         * lib/spawn.in.h: Likewise.
62776         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
62777         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
62778         mem_cd_iconveh_internal): Likewise.
62779         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
62780         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
62781         strstr, strcasestr): Likewise.
62782         * lib/unicodeio.c (unicode_to_mb): Likewise.
62783         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
62784         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
62785         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
62786         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
62787         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
62788         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
62789         * lib/unistr/u8-stpncpy.c: Likewise.
62790         * lib/vasnprintf.c (VASNPRINTF): Likewise.
62791         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
62792         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62793         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62794         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
62795         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
62796         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
62797         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
62798         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
62799         Likewise.
62800         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
62801         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62802         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
62803         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62804         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62805         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
62806         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62807         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
62808         * tests/test-getopt.h (OPTIND_MIN): Likewise.
62809         * tests/test-striconveha.c (main): Likewise.
62810         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62811         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
62812         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
62813         * doc/posix-functions/getline.texi: Likewise.
62814         Reported by Mike Frysinger <vapier@gentoo.org>.
62816 2010-11-20  Bruno Haible  <bruno@clisp.org>
62818         nproc: Fix condition.
62819         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
62820         HAVE_PTHREAD_AFFINITY_NP.
62822 2010-11-20  Bruno Haible  <bruno@clisp.org>
62824         Fix a comment.
62825         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
62827 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
62829         ftoastr: don't assume snprintf
62830         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
62831         Implement a subset of snprintf here, by using sprintf safely.
62832         * modules/ftoastr (Depends-on): Remove snprintf.
62834 2010-11-19  Jim Meyering  <meyering@redhat.com>
62836         test-rename.h: fix compilation failure
62837         * tests/test-rename.h (test_rename): Add omitted "}".
62839 2010-11-17  Jim Meyering  <meyering@redhat.com>
62841         maint.mk: add a URL discussing the no-@acronym policy
62842         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
62844 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
62846         ftoastr: depend on snprintf, improve comments
62847         * lib/ftoastr.c: Also mention Loitsch's draft.
62848         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
62849         needed in the current implementation, but it might simplify
62850         speeding up the code later.
62851         * modules/ftoastr: Depend on snprintf; this improves portability.
62852         Suggested by Bruno Haible in the same email.
62854         ftoastr: port to hosts lacking strtof and strtold
62855         Problem reported by Bruno Haible in
62856         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
62857         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
62858         environment and strtold (and presumably strtof) are not available.
62859         * modules/ftoastr (Files): Add m4/c-strtod.m4.
62860         (configure.ac): Require gl_C99_STRTOLD.
62862 2010-11-18  Bruno Haible  <bruno@clisp.org>
62864         c-strtold: Avoid link error on AIX 7.
62865         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
62866         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
62867         (gl_C_STRTOLD): Test whether strtold_l exists.
62868         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
62870 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
62872         intprops: new macro INT_BITS_STRLEN_BOUND
62873         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
62874         ftoastr.h.  This exposes an internal of intprops.h that was formerly
62875         not exposed.  Also, it uses a slightly tighter bound than before;
62876         though this makes no practical difference, we might as well be as
62877         tight as we easily can.
62879         ftoastr: new module, for lossless conversion of floats to short strings
62880         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
62881         * modules/ftoastr: New files.
62883 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62885         bootstrap: port to Solaris sed
62886         * build-aux/bootstrap (get_version): Port to Solaris sed.
62887         See Ralf Wildenhues's note in
62888         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
62890 2010-11-14  Jim Meyering  <meyering@redhat.com>
62892         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
62893         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
62894         and move definition closer to sole use.
62896 2010-11-13  Jim Meyering  <meyering@redhat.com>
62898         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
62899         Now we require at least autoconf-2.59, which means the work-around
62900         is no longer needed.
62901         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
62902         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
62903         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
62904         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
62905         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
62907 2010-11-13  Bruno Haible  <bruno@clisp.org>
62909         rename, renameat: Avoid test failures at NFS mounted locations.
62910         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
62911         functions.
62912         (test_rename): Use assert_nonexistent.
62913         * tests/test-rename.c: Include <dirent.h>.
62914         * tests/test-renameat.c: Likewise.
62915         Reported by Gary V. Vaughan <gary@gnu.org>.
62917         rename, renameat: Document Linux bug with NFS
62918         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
62919         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
62920         * doc/posix-functions/renameat.texi: Likewise.
62921         Suggested by Eric Blake.
62923 2010-11-13  Bruno Haible  <bruno@clisp.org>
62925         rename test: Add comments.
62926         * tests/test-rename.h (test_rename): Add structure and comments.
62928 2010-11-13  Eric Blake  <eblake@redhat.com>
62930         maintainer-makefile: cover a few more files
62931         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
62932         scripts generated within C files, for libvirt.
62934 2010-11-13  Bruno Haible  <bruno@clisp.org>
62936         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
62937         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
62938         character, return the number of bytes that belong together, not always
62939         1.
62940         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
62941         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
62942         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
62943         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
62944         number of bytes of an invalid character.
62945         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
62946         (main): Invoke it.
62947         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
62948         results.
62949         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
62950         malformed byte sequences.
62951         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
62952         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
62953         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
62954         Reported by Ben Pfaff and Paolo Bonzini.
62956 2010-11-13  Bruno Haible  <bruno@clisp.org>
62958         openat: Work around glibc bug with fchownat() and empty file names.
62959         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
62960         (gl_FUNC_FCHOWNAT): Invoke it.
62961         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
62962         * doc/posix-functions/fchownat.texi: Document the glibc bug.
62963         Reported by Gary V. Vaughan <gary@gnu.org>.
62965 2010-11-13  Bruno Haible  <bruno@clisp.org>
62967         openat: Ensure autoconf macro ordering.
62968         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
62969         gl_USE_SYSTEM_EXTENSIONS.
62970         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
62972 2010-11-13  Bruno Haible  <bruno@clisp.org>
62974         Update comments.
62975         * lib/unistr/u8-check.c: Update file name in comments.
62976         * lib/unistr/u8-mblen.c: Likewise.
62977         * lib/unistr/u8-prev.c: Likewise.
62978         * lib/unistr/u8-strmblen.c: Likewise.
62979         * lib/unistr/u8-strmbtouc.c: Likewise.
62981 2010-11-13  Jim Meyering  <meyering@redhat.com>
62983         tests: avoid test failure on Solaris 10 due to lack of PATH export
62984         * tests/test-update-copyright.sh: Don't forget to export PATH.
62986         init.sh: ensure that IFS is defined, just in case...
62987         * tests/init.sh (setup_): Ensure that IFS is defined,
62988         so that saving and restoring it works as expected.  This
62989         appears to be useful at least for an old version of dash
62990         from a long time ago (RH 6).  See here for details:
62991         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
62993         maint.mk: tighten "test a == b" check
62994         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
62995         test to files that contain something like #!/bin/sh.
62996         Without this, coreutils would get two false positives in
62997         the comments of C source files.
62999 2010-11-12  Eric Blake  <eblake@redhat.com>
63001         bootstrap: fix typo in previous attempt
63002         * build-aux/bootstrap (buildreq): Correct the grouping.
63003         Reported by Paul Eggert.
63005         maintainer-makefile: prohibit test x == x
63006         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
63007         Based on a report by Matthias Bolte.
63009         bootstrap: allow FreeBSD gzip
63010         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
63011         which has no '.' and goes to stderr.
63012         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
63013         Reported by Matthias Bolte.
63015         maintainer-makefile: check for i18n setup
63016         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
63017         will likely work.
63019 2010-11-12  Bruno Haible  <bruno@clisp.org>
63021         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
63022         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
63023         * lib/nanosleep.c (nanosleep): Likewise.
63025 2010-11-11  Bruno Haible  <bruno@clisp.org>
63027         fcntl-h: Fix for use of C++ on glibc systems.
63028         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
63029         also on glibc systems in C++ mode.
63030         Reported by Gary V. Vaughan <gary@gnu.org>.
63032 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63034         mknod: avoid false failure with dash
63035         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
63037 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
63039         unlink: Fix "is it should" typo in diagnostic.
63040         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
63041         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
63043 2010-11-11  Bruno Haible  <bruno@clisp.org>
63045         Tests for module 'strerror_r-posix'.
63046         * modules/strerror_r-posix-tests: New file.
63047         * tests/test-strerror_r.c: New file.
63048         * tests/test-string-c++.cc: Check the signature of strerror_r.
63050         New module 'strerror_r-posix'.
63051         * lib/string.in.h (strerror_r): New declaration.
63052         * lib/strerror_r.c: New file.
63053         * m4/strerror_r.m4: New file.
63054         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
63055         of strerror_r.
63056         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
63057         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63058         * modules/strerror_r-posix: New file.
63059         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
63060         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63061         * doc/posix-functions/strerror_r.texi: Mention the new module and the
63062         portability problems.
63064 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
63066         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
63067         line is also considered for output. Quoted function name in shell
63068         command, so temporary files for functions like MyClass::operator()
63069         are removed correctly without errors.
63071 2010-11-09  Bruno Haible  <bruno@clisp.org>
63073         * doc/posix-functions/strerror.texi: List more failing platforms.
63075         * doc/posix-functions/strerror.texi: Add a comment.
63077 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63079         fdopendir: fix bug on MacOS X when low on file descriptors
63081         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
63082         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
63083         All callers changed.
63084         (fdopendir): Invoke save_cwd at the top level, not after using
63085         multiple dup() calls to use up file descriptors.  Then retry
63086         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
63087         less than the maximum number of open file descriptors, because
63088         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
63089         on Mac OS X 10.6.4 for tar 1.24
63090         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
63091         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
63092         and for tar 1.25
63093         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
63095 2010-11-07  Bruno Haible  <bruno@clisp.org>
63097         vasnprintf: Support I flag on glibc systems.
63098         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
63099         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
63100         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
63101         snprintf function.
63102         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
63103         glibc systems.
63104         * tests/test-vasnprintf-posix3.c: New file.
63105         * modules/vasnprintf-posix-tests (Files): Add it.
63106         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
63108 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63110         [html] Fix copy/paste bug: Use unique name for compiler warnings.
63111         * MODULES.html.sh: For compiler warnings, use name
63112         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
63114 2010-11-05  Eric Blake  <eblake@redhat.com>
63116         ceil, floor: avoid spurious failure with icc
63117         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
63118         [denormals-as-zero] when optimizing without -mieee-fp option.
63119         * tests/test-floorf2.c (floorf_reference): Likewise.
63120         * tests/test-ceilf1.c (dummy): New function.
63121         (main): Use it to outsmart icc's optimization.
63122         * tests/test-floorf1.c (dummy, main): Likewise.
63124         tests: require working signbit
63125         * modules/ceilf-tests (Depends-on): Add signbit.
63126         * modules/ceill-tests (Depends-on): Likewise.
63127         * modules/floorf-tests (Depends-on): Likewise.
63128         * modules/floorl-tests (Depends-on): Likewise.
63129         * modules/round-tests (Depends-on): Likewise.
63130         * modules/roundf-tests (Depends-on): Likewise.
63131         * modules/roundl-tests (Depends-on): Likewise.
63132         * modules/trunc-tests (Depends-on): Likewise.
63133         * modules/truncf-tests (Depends-on): Likewise.
63134         * modules/truncl-tests (Depends-on): Likewise.
63136         strtod: work around icc bug
63137         * lib/strtod.c (minus_zero): Define to working value.
63138         (strtod): Use it to avoid icc bug.
63140         copysign: enhance tests
63141         * modules/copysign-tests (Files): Add minus-zero.h.
63142         * tests/test-copysign.c (main): Also test zeros.
63144 2010-11-04  Eric Blake  <eblake@redhat.com>
63146         ceil, floor, round, trunc: enhance tests of -0
63147         * tests/test-ceilf1.c (main): Ensure correct sign of result.
63148         * tests/test-ceill.c (main): Likewise.
63149         * tests/test-floorf1.c (main): Likewise.
63150         * tests/test-floorl.c (main): Likewise.
63151         * tests/test-round1.c (main): Likewise.
63152         * tests/test-roundf1.c (main): Likewise.
63153         * tests/test-roundl.c (main): Likewise.
63154         * tests/test-trunc1.c (main): Likewise.
63155         * tests/test-truncf1.c (main): Likewise.
63156         * tests/test-truncl.c (main): Likewise.
63158 2010-11-04  Eric Blake  <eblake@redhat.com>
63160         frexp, tests: work around ICC bug with -zero
63161         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
63162         works with more compilers.
63163         * tests/minus-zero.h: New file.
63164         * modules/ceilf-tests (Files): Include it.
63165         * modules/ceill-tests (Files): Likewise.
63166         * modules/floorf-tests (Files): Likewise.
63167         * modules/floorl-tests (Files): Likewise.
63168         * modules/frexp-nolibm-tests (Files): Likewise.
63169         * modules/frexp-tests (Files): Likewise.
63170         * modules/frexpl-nolibm-tests (Files): Likewise.
63171         * modules/frexpl-tests (Files): Likewise.
63172         * modules/isnan-tests (Files): Likewise.
63173         * modules/isnand-nolibm-tests (Files): Likewise.
63174         * modules/isnand-tests (Files): Likewise.
63175         * modules/isnanf-nolibm-tests (Files): Likewise.
63176         * modules/isnanf-tests (Files): Likewise.
63177         * modules/isnanl-nolibm-tests (Files): Likewise.
63178         * modules/isnanl-tests (Files): Likewise.
63179         * modules/round-tests (Files): Likewise.
63180         * modules/roundf-tests (Files): Likewise.
63181         * modules/roundl-tests (Files): Likewise.
63182         * modules/ldexpl-tests (Files): Likewise.
63183         * modules/signbit-tests (Files): Likewise.
63184         * modules/snprintf-posix-tests (Files): Likewise.
63185         * modules/sprintf-posix-tests (Files): Likewise.
63186         * modules/strtod-tests (Files): Likewise.
63187         * modules/trunc-tests (Files): Likewise.
63188         * modules/truncf-tests (Files): Likewise.
63189         * modules/truncl-tests (Files): Likewise.
63190         * modules/vsnprintf-posix-tests (Files): Likewise.
63191         * modules/vsprintf-posix-tests (Files): Likewise.
63192         * modules/vasnprintf-posix-tests (Files): Likewise.
63193         * modules/vasprintf-posix-tests (Files): Likewise.
63194         * tests/test-ceilf1.c (main): Use it.
63195         * tests/test-ceill.c (main): Likewise.
63196         * tests/test-floorf1.c (main): Likewise.
63197         * tests/test-floorl.c (main): Likewise.
63198         * tests/test-frexp.c (main): Likewise.
63199         * tests/test-frexpl.c (main): Likewise.
63200         * tests/test-isnan.c (main): Likewise.
63201         * tests/test-isnand.h (main): Likewise.
63202         * tests/test-isnanf.h (main): Likewise.
63203         * tests/test-isnanl.h (main): Likewise.
63204         * tests/test-ldexpl.c (main): Likewise.
63205         * tests/test-round.c (main): Likewise.
63206         * tests/test-roundf.c (main): Likewise.
63207         * tests/test-roundl.c (main): Likewise.
63208         * tests/test-signbit.c (test_signbitf, test_signbitd)
63209         (test_signbitl): Likewise.
63210         * tests/test-snprintf-posix.h (test_function): Likewise.
63211         * tests/test-sprintf-posix.h (test_function): Likewise.
63212         * tests/test-strtod.c (main): Likewise.
63213         * tests/test-trunc1.c (main): Likewise.
63214         * tests/test-truncf1.c (main): Likewise.
63215         * tests/test-truncl.c (main): Likewise.
63217         isnanl: work around icc bug
63218         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
63220 2010-11-03  Eric Blake  <eblake@redhat.com>
63222         tests: fix compiler warnings
63223         * tests/test-getopt.h (test_getopt): Fix condition.
63224         * tests/test-getopt_long.h (test_getopt_long): Likewise.
63225         * tests/test-pipe2.c (main): Likewise.
63226         * tests/test-quotearg-simple.c (main): Avoid icc warning.
63228         utimens: fix broken m4 test
63229         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
63231 2010-10-28  Bruno Haible  <bruno@clisp.org>
63233         posix_spawn*, getdtablesize: Relax license.
63234         * modules/posix_spawn (License): Change to LGPLv2+.
63235         * modules/posix_spawnp (License): Likewise.
63236         * modules/posix_spawn-internal (License): Likewise.
63237         * modules/posix_spawnattr_init (License): Likewise.
63238         * modules/posix_spawnattr_getflags (License): Likewise.
63239         * modules/posix_spawnattr_setflags (License): Likewise.
63240         * modules/posix_spawnattr_getpgroup (License): Likewise.
63241         * modules/posix_spawnattr_setpgroup (License): Likewise.
63242         * modules/posix_spawnattr_getschedparam (License): Likewise.
63243         * modules/posix_spawnattr_setschedparam (License): Likewise.
63244         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
63245         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
63246         * modules/posix_spawnattr_getsigdefault (License): Likewise.
63247         * modules/posix_spawnattr_setsigdefault (License): Likewise.
63248         * modules/posix_spawnattr_getsigmask (License): Likewise.
63249         * modules/posix_spawnattr_setsigmask (License): Likewise.
63250         * modules/posix_spawnattr_destroy (License): Likewise.
63251         * modules/posix_spawn_file_actions_init (License): Likewise.
63252         * modules/posix_spawn_file_actions_addclose (License): Likewise.
63253         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
63254         * modules/posix_spawn_file_actions_addopen (License): Likewise.
63255         * modules/posix_spawn_file_actions_destroy (License): Likewise.
63256         * modules/getdtablesize (License): Likewise.
63257         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
63259 2010-10-26  Bruno Haible  <bruno@clisp.org>
63261         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
63262         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
63263         Cygwin and mingw.
63264         Suggested by Eric Blake.
63266 2010-10-26  Bruno Haible  <bruno@clisp.org>
63268         stdio: Work around compilation error due to renameat() on Solaris 10.
63269         * lib/stdio.in.h: Include <unistd.h> on Solaris.
63270         * lib/renameat.c: Don't include <unistd.h> here.
63271         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
63272         Reported by Paul Eggert and Eric Blake.
63274 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
63276         renameat: port to Solaris 10, which declares renameat in unistd.h
63278         * lib/renameat.c: Include unistd.h before stdio.h, because
63279         Solaris 10 declares renameat in unistd.h.  Problem encountered
63280         when building GNU tar 1.24 on Solaris 10.
63282 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63284         fdopendir: fix C89 compilation
63285         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
63286         compilers.
63288 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
63290         inttostr: simplify by removing unnecessary redundancy
63291         * lib/anytostr.c: Don't include verify.h.
63292         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
63293         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
63294         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
63295         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
63296         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
63297         Likewise.
63298         * modules/inttostr (Depends-on): Remove 'verify'.
63300 2010-10-23  Bruno Haible  <bruno@clisp.org>
63302         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
63303         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
63304         Reported by Eric Blake.
63306 2010-10-23  Bruno Haible  <bruno@clisp.org>
63308         Tests: Fix LOCALE_JA on MirBSD 10.
63309         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
63310         to an UTF-8 locale.
63311         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
63312         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63313         Reported by Eric Blake.
63315 2010-10-21  Bruno Haible  <bruno@clisp.org>
63317         nl_langinfo test: Avoid test failure on NetBSD 5.
63318         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
63319         Reported by Eric Blake.
63321 2010-10-21  Eric Blake  <eblake@redhat.com>
63323         c-stack: work around libsigsegv 2.8 bug
63324         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
63325         overflow on at least PowerPC64.
63327 2010-10-17  Bruno Haible  <bruno@clisp.org>
63329         userspec: Drop redundant file.
63330         * modules/userspec (Files): Remove lib/inttostr.h.
63332 2010-10-17  Bruno Haible  <bruno@clisp.org>
63334         nl_langinfo tests: Silence some warnings.
63335         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
63336         Reported by Jim Meyering.
63338 2010-10-17  Bruno Haible  <bruno@clisp.org>
63340         Make use of GCC's attribute __alloc_size__.
63341         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
63342         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
63343         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
63344         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
63345         __alloc_size__.
63346         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
63347         Suggested by Jim Meyering.
63349 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
63351         bootstrap: anchor .gitignore entries.
63352         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
63353         with...
63354         (insert_vc_ignore): ... this new function, which prepends `/' to
63355         all .gitignore entries before passing them to
63356         insert_sorted_if_absent.
63358 2010-10-16  Bruno Haible  <bruno@clisp.org>
63360         nextafter: Fix configure check.
63361         * modules/nextafter (configure.ac): Correct expected prototype.
63363 2010-10-16  Bruno Haible  <bruno@clisp.org>
63365         termios: Update documentation.
63366         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
63368 2010-10-16  Bruno Haible  <bruno@clisp.org>
63370         tests: Make them compile with TinyCC.
63371         * tests/test-strstr.c (main): Remove parentheses around array
63372         initializer.
63374 2010-10-15  Eric Blake  <eblake@redhat.com>
63376         ignore-value: make header idempotent
63377         * lib/ignore-value.h: Add double-inclusion guards.
63378         Reported by Stefan Berger.
63380 2010-10-15  Jim Meyering  <meyering@redhat.com>
63382         GNUmakefile: handle "stable" target, not "major"
63383         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
63384         lists in maint.mk and announce-gen.  Without this, "make stable"
63385         would fail to ensure that $(VERSION) is up to date.
63387 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
63389         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
63390         & co.
63392 2010-10-14  Bruno Haible  <bruno@clisp.org>
63394         vasnprintf: Don't set errno to 0.
63395         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
63396         block that sets it to 0.
63397         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
63399 2010-10-14  Bruno Haible  <bruno@clisp.org>
63401         socketlib: Fix.
63402         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
63403         gl_PREREQ_SYS_H_WINSOCK2.
63404         Reported by Ian Beckwith <ianb@erislabs.net>.
63406 2010-10-13  Jim Meyering  <meyering@redhat.com>
63408         test-select-stdin.c: avoid warn_unused_result warnings
63409         * tests/test-select-stdin.c: Include "macros.h".
63410         ASSERT that read and fflush succeed.
63412 2010-10-13  Jim Meyering  <meyering@redhat.com>
63414         git-version-gen: do require git-VC'd files in cwd
63415         * build-aux/git-version-gen: Reject a git version string
63416         if there are no commits associated with the current directory.
63417         This avoids an unlikely false-positive (unrelated dir whose parent
63418         repository also contains a tag matching v*), as pointed out
63419         by Giuseppe Scrivano in
63420         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
63422 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63424         argv-iter: omit nonconforming declaration
63425         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
63426         enum arg_iter_err declaration, which doesn't conform to C99.
63427         Solaris 10 cc warns about this.
63429 2010-10-13  Eric Blake  <eblake@redhat.com>
63431         termios: fix compilation on mingw
63432         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
63433         (gl_TERMIOS_H): Adjust it on mingw.
63434         * modules/termios (Makefile.am): Substitute new key.
63435         * lib/termios.in.h (includes): Make include_next conditional.
63436         * doc/posix-headers/termios.texi (termios.h): Update
63437         documentation.
63438         Reported by Daniel P. Berrange.
63440 2010-10-13  Jim Meyering  <meyering@redhat.com>
63442         git-version-gen: don't require that .git/ be in the current dir
63443         * build-aux/git-version-gen: Adjust this script so that it works
63444         when run from any working directory beneath the top-level .git/-
63445         containing directory.  Inspired by a patch from Giuseppe Scrivano,
63446         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
63448         test-select: avoid warn_unused_result warnings
63449         * tests/test-select.c: Include "macros.h".
63450         ASSERT that each call to read, write, and pipe succeeds.
63451         While not technically required, also check each "close".
63452         * modules/select-tests (Files): Add tests/macros.h.
63454         test-symlinkat: remove declaration of unused local
63455         * tests/test-symlinkat.c (main): Remove unused local, "buf".
63457         test-inttostr: avoid shadowing warnings
63458         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
63459         and use malloc rather than the stack for the same reason as
63460         mentioned in the comment justifying the other allocation.
63462 2010-10-11  Bruno Haible  <bruno@clisp.org>
63464         stdlib: Allow multiple gnulib generated replacements to coexist.
63465         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
63466         Reported by Sam Steingold <sds@gnu.org>.
63468 2010-10-11  Jim Meyering  <meyering@redhat.com>
63470         fix a documentation typo
63471         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
63473 2010-10-11  Eric Blake  <eblake@redhat.com>
63475         futimens: work around Solaris 11 bug
63476         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
63477         * tests/test-futimens.h (test_futimens): Enhance, rather than
63478         weaken test.
63479         * doc/posix-functions/futimens.texi (futimens): Document the bug.
63481 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63483         Indentation.
63484         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
63485         higher-level operators more to the left.
63487 2010-10-11  Jim Meyering  <meyering@redhat.com>
63489         test-futimens: avoid unwarranted test failure on Solaris 5.11
63490         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
63491         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
63492         because it tries to dereference the NULL name argument.
63494 2010-10-11  Bruno Haible  <bruno@clisp.org>
63496         Indentation.
63497         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
63498         indentation.
63500 2010-10-11  Jim Meyering  <meyering@redhat.com>
63502         spawn.in.h: make indentation consistent with parentheses
63503         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
63504         Make indentation consistent with parentheses.
63506 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
63508         Fix mismatched parens in previous commit
63509         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
63510         parens.
63512 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63514         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
63516         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
63517         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
63518         * lib/malloca.c: Include "verify.h".
63519         (verify1): Remove, replacing with a verify call.
63520         * lib/relocwrapper.c (verify1): Likewise.
63521         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
63522         Likewise.
63523         * modules/malloca (Depends-on): Add 'verify'.
63524         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
63525         * modules/vasnprintf (Depends-on): Add 'verify'.
63526         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63527         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63528         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63529         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63530         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63531         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63532         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63534         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
63536         Formerly the style was sometimes 2*X - 1, because the C standard
63537         was wrongly thought to disallow ?: in integral constant expressions.
63538         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
63539         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
63540         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
63541         * lib/stdint.in.h (_verify_intmax_size): Likewise.
63542         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
63543         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
63544         verify that time_t cannot be floating.
63546 2010-10-08  Eric Blake  <eblake@redhat.com>
63548         time: enforce recent POSIX ruling that time_t is integral
63549         * lib/time.in.h (__time_t_must_be_integral): Detect any
63550         problematic systems, allowing the rest of gnulib to assume POSIX.
63552 2010-10-08  Jim Meyering  <meyering@redhat.com>
63554         fdopendir: fix a bug on systems lacking openat and /proc support
63555         OpenBSD 4.7 is one such system.  The most noticeable effect was
63556         failure of any application making nontrivial use of fts: rm, du,
63557         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
63558           ./rm: traversal failed: `a': Bad file descriptor
63559         Debugging that, you see that even though FD 6 was closed just
63560         prior to the opendir call in fd_clone_opendir, its resulting
63561         dir->dd_fd was 8, rather than the expected value of 6:
63563         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
63564         93                close (fd);
63565         (gdb) n
63566         94                dir = fd_clone_opendir (dupfd);
63567         (gdb) n
63568         95                saved_errno = errno;
63569         (gdb) p dir->dd_fd
63570         $11 = 8
63572         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
63573         The problem is that on OpenBSD, fd_clone_opendir has to resort
63574         to using the old-style save/restore CWD mechanism, due to its
63575         lack of openat/proc support, and *that* would steal the FD (6)
63576         that opendir was supposed to use.
63578         The fix is to squirrel away the desired FD so that save_cwd uses a
63579         different one, and then free the dest FD right before calling opendir.
63580         That guarantees opendir will use the required file descriptor.
63582         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
63584 2010-10-08  Bruno Haible  <bruno@clisp.org>
63586         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
63587         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
63589 2010-10-08  Bruno Haible  <bruno@clisp.org>
63591         nanosleep: Make replacement POSIX compliant.
63592         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
63593         is out of range.
63594         Reported by Jim Meyering.
63596 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63598         bootstrap: add hook for altering gnulib.mk, for Bison
63599         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
63600         the Bison bootstrapping process can rewrite file names and variables
63601         in this file before later parts of 'bootstrap' use the file.
63602         Bison wants to include lib/gnulib.mk from the top-level makefile,
63603         so it needs the file names in this file to be relative to the top
63604         level, not relative to lib; plus it needs variable names to be
63605         rewritten.
63606         (slurp): Use the new function.
63608         bootstrap: reformat for readability
63609         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
63611 2010-10-08  Eric Blake  <eblake@redhat.com>
63613         docs: update cygwin progress
63614         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
63615         1.7.7.
63616         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
63617         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
63618         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
63619         * doc/posix-functions/carg.texi (carg): Likewise.
63620         * doc/posix-functions/cargf.texi (cargf): Likewise.
63621         * doc/posix-functions/casin.texi (casin): Likewise.
63622         * doc/posix-functions/casinf.texi (casinf): Likewise.
63623         * doc/posix-functions/casinh.texi (casinh): Likewise.
63624         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
63625         * doc/posix-functions/catan.texi (catan): Likewise.
63626         * doc/posix-functions/catanf.texi (catanf): Likewise.
63627         * doc/posix-functions/catanh.texi (catanh): Likewise.
63628         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
63629         * doc/posix-functions/ccos.texi (ccos): Likewise.
63630         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
63631         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
63632         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
63633         * doc/posix-functions/cexp.texi (cexp): Likewise.
63634         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
63635         * doc/posix-functions/cimag.texi (cimag): Likewise.
63636         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
63637         * doc/posix-functions/clog.texi (clog): Likewise.
63638         * doc/posix-functions/clogf.texi (clogf): Likewise.
63639         * doc/posix-functions/conj.texi (conj): Likewise.
63640         * doc/posix-functions/conjf.texi (conjf): Likewise.
63641         * doc/posix-functions/cpow.texi (cpow): Likewise.
63642         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
63643         * doc/posix-functions/cproj.texi (cproj): Likewise.
63644         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
63645         * doc/posix-functions/creal.texi (creal): Likewise.
63646         * doc/posix-functions/crealf.texi (crealf): Likewise.
63647         * doc/posix-functions/csin.texi (csin): Likewise.
63648         * doc/posix-functions/csinf.texi (csinf): Likewise.
63649         * doc/posix-functions/csinh.texi (csinh): Likewise.
63650         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
63651         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
63652         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
63653         * doc/posix-functions/ctan.texi (ctan): Likewise.
63654         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
63655         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
63656         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
63657         * doc/posix-headers/complex.texi (complex.h): Likewise.
63659 2010-10-07  Jim Meyering  <meyering@redhat.com>
63661         parse-datetime: avoid compilation failure on OpenBSD 4.7
63662         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
63663         This works around a compilation failure on OpenBSD 4.7:
63664         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
63666 2010-10-07  Eric Blake  <eblake@redhat.com>
63668         docs: update cygwin progress
63669         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
63670         1.7.6.
63671         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
63672         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
63673         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
63674         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
63675         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
63676         Likewise.
63677         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
63678         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
63679         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
63680         Likewise.
63681         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
63682         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
63683         Likewise.
63684         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
63685         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
63686         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
63687         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
63688         Likewise.
63689         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
63690         Likewise.
63691         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
63693         docs: update parse-datetime history
63694         * doc/parse-datetime.texi (Authors of parse_datetime): Better
63695         documentation of this function's history and alternatives.
63697         cygwin: use more robust version check
63698         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
63699         exclude an eventual cygwin 1.9.1.
63700         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63701         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
63702         (gl_FUNC_STRCASESTR): Likewise.
63703         Reported by Bruno Haible.
63705 2010-10-06  Bruno Haible  <bruno@clisp.org>
63707         string, sys_select: Avoid #including large headers unless necessary.
63708         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
63709         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
63710         OSF/1, BeOS, Haiku.
63711         Reported by Jim Meyering.
63713 2010-10-05  Eric Blake  <eblake@redhat.com>
63715         memmem, strstr, strcasestr: fix bug with long periodic needle
63716         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
63717         periodic needle having false positive.
63718         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
63719         and cygwin 1.7.7.
63720         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
63721         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
63722         (gl_FUNC_STRCASESTR): Likewise.
63723         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63724         * tests/test-memmem.c (main): Expose the bug.
63725         * tests/test-strcasestr.c (main): Likewise.
63726         * tests/test-strstr.c (main): Likewise.
63727         * tests/test-c-strcasestr.c (main): Likewise.
63728         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
63729         * doc/posix-functions/strstr.texi (strstr): Likewise.
63730         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
63731         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
63733 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63735         parse-datetime: do some more renaming
63736         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
63737         parse_datetime, not get_date.  Mention the renaming.
63738         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
63739         in comments.
63740         * m4/bison.m4: Likewise.
63742 2010-10-05  Eric Blake  <eblake@redhat.com>
63744         parse-datetime: better name than get_date
63745         * NEWS: Reword the deprecation notice.
63746         * modules/get_date: Rename to modules/parse-datetime.
63747         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
63748         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
63749         * lib/get_date.y: Rename to lib/parse-datetime.y.
63750         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
63751         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
63752         * doc/getdate.texi: Provide fallback wrapper.
63753         * lib/getdate.h: Move guts, and wrap...
63754         * lib/parse-datetime.h: ...new file.
63755         * lib/parse-datetime.y (get_date): Rename...
63756         (parse_datetime): ...to this.
63757         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
63758         (gl_PARSE_DATETIME): ...to this.
63759         * doc/posix-functions/getdate.texi (get_date): Provide fallback
63760         documentation.
63761         * modules/getdate (Files): Provide fallback docs and header.
63762         (Notice, Depends-on): Update references.
63763         * tests/test-parse-datetime.c: Likewise.
63764         * DEPENDENCIES: Likewise.
63765         * MODULES.html.sh (Date and time <time.h>): Likewise.
63766         * doc/parse-datetime.texi (Date input formats)
63767         (Authors of parse_datetime): Likewise.
63768         * modules/parse-datetime (Files, configure.ac, Makefile.am)
63769         (Include): Likewise.
63770         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
63771         * gnulib-tool: Likewise.
63772         * m4/bison.m4 (gl_BISON): Likewise.
63773         Suggested by Bruno Haible.
63775 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63777         more ports to Solaris tr, which needs [] around ranges
63778         * gnulib-tool: Solaris tr needs [] around ranges.
63779         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
63780         * tests/test-pipe-filter-gi1.c (main): Likewise.
63781         * tests/test-pipe-filter-ii1.c (main): Likewise.
63783 2010-10-05  Eric Blake  <eblake@redhat.com>
63785         bootstrap: fix Solaris regression
63786         * build-aux/bootstrap (check_versions): Solaris tr still needs []
63787         around ranges.
63788         Reported by Pádraig Brady.
63790         bootstrap: work with pkg-config
63791         * build-aux/bootstrap (check_versions): Also transliterate - in
63792         prerequisite name.
63793         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
63794         prerequisites that were already found, to avoid confusion.
63795         Reported by Justin Clift.
63797         faccessat: remove unused wrappers
63798         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
63799         presence of these wrappers dragged in -lgen on Solaris.
63800         Reported by Clemens Brogi; fix suggested by Paul Eggert.
63802 2010-10-05  Jim Meyering  <meyering@redhat.com>
63804         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
63805         * Makefile (sc_pragma_columns): New syntax-check rule.
63807 2010-10-04  Bruno Haible  <bruno@clisp.org>
63809         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
63810         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
63811         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
63812         Reported by Bruce Korb and Eric Blake.
63814 2010-10-04  Bruno Haible  <bruno@clisp.org>
63816         threadlib: Make option --with-libpth-prefix work.
63817         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
63818         use $LIBPTH, not just -lpth.
63820 2010-10-04  Bruno Haible  <bruno@clisp.org>
63822         Avoid line length limitation from HP NonStop system header files.
63823         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
63824         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
63825         * lib/ctype.in.h: Likewise.
63826         * lib/dirent.in.h: Likewise.
63827         * lib/errno.in.h: Likewise.
63828         * lib/fcntl.in.h: Likewise.
63829         * lib/float.in.h: Likewise.
63830         * lib/getopt.in.h: Likewise.
63831         * lib/iconv.in.h: Likewise.
63832         * lib/inttypes.in.h: Likewise.
63833         * lib/langinfo.in.h: Likewise.
63834         * lib/locale.in.h: Likewise.
63835         * lib/math.in.h: Likewise.
63836         * lib/netdb.in.h: Likewise.
63837         * lib/netinet_in.in.h: Likewise.
63838         * lib/poll.in.h: Likewise.
63839         * lib/pthread.in.h: Likewise.
63840         * lib/pty.in.h: Likewise.
63841         * lib/sched.in.h: Likewise.
63842         * lib/se-selinux.in.h: Likewise.
63843         * lib/search.in.h: Likewise.
63844         * lib/signal.in.h: Likewise.
63845         * lib/spawn.in.h: Likewise.
63846         * lib/stdarg.in.h: Likewise.
63847         * lib/stddef.in.h: Likewise.
63848         * lib/stdint.in.h: Likewise.
63849         * lib/stdio.in.h: Likewise.
63850         * lib/stdlib.in.h: Likewise.
63851         * lib/string.in.h: Likewise.
63852         * lib/strings.in.h: Likewise.
63853         * lib/sys_file.in.h: Likewise.
63854         * lib/sys_ioctl.in.h: Likewise.
63855         * lib/sys_select.in.h: Likewise.
63856         * lib/sys_socket.in.h: Likewise.
63857         * lib/sys_stat.in.h: Likewise.
63858         * lib/sys_time.in.h: Likewise.
63859         * lib/sys_times.in.h: Likewise.
63860         * lib/sys_utsname.in.h: Likewise.
63861         * lib/sys_wait.in.h: Likewise.
63862         * lib/sysexits.in.h: Likewise.
63863         * lib/termios.in.h: Likewise.
63864         * lib/time.in.h: Likewise.
63865         * lib/unistd.in.h: Likewise.
63866         * lib/wchar.in.h: Likewise.
63867         * lib/wctype.in.h: Likewise.
63868         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
63869         * modules/ctype (Makefile.am): Likewise.
63870         * modules/dirent (Makefile.am): Likewise.
63871         * modules/errno (Makefile.am): Likewise.
63872         * modules/fcntl-h (Makefile.am): Likewise.
63873         * modules/float (Makefile.am): Likewise.
63874         * modules/getopt-posix (Makefile.am): Likewise.
63875         * modules/iconv-h (Makefile.am): Likewise.
63876         * modules/inttypes (Makefile.am): Likewise.
63877         * modules/langinfo (Makefile.am): Likewise.
63878         * modules/locale (Makefile.am): Likewise.
63879         * modules/math (Makefile.am): Likewise.
63880         * modules/netdb (Makefile.am): Likewise.
63881         * modules/netinet_in (Makefile.am): Likewise.
63882         * modules/poll-h (Makefile.am): Likewise.
63883         * modules/pthread (Makefile.am): Likewise.
63884         * modules/pty (Makefile.am): Likewise.
63885         * modules/sched (Makefile.am): Likewise.
63886         * modules/search (Makefile.am): Likewise.
63887         * modules/selinux-h (Makefile.am): Likewise.
63888         * modules/signal (Makefile.am): Likewise.
63889         * modules/spawn (Makefile.am): Likewise.
63890         * modules/stdarg (Makefile.am): Likewise.
63891         * modules/stddef (Makefile.am): Likewise.
63892         * modules/stdint (Makefile.am): Likewise.
63893         * modules/stdio (Makefile.am): Likewise.
63894         * modules/stdlib (Makefile.am): Likewise.
63895         * modules/string (Makefile.am): Likewise.
63896         * modules/strings (Makefile.am): Likewise.
63897         * modules/sys_file (Makefile.am): Likewise.
63898         * modules/sys_ioctl (Makefile.am): Likewise.
63899         * modules/sys_select (Makefile.am): Likewise.
63900         * modules/sys_socket (Makefile.am): Likewise.
63901         * modules/sys_stat (Makefile.am): Likewise.
63902         * modules/sys_time (Makefile.am): Likewise.
63903         * modules/sys_times (Makefile.am): Likewise.
63904         * modules/sys_utsname (Makefile.am): Likewise.
63905         * modules/sys_wait (Makefile.am): Likewise.
63906         * modules/sysexits (Makefile.am): Likewise.
63907         * modules/termios (Makefile.am): Likewise.
63908         * modules/time (Makefile.am): Likewise.
63909         * modules/unistd (Makefile.am): Likewise.
63910         * modules/wchar (Makefile.am): Likewise.
63911         * modules/wctype (Makefile.am): Likewise.
63913 2010-10-04  Bruno Haible  <bruno@clisp.org>
63915         read-file tests: Avoid a test failure on NonStop Kernel.
63916         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
63917         a regular file.
63918         Reported by Joachim Schmitz <schmitz@hp.com>.
63920 2010-10-03  Bruno Haible  <bruno@clisp.org>
63922         gnulib-tool: Fixes for --create-testdir with --libtool.
63923         * gnulib-tool (func_get_automake_snippet): Don't augment
63924         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
63925         an executable.
63926         (func_create_testdir): Handle module 'alloca' like func_import.
63927         Reported by Bruce Korb <bruce.korb@gmail.com>.
63929 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
63931         Avoid some lines longer than 80 characters.
63932         * lib/stdint.in.h: Break long comment lines.
63933         * lib/math.in.h: Likewise.
63934         (_GL_NUM_UINT_WORDS): New macro, for readability.
63935         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
63936         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
63937         * lib/stdlib.in.h: Likewise.
63938         * lib/spawn.in.h: Likewise.
63939         * lib/sys_socket.in.h: Update an URL.
63940         * lib/sys_stat.in.h: Break long line.
63942 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
63944         Improve pmccabe2html.
63945         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
63946         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
63947         when the sources change. Remove the line in the HTML about "Used
63948         ranges" (which implied that there might be other unused ranges),
63949         rename "Resume" to "Summary" (easier to understand for more users).
63950         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
63951         styles, and some unnecessary blank lines.
63953 2010-10-03  Bruno Haible  <bruno@clisp.org>
63954             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
63956         acl: Add support for ACLs on NonStop Kernel.
63957         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
63958         Check whether the function aclsort() exists.
63959         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
63960         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
63961         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
63962         (acl_nontrivial [HAVE_ACLSORT]: New function.
63963         (file_has_acl): Implement for NonStop Kernel.
63964         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
63965         (qset_acl): Implement for NonStop Kernel.
63966         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
63967         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
63968         (main): Implement for NonStop Kernel.
63969         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
63970         Kernel. Handle this flavor.
63971         * tests/test-set-mode-acl.sh: Likewise.
63972         * tests/test-copy-acl.sh: Likewise.
63973         * tests/test-copy-file.sh: Likewise.
63975 2010-10-03  Bruno Haible  <bruno@clisp.org>
63977         Info about ACLs on NonStop Kernel.
63978         * doc/acl-resources.txt: Add info about NonStop Kernel.
63979         References by Joachim Schmitz <schmitz@hp.com>.
63981 2010-10-02  Bruno Haible  <bruno@clisp.org>
63983         Define missing EDQUOT on NonStop Kernel.
63984         * lib/errno.in.h (EDQUOT): Assign a value if missing.
63985         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
63986         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
63987         missing.
63988         * doc/posix-headers/errno.texi: Mention the NSK bug.
63989         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
63990         Reported by Joachim Schmitz <schmitz@hp.com>.
63992 2010-10-02  Bruno Haible  <bruno@clisp.org>
63994         Update doc for POSIX:2008.
63995         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
63996         Update URL of POSIX specification.
63998 2010-10-02  Bruno Haible  <bruno@clisp.org>
64000         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
64001         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
64002         from gnulib, not from Automake.
64004 2010-10-02  Bruno Haible  <bruno@clisp.org>
64006         New module 'system-posix'.
64007         * modules/system-posix: New file.
64008         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
64009         module is present.
64010         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64011         GNULIB_SYSTEM_POSIX.
64012         * modules/stdlib (Depends-on): Remove sys_wait.
64013         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
64014         * doc/posix-functions/system.texi: Mention the new module.
64015         * doc/posix-headers/stdlib.texi: Likewise.
64016         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
64017         define test_sys_wait_macros to a no-op.
64018         Reported by Sam Steingold <sds@gnu.org>.
64020 2010-09-30  Bruno Haible  <bruno@clisp.org>
64022         More renaming from 'getdate' to 'get_date'.
64023         * doc/get_date.texi: Renamed from doc/getdate.texi.
64024         * modules/get_date (Files): Update.
64025         * MODULES.html.sh (Date and time <time.h>): Update.
64026         * DEPENDENCIES: Update.
64027         * gnulib-tool: Update comment.
64028         * m4/bison.m4 (gl_BISON): Likewise.
64029         * m4/get_date.m4 (gl_GET_DATE): Likewise.
64031 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
64033         bootstrap: support ACLOCAL_FLAGS during aclocal
64034         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
64035         can add additional -I dir for third-party .m4 files.
64037 2010-09-30  Eric Blake  <eblake@redhat.com>
64039         bootstrap: use glibtoolize on MacOS
64040         * build-aux/bootstrap (check_versions): Convert libtool into
64041         libtoolize.
64042         (tool search): Move libtool check earlier, and look for
64043         glibtoolize for MacOS.
64044         (gnulib_tool_options): Auto-add --libtool when appropriate.
64045         Reported by Justin Clift.
64047         poll: fix typo that broke test on MacOS
64048         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
64049         Reported by Justin Clift.
64051         getdate: rename to get_date
64052         Note: getdate.h is not renamed, to minimize client impact.
64053         * modules/getdate: Mark obsolete.  Move old contents...
64054         * modules/get_date: ...to new module name.
64055         * modules/getdate-tests: Move...
64056         * modules/get_date-tests: ...here.
64057         * m4/getdate.m4: Move...
64058         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
64059         * lib/getdate.y: Move...
64060         * lib/get_date.y: ...here.
64061         * tests/test-getdate.c: Move...
64062         * tests/test-get_date.c: ...here.
64063         * doc/posix-functions/getdate.texi (getdate): Update name.
64064         * NEWS: Mention the change.
64066 2010-09-29  Bruno Haible  <bruno@clisp.org>
64068         Separate the module 'waitpid' from the module 'sys_wait'.
64069         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
64070         present.
64071         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
64072         gl_MODULE_INDICATOR_FOR_TESTS.
64073         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
64074         * modules/sys_wait (Depends-on): Remove waitpid.
64075         (Makefile.am): Substitute GNULIB_WAITPID.
64076         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
64077         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
64078         signature only if the 'waitpid' module is present.
64079         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
64080         * NEWS: Mention the change.
64081         * modules/grantpt (Depends-on): Add waitpid.
64082         * modules/wait-process (Depends-on): Likewise.
64084 2010-09-29  Bruno Haible  <bruno@clisp.org>
64086         More tests for module 'sys_wait'.
64087         * modules/sys_wait-c++-tests: New file.
64088         * tests/test-sys_wait-c++.cc: New file.
64089         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
64090         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64092 2010-09-29  Bruno Haible  <bruno@clisp.org>
64094         New module 'waitpid'.
64095         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
64096         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
64097         Don't include <process.h>.
64098         (waitpid): Declare only, using modern idiom.
64099         * m4/waitpid.m4: New file.
64100         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
64101         * modules/waitpid: New file.
64102         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
64103         (Makefile.am): Update.
64104         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64106 2010-09-28  Bruno Haible  <bruno@clisp.org>
64108         poll: Assume ANSI C.
64109         * lib/poll.c (poll): Use an ANSI C declaration.
64111 2010-09-28  Bruno Haible  <bruno@clisp.org>
64113         poll-h: Create poll.h on all platforms.
64114         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
64115         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
64116         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
64117         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
64118         (gl_REPLACE_POLL_H): Don't set POLL_H.
64119         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
64120         * modules/poll-h (Depends-on): Add include_next.
64121         (Makefile.am): Create poll.h unconditionally. Substitute also
64122         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
64124 2010-09-28  Bruno Haible  <bruno@clisp.org>
64126         Tests for module 'poll-h'.
64127         * modules/poll-h-c++-tests: New file.
64128         * tests/test-poll-h-c++.cc: New file.
64130         Tests for module 'poll-h'.
64131         * modules/poll-h-tests: New file.
64132         * tests/test-poll-h.c: New file.
64134 2010-09-28  Bruno Haible  <bruno@clisp.org>
64136         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
64137         * modules/poll-h (Depends-on): Add 'extensions'.
64139 2010-09-28  Bruno Haible  <bruno@clisp.org>
64141         New module 'poll-h'.
64142         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
64143         (poll): Use modern idiom.
64144         * modules/poll-h: New file.
64145         * modules/poll (Files): Remove lib/poll.in.h.
64146         (Depends-on): Add poll-h.
64147         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
64148         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
64149         * m4/poll_h.m4: New file.
64150         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
64151         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
64152         and invoke gl_REPLACE_POLL_H.
64153         * lib/poll.c: Use common idiom.
64154         * tests/test-poll.c: Likewise.
64155         * doc/posix-headers/poll.texi: Mention the poll-h module.
64156         Suggested by Eric Blake.
64158 2010-09-26  Bruno Haible  <bruno@clisp.org>
64160         sys_wait: Implement WSTOPSIG.
64161         * lib/sys_wait.in.h (WSTOPSIG): New macro.
64162         Reported by Simon Josefsson.
64164 2010-09-26  Simon Josefsson  <simon@josefsson.org>
64166         stdlib, sys_wait: Avoid compilation error on mingw.
64167         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
64169 2010-09-26  Bruno Haible  <bruno@clisp.org>
64171         stdlib tests: Avoid code duplication.
64172         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
64173         * modules/sys_wait-tests (Files): Likewise.
64174         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
64175         * tests/test-stdlib.c: Include test-sys_wait.h.
64176         (main): Invoke test_sys_wait_macros.
64177         * tests/test-sys_wait.c: Include test-sys_wait.h.
64178         (main): Invoke test_sys_wait_macros.
64180 2010-09-25  Simon Josefsson  <simon@josefsson.org>
64182         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
64183         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
64184         sure Windows sockets are working before calling getaddrinfo.
64185         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
64186         * doc/gnulib.texi (Windows sockets): Fix typo.
64188 2010-09-25  Bruno Haible  <bruno@clisp.org>
64190         Tests for module 'regex-quote'.
64191         * modules/regex-quote-tests: New file.
64192         * tests/test-regex-quote.c: New file.
64194         New module 'regex-quote'.
64195         * lib/regex-quote.h: New file.
64196         * lib/regex-quote.c: New file.
64197         * modules/regex-quote: New file.
64198         Suggested by Reuben Thomas <rrt@sc3d.org>.
64200 2010-09-24  Bruno Haible  <bruno@clisp.org>
64202         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
64203         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
64205 2010-09-23  Bruno Haible  <bruno@clisp.org>
64207         setenv: Relax license.
64208         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
64209         Blake.
64210         Requested by Eric Blake.
64212 2010-09-22  Bruno Haible  <bruno@clisp.org>
64214         termios: Relax license.
64215         * modules/termios (License): Change to LGPLv2+.
64216         Requested by Eric Blake.
64218 2010-09-22  Bruno Haible  <bruno@clisp.org>
64220         threadlib: Allow the package to change the default to 'no'.
64221         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
64222         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
64223         Reported by Paul Eggert.
64225 2010-09-22  Pádraig Brady  <P@draigbrady.com>
64226             Bruno Haible  <bruno@clisp.org>
64228         Fix endless loop in mbmemcasecoll.
64229         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
64230         byte.
64231         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
64233 2010-09-22  Bruno Haible  <bruno@clisp.org>
64235         Tests for module 'memcoll'.
64236         * modules/memcoll-tests: New file.
64237         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
64239         memcoll, xmemcoll: Clarify size vs. length.
64240         * modules/memcoll.c (memcoll0): Clarify specification.
64241         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
64242         passed to collate_error.
64244 2010-09-22  Bruno Haible  <bruno@clisp.org>
64246         Tests for module 'memcasecmp'.
64247         * modules/memcasecmp-tests: New file.
64248         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
64250 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64252         * lib/pthread.in.h: Add split double-inclusion guard, and include
64253         system <pthread.h> if there is one.  Use @@-style as in other
64254         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
64255         pthread.h doesn't.
64256         (pthread_mutexattr_destroy, pthread_mutexattr_init):
64257         (pthread_mutexattr_settype, pthread_mutex_trylock):
64258         New static inline functions, if there's no system <pthread.h>.
64259         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
64260         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
64261         Approximate with mutexes if the system lacks spinlocks, as in
64262         MacOS.
64263         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
64264         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
64265         @@-style.  Check for spinlocks separately.
64266         (gl_PTHREAD_DEFAULTS): New macro.
64267         * modules/pthread: Redo to use a more typical style for in.h files.
64269 2010-09-21  Eric Blake  <eblake@redhat.com>
64271         net_if: enhance tests
64272         * tests/test-net_if.c (main): Move signature checks earlier.
64273         Print failures to stderr.
64274         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
64275         Document the bug that we do not yet fix.
64277 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64279         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
64280         about gnulib, not GSS.
64282 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64284         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
64285         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
64286         for Emacs.
64287         * build-aux/pmccabe2html: Make Makefile.am example code more
64288         cut-and-paste friendly.
64290 2010-09-21  Simon Josefsson  <simon@josefsson.org>
64292         * tests/test-net_if.c: New file.
64293         * modules/net_if-tests: New file.
64295 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64297         pthread: add pthread_spin_destroy
64298         * lib/pthread.in.h (pthread_spin_destroy): New function.
64300 2010-09-19  Bruno Haible  <bruno@clisp.org>
64302         gnulib-tool: Fix --help output.
64303         * gnulib-tool (func_usage): Fix help message.
64304         Reported by Reuben Thomas <rrt@sc3d.org>.
64306 2010-09-18  Jim Meyering  <meyering@redhat.com>
64308         maint.mk: avoid unexpanded \n in two diagnostics
64309         * top/maint.mk (sc_prohibit_always_true_header_tests):
64310         Don't use a literal \n in a halt=... assignment.  It would not be
64311         expanded, and the two \n bytes would appear in the diagnostic output
64312         rather than the desired newline.  Use halt=$$(printf ... instead.
64313         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
64315 2010-09-18  Bruno Haible  <bruno@clisp.org>
64317         netinet_in: Doc tweak.
64318         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
64319         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64321 2010-09-18  Jim Meyering  <meyering@redhat.com>
64323         init.sh: correct an outdated comment
64324         * tests/init.sh (create_exe_shims_):  s/function/alias/
64326         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
64327         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
64328         a file named "*.exe" is removed between the glob expansion and the
64329         processing of that oddly named file.
64331 2010-09-17  Eric Blake  <eblake@redhat.com>
64333         mirbsd: add some more support
64334         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
64335         in BSD family.
64336         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
64337         devices as OpenBSD.
64338         * m4/host-os.m4 (mirbsd): Add MirBSD.
64340         tests: fix unportable assumption on sys/wait.h
64341         * tests/test-sys_wait.c (main): Relax test.
64342         * tests/test-stdlib.c (main): Likewise.
64344         init.sh: accommodate directory with no .exes
64345         * tests/init.sh: Accomodate directory containing only scripts.
64347         tests: avoid compiler warning
64348         * tests/test-stdlib.c (main): Use the variable.
64350         fdutimens, fdutimensat: update signature, again
64351         * lib/utimens.h (gl_futimens): Delete, and move signature...
64352         (fdutimens): ...here.
64353         (fdutimensat): Rearrange signature.
64354         (lutimensat): Rename variable for clarity.
64355         * lib/fdutimensat.c (fdutimensat): Update signature.
64356         * lib/utimens.c (fdutimens): Likewise.
64357         (gl_futimens): Delete.
64358         (utimens, lutimens): Update callers.
64359         * lib/futimens.c (futimens): Likewise.
64360         * tests/test-fdutimensat.c: Likewise.
64361         * tests/test-utimens.c: Likewise.
64362         * tests/test-futimens.h: Update comment.
64363         * NEWS: Mention this.
64364         Suggested by Paul Eggert.
64366 2010-09-17  Bruno Haible  <bruno@clisp.org>
64368         Take over the maintenance of some older macros from Autoconf.
64369         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
64370         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
64371         GNU Autoconf.
64372         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
64373         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
64375 2010-09-17  Eric Blake  <eblake@redhat.com>
64377         fdutimensat: drop atflag validation
64378         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
64379         with valid fd, to close a race scenario where futimens is
64380         unsupported and FILE was replaced by a symlink.
64381         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
64382         accordingly.
64383         Suggested by Paul Eggert.
64385 2010-09-16  Bruno Haible  <bruno@clisp.org>
64387         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
64388         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
64390 2010-09-16  Bruno Haible  <bruno@clisp.org>
64392         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
64393         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
64394         login_tty exists.
64395         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64397 2010-09-16  Bruno Haible  <bruno@clisp.org>
64399         login_tty: Make the replacement code work on BSD systems.
64400         * lib/login_tty.c: Include <sys/ioctl.h>.
64401         (login_tty): Use ioctl TIOCSCTTY when available.
64402         * modules/login_tty (Depends-on): Add sys_ioctl.
64403         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64405 2010-09-16  Bruno Haible  <bruno@clisp.org>
64407         login_tty: Stricter unit test.
64408         * modules/login_tty-tests (Depends-on): Add tcgetsid.
64409         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
64410         and tcgetsid() after login_tty.
64411         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64413 2010-09-16  Bruno Haible  <bruno@clisp.org>
64415         New module 'tcgetsid'.
64416         * lib/tcgetsid.c: New file.
64417         * m4/tcgetsid.m4: New file.
64418         * modules/tcgetsid: New file.
64419         * modules/termios (Depends-on): Add c++defs, warn-on-use.
64420         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
64421         GNULIB_TCGETSID, HAVE_TCGETSID.
64422         * lib/termios.in.h: Include <sys/types.h>.
64423         (tcgetsid): New declaration.
64424         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
64425         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
64426         * doc/posix-functions/tcgetsid.texi: Mention the new module.
64427         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
64429 2010-09-16  Bruno Haible  <bruno@clisp.org>
64431         Tests for module 'termios'.
64432         * modules/termios-c++-tests: New file.
64433         * modules/termios-tests: New file.
64434         * tests/test-termios-c++.cc: New file.
64435         * tests/test-termios.c: New file.
64437         New module 'termios'.
64438         * modules/termios: New file.
64439         * lib/termios.in.h: New file.
64440         * m4/termios_h.m4: New file.
64441         * doc/posix-headers/termios.texi: Mention the new module.
64443 2010-09-16  Eric Blake  <eblake@redhat.com>
64445         fdutimensat: add an atflag parameter
64446         * lib/fdutimensat.c (fdutimensat): Add new parameter.
64447         * lib/utimens.h (fdutimensat): Update prototype.
64448         * tests/test-fdutimensat.c: Adjust test to match.
64449         * NEWS: Document the change.
64450         Suggested by Paul Eggert.
64452 2010-09-16  Bruno Haible  <bruno@clisp.org>
64454         Fix typos in comments.
64455         * lib/striconveh.h: Fix typo in comment.
64456         * lib/login_tty.c (login_tty): Likewise.
64458 2010-09-15  Bruno Haible  <bruno@clisp.org>
64460         stdlib: clarify MirBSD WEXITSTATUS bug
64461         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
64462         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64464 2010-09-15  Eric Blake  <eblake@redhat.com>
64466         stdlib: work around MirBSD WEXITSTATUS bug
64467         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
64468         * modules/stdlib (Depends-on): Add sys_wait.
64469         * tests/test-sys_wait.c (main): Enhance test.
64470         * tests/test-stdlib.c (main): Likewise.
64471         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
64473         docs: mention MacOS issue with WEXITSTATUS(constant)
64474         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
64475         issue.
64476         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64478         strnlen: add tests
64479         * modules/strnlen-tests: New file.
64480         * tests/test-strnlen.c: Likewise.
64482 2010-09-14  Bruno Haible  <bruno@clisp.org>
64484         unistr/base: Avoid link errors when module 'libunistring' is also used.
64485         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
64486         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
64487         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
64488         Declare also when HAVE_LIBUNISTRING is set.
64489         Reported by Pádraig Brady <P@draigbrady.com>.
64491 2010-09-14  Eric Blake  <eblake@redhat.com>
64493         test-rawmemchr: make more robust
64494         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
64495         (Depends-on, configure.ac): Add needed prerequisites to use it.
64496         * modules/memchr-tests (Files, Depends-on, configure.ac):
64497         Likewise, to avoid implicit reliance on memchr module prereqs.
64498         * tests/test-memchr.c (main): Ensure proper masking.
64499         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
64500         reads.
64502         memchr: detect glibc Alpha bug
64503         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
64504         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
64505         Alpha.
64506         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
64507         * tests/test-memchr.c (main): Enhance test.
64508         Reported by Nelson H. F. Beebe.
64510 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64512         fts, getcwd, glob: audit for dirfd returning -1
64513         * lib/fts.c (opendir): Remove #define; no longer used.
64514         (opendirat): New arg PDIR_FD.  All callers changed.
64515         (fts_build, _opendir2): Use new opendirat to avoid the need for
64516         dirfd, or for checking whether dirfd returns a negative value.
64517         Don't use opendir; always use openat followed by fdopendir.
64518         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
64519         it.
64520         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
64521         returns -1 here.
64522         * modules/fts (Depends-on): Remove dirfd.
64523         * modules/getcwd (Depends-on): Likewise.
64525 2010-09-13  Eric Blake  <eblake@redhat.com>
64527         float: fix broken MirBSD header
64528         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
64529         * doc/posix-headers/float.texi (float.h): Document it.
64531 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64533         fts: use O_NOFOLLOW to avoid race condition when opening a directory
64534         * lib/fts.c (opendirat): New arg extra_flags.
64535         (__opendir2): Use it to avoid following symlinks when opening
64536         a directory, if symlinks are not supposed to be followed.  See
64537         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
64539         fdopendir: preserve argument fd before returning
64540         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
64541         (fdopendir_with_dup, fd_clone_opendir): New static functions.
64542         (fdopendir): Use them, arranging for FD to be open to the same
64543         directory that it was when it started.  (It might be temporarily
64544         closed while fdopendir is running, so this not thread- or
64545         signal-safe.)  Be careful to do the right thing even when file
64546         descriptors are scarce and dup fails with errno == EMFILE.  See
64547         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
64549 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
64551         regex: Pass the system regex if its only problem is 32-bit regoff_t.
64552         * NEWS: Document change.
64553         * m4/regex.m4: Disable test for regoff_t size.
64555 2010-09-13  Jim Meyering  <meyering@redhat.com>
64557         fts: don't operate on an invalid file descriptor after failed dup
64558         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
64559         negative file descriptor.
64561 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64563         savedir: add streamsavedir, deprecate fdsavedir
64564         * NEWS: Mention deprecation of fdsavedir.
64565         * lib/savedir.c (streamsavedir): New extern function, whose name
64566         ends in "savedir" to be consistent with the others.  This differs
64567         from savedirstream in that it doesn't close its argument.  The
64568         next version of GNU tar will use this instead of fdsavedir, to
64569         avoid some race conditions and conserve file descriptors.
64570         (savedirstream): Reimplement as a wrapper around streamsavedir.
64571         (fdsavedir): Add a comment deprecating this function.  As far as
64572         I know, only GNU tar used it, and GNU tar doesn't need it any more.
64573         * lib/savedir.h (streamsavedir): New decl.
64574         (fdsavedir): Add a comment deprecating this.
64576 2010-09-10  Bruno Haible  <bruno@clisp.org>
64578         langinfo: Fix last commit.
64579         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
64580         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
64581         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64583 2010-09-10  Bruno Haible  <bruno@clisp.org>
64585         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
64586         * lib/progreloc.c (O_EXEC): Define fallback.
64588 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
64590         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
64591         * NEWS: Document recent changes to fcntl-h.
64592         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
64593         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
64594         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
64595         Similarly for O_SEARCH; this last was already true, but not documented.
64596         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
64597         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
64598         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
64599         Likewise.
64600         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
64601         is zero, not whether it is defined.
64602         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
64603         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
64604         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
64606 2010-09-10  Bruno Haible  <bruno@clisp.org>
64608         langinfo, nl_langinfo: Fix for IRIX 5.3.
64609         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
64610         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
64611         HAVE_LANGINFO_YESEXPR.
64612         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
64613         HAVE_LANGINFO_YESEXPR.
64614         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
64615         HAVE_LANGINFO_T_FMT_AMPM is 0.
64616         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
64617         HAVE_LANGINFO_YESEXPR is 0.
64618         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
64619         NOEXPR.
64620         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
64621         * doc/posix-functions/nl_langinfo.texi: Likewise.
64622         Reported by Eric Blake.
64624 2010-09-10  Bruno Haible  <bruno@clisp.org>
64626         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
64627         * doc/glibc-functions/login_tty.texi: Mention the include file problem
64628         on FreeBSD 8.0 and OpenBSD 4.6.
64629         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
64630         * m4/pty_h.m4 (gl_PTY_H): Likewise.
64631         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
64632         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
64633         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
64634         ac_includes_default.
64635         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64637 2010-09-09  Eric Blake  <eblake@redhat.com>
64639         strsignal: work around NetBSD bug
64640         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
64641         * lib/string.in.h (includes): Likewise.
64642         * doc/posix-functions/strsignal.texi (strsignal): Document the
64643         bug.
64644         Reported by Nelson H. F. Beebe.
64646         gnulib-tool: work with NetBSD /bin/sh
64647         * gnulib-tool (func_cache_var, func_cache_lookup_module)
64648         (func_get_description, func_get_comment, func_get_status)
64649         (func_get_notice, func_get_applicability, func_get_filelist)
64650         (func_get_dependencies, func_get_autoconf_early_snippet)
64651         (func_get_autoconf_snippet, func_get_automake_snippet)
64652         (func_get_include_directive, func_get_link_directive)
64653         (func_get_license, func_get_maintainer, func_import): Avoid
64654         shell syntax errors from parsing syntax extensions.
64656 2010-09-09  Bruno Haible  <bruno@clisp.org>
64658         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
64659         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
64660         a reliable way to determine whether the 'alias' command works.
64662 2010-09-08  Jim Meyering  <meyering@redhat.com>
64664         init.sh: penalize a set-x-impaired shell; don't disqualify it
64665         * tests/init.sh: Too many shells corrupt application stderr when
64666         you set -x, so we can't afford to disqualify them, since at least
64667         on Irix-6.5, that would disqualify all bourne shells.
64668         Instead, use a two-pass approach.
64669         On the first pass, try to find a shell that meets the stricter
64670         condition that set -x does not corrupt stderr.
64671         If no shell meets the stricter condition, retest each candidate
64672         shell, but without that extra condition.  Finally, when
64673         VERBOSE=yes is requested and set -x might cause trouble, simply
64674         issue a warning and refrain from enabling debug output.
64676 2010-09-08  Eric Blake  <eblake@redhat.com>
64678         unsetenv: fix OpenBSD bug
64679         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
64680         * doc/posix-functions/unsetenv.texi (unsetenv): Update
64681         documentation.
64682         Reported by Jim Meyering.
64684         strtod: work around IRIX 6.5 bug
64685         * lib/strtod.c (strtod): Reparse number on shorter string if
64686         exponent parse was invalid.
64687         * tests/test-strtod.c (main): Add check for "0x1p 2".
64688         Reported by Tom G. Christensen.
64690         getopt: optimize previous patch
64691         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
64692         empty variable.  Speed up awk script.
64693         Reported by Paolo Bonzini.
64695 2010-09-08  Jim Meyering  <meyering@redhat.com>
64697         test.sh: disqualify shells for which set -x corrupts stderr
64698         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
64699         and OpenBSD 4.7.  They make it so with "set -x", environment settings
64700         appear in stderr output.  For example, this command:
64701             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
64702         prints "P=1" on those two systems:
64704 2010-09-08  Bruno Haible  <bruno@clisp.org>
64706         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
64707         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
64708         commands, because some shells ignore redirections when there is an
64709         error in the command lookup.
64710         Reported by Eric Blake.
64712 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
64714         * lib/regex.h: Fix a mention of `regex_compile' (should be
64715         `re_compile_pattern').
64716         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
64717         (re_set_registers): Correct name of parameter in comment.
64719         * doc/regex.texi: Add documentation for missing syntax flags.
64720         Remove commented-out documentation of defunct syntax option
64721         RE_NO_EMPTY_ALTS.
64722         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
64723         Add documentation of re_set_registers.
64724         Document trick to re-use a pattern buffer by setting fastmap manually.
64725         Update documentation of struct re_pattern_buffer per public members.
64726         Uncomment documentation of equivalence class operators and
64727         collating symbol operators, since they are now implemented,
64728         Explain leftmost-longest matching in relation to alternatives.
64729         Tidy documentation of substring matching.
64730         Remove POSIX documentation, which is done better in
64731         glibc, and refer the reader there. Keep BSD API documentation, as
64732         that is not readily available elsewhere.
64734 2010-09-07  Eric Blake  <eblake@redhat.com>
64736         getopt: handle POSIXLY_CORRECT set but not exported
64737         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
64738         export state of POSIXLY_CORRECT, due to bash set -o posix.
64739         Reported by Dustin J. Mitchell.
64741 2010-09-05  Bruno Haible  <bruno@clisp.org>
64743         gnulib-tool: Highlight the changed options.
64744         * gnulib-tool (func_usage): Display the --import, --add-import,
64745         --remove-import explanations in bold font.
64747 2010-09-06  Karl Berry  <karl@gnu.org>
64749         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
64751 2010-09-05  Bruno Haible  <bruno@clisp.org>
64753         uniwidth/width: Update comment.
64754         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
64755         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
64757 2010-09-05  Bruno Haible  <bruno@clisp.org>
64759         isinf, isnan: Relax license.
64760         * modules/isinf (License): Change from GPL to LGPL, with consent from
64761         Ben Pfaff.
64762         * modules/isnan (License): Likewise.
64763         Requested by Ludovic Courtès.
64765 2010-09-04  Bruno Haible  <bruno@clisp.org>
64767         gnulib-tool: Help migration from --import to --add-import or --update.
64768         * gnulib-tool: Emit a verbose error message when --import is used
64769         without any module name.
64771 2010-09-04  Bruno Haible  <bruno@clisp.org>
64773         Update doc about gnulib-tool.
64774         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
64775         'gnulib-tool --update' in more detail.
64776         Reported by Eric Blake.
64778 2010-09-04  Bruno Haible  <bruno@clisp.org>
64780         gnulib-tool: Change --import. New options --add/remove-import.
64781         * gnulib-tool: New options --add-import, --remove-import.
64782         (func_usage): Document them.
64783         (have_associative): Define always.
64784         (func_import): In import mode, don't merge the specified settings with
64785         the cached settings. Implement remove-import mode.
64786         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
64787         Explain when to use them versus --import.
64788         (Simple update): Use --add-import instead of --import.
64789         * NEWS: Mention the change.
64791 2010-09-04  Bruno Haible  <bruno@clisp.org>
64793         * doc/gnulib-tool.texi (Initial import): Update paragraph about
64794         separate gnulib.mk.
64796 2010-09-04  Bruno Haible  <bruno@clisp.org>
64798         gnulib-tool: Don't talk about CVS any more.
64799         * gnulib-tool (func_usage, func_import): Write "version control"
64800         instead of CVS.
64802 2010-09-04  Jim Meyering  <meyering@redhat.com>
64804         maint.mk: avoid obscure sc_copyright_check failure in coreutils
64805         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
64806         false positives (whose names may be ill-chosen) when searching
64807         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
64808         would cause a false-positive.
64810         avoid coreutils "make distcheck" failure
64811         Coreutils tests with an absolute build directory name that contains
64812         a space.  Not quoting this directory name caused a failure.
64813         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
64814         * tests/test-vc-list-files-cvs.sh: Likewise.
64816 2010-09-04  Bruno Haible  <bruno@clisp.org>
64818         gnulib-tool: Avoid error when run in a package without Makefile.am.
64819         * gnulib-tool: When collecting the m4dirs in a package that does not
64820         have a Makefile.am, eliminate those directories that contain no
64821         gnulib-cache.m4. Fix expression that counts these directories.
64823 2010-09-04  Bruno Haible  <bruno@clisp.org>
64825         update-copyright test: Improve output when perl is missing or too old.
64826         * tests/test-update-copyright.sh: Move test of Perl version down after
64827         the test whether Perl exists. Provide an explanation relating Perl's
64828         error message to Automake's SKIP: message.
64830 2010-09-04  Bruno Haible  <bruno@clisp.org>
64832         Don't augment PATH in TESTS_ENVIRONMENT.
64833         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
64834         set abs_aux_dir instead of augmenting PATH.
64835         * modules/vc-list-files-tests (Makefile.am): Likewise.
64836         * tests/test-update-copyright.sh: Augment PATH here.
64837         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
64838         path_prepend_.
64839         * tests/test-vc-list-files-git.sh: Likewise.
64841 2010-09-04  Jim Meyering  <meyering@redhat.com>
64843         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
64844         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
64846 2010-09-04  Bruno Haible  <bruno@clisp.org>
64848         strdup: Fix compilation error in C++ mode.
64849         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
64850         the macro.
64852 2010-09-04  Bruno Haible  <bruno@clisp.org>
64854         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
64855         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
64856         macro into a function.
64857         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
64859 2010-09-04  Bruno Haible  <bruno@clisp.org>
64861         Set PATH_SEPARATOR the same way autoconf does.
64862         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
64863         the value of PATH_SEPARATOR the same way autoconf-generated configure
64864         scripts do.
64865         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
64866         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
64868 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
64870         Set PATH_SEPARATOR the same way autoconf does.
64871         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
64872         the same way autoconf-generated configure scripts do.
64873         * posix-modules: Likewise.
64875 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64877         hash: fix safe_hasher const typo
64878         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
64879         const; otherwise, there is a type error later.
64881 2010-09-02  Jim Meyering  <meyering@redhat.com>
64883         test-update-copyright.sh: require perl 5.8.0
64884         * tests/test-update-copyright.sh: Require 5.8.0,
64885         which Tom G. Christensen has confirmed is adequate,
64886         while 5.6.1 is not.
64888 2010-09-02  Eric Blake  <eblake@redhat.com>
64890         tests: init.sh improvements for re-exec'ing with zsh
64891         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
64892         -vx through shell re-exec.
64893         Reported by Tom G. Christensen.
64895         wctype: fix typo in previous commit
64896         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
64897         Reported by Ludovic Courtès.
64899 2010-09-02  Jim Meyering  <meyering@redhat.com>
64901         test-update-copyright.sh: skip test if Perl is too old
64902         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
64903         Reported by Tom G. Christensen.
64905 2010-09-02  Bruno Haible  <bruno@clisp.org>
64907         wctype: Avoid compilation error on IRIX 6.5.30.
64908         * lib/wctype.in.h (iswblank): Declare with a replacement if
64909         REPLACE_ISWBLANK is set.
64910         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
64911         declared. Set REPLACE_ISWBLANK.
64912         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
64913         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
64914         * doc/posix-headers/wctype.texi: Likewise.
64915         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64917 2010-09-01  Bruno Haible  <bruno@clisp.org>
64919         New module 'socketlib'.
64920         * modules/socketlib: New file.
64921         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
64922         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
64923         * modules/sockets (Depends-on): Add socketlib.
64924         Suggested by Sam Steingold <sds@gnu.org>.
64926 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64928         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
64930         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
64931         when one needs search access to a directory but not read access.
64932         On systems where it is available, it works in some cases where
64933         O_RDONLY does not, namely on directories that are searchable but
64934         not readable, and which need only to be searchable.  If O_SEARCH
64935         is not available, fall back to the traditional method of using
64936         O_RDONLY.
64938         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
64939         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
64940         when opening a directory that needs only to be searchable.
64941         * lib/chdir-safer.c (chdir_no_follow): Likewise.
64942         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
64943         * lib/openat-proc.c (openat_proc_name): Likewise.
64944         * lib/openat.c (openat_needs_fchdir): Likewise.
64945         * lib/save-cwd.c (save_cwd): Likewise.
64946         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
64948 2010-08-28  Bruno Haible  <bruno@clisp.org>
64950         New module 'host-cpu-c-abi'.
64951         * modules/host-cpu-c-abi: New file.
64952         * m4/host-cpu-c-abi.m4: New file, based on part of
64953         clisp/src/m4/general.m4.
64954         Requested by Sam Steingold <sds@gnu.org>.
64956 2010-08-31  Eric Blake  <eblake@redhat.com>
64957         and Jim Meyering  <meyering@redhat.com>
64959         hash: factor, and guard against misbehaving hasher function
64960         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
64961         of table->hasher's return value.  Also protect against a hash value
64962         so large that adding it to table->bucket results in a NULL pointer.
64963         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
64964         Use it in place of open-coded check-and-abort.
64966 2010-08-30  Bruno Haible  <bruno@clisp.org>
64968         hash: silence spurious clang warning
64969         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
64970         Reported by Eric Blake.
64972 2010-08-30  Eric Blake  <eblake@redhat.com>
64974         strstr, memmem, strcasestr: avoid leaked shell message
64975         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
64976         FreeBSD.
64977         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
64978         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64980         tests: silence clang warning
64981         * tests/test-malloca.c (do_allocation): Avoid dead store.
64983 2010-08-29  Bruno Haible  <bruno@clisp.org>
64985         gettext: Fix recent mistake.
64986         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
64988 2010-08-29  Bruno Haible  <bruno@clisp.org>
64990         selinux-h: Offer a --without-selinux option.
64991         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
64992         --without-selinux was specified, skip all tests and define
64993         HAVE_SELINUX_SELINUX_H to 0.
64994         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
64995         set LIB_SELINUX to empty.
64996         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
64997         gl_LIBSELINUX. If --without-selinux was specified, replace
64998         selinux/context.h.
64999         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
65001 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65002             Bruno Haible  <bruno@clisp.org>
65004         Make the module 'realloc-gnu' work again on AIX and OSF/1.
65005         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
65006         of HAVE_REALLOC.
65007         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
65008         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
65009         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
65010         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65012 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65013             Bruno Haible  <bruno@clisp.org>
65015         Make the module 'calloc-gnu' work again on AIX and OSF/1.
65016         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
65017         HAVE_CALLOC.
65018         * lib/xmalloc.c: Update accordingly.
65019         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
65020         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
65021         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
65023 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65024             Bruno Haible  <bruno@clisp.org>
65026         Make the module 'malloc-gnu' work again on AIX and OSF/1.
65027         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
65028         HAVE_MALLOC.
65029         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
65030         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
65031         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65033 2010-08-29  Bruno Haible  <bruno@clisp.org>
65035         Update modules list.
65036         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
65037         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
65038         (String handling <string.h>): Add astrxfrm.
65039         (File system functions): Add readlinkat.
65041 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65043         Tests for module 'realloc-gnu'.
65044         * modules/realloc-gnu-tests: New file.
65045         * tests/test-realloc-gnu.c: New file.
65047         Tests for module 'calloc-gnu'.
65048         * modules/calloc-gnu-tests: New file.
65049         * tests/test-calloc-gnu.c: New file.
65051         Tests for module 'malloc-gnu'.
65052         * modules/malloc-gnu-tests: New file.
65053         * tests/test-malloc-gnu.c: New file.
65055 2010-08-28  Bruno Haible  <bruno@clisp.org>
65057         Rename module 'realloc' -> 'realloc-gnu'.
65058         * modules/realloc-gnu: New file, copied from modules/realloc.
65059         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
65060         obsolete.
65061         * modules/mgetgroups (Depends-on): Update.
65062         * doc/posix-functions/realloc.texi: Update.
65063         * NEWS: Mention the change.
65065         Rename module 'calloc' -> 'calloc-gnu'.
65066         * modules/calloc-gnu: New file, copied from modules/calloc.
65067         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
65068         obsolete.
65069         * doc/posix-functions/calloc.texi: Update.
65070         * NEWS: Mention the change.
65072         Rename module 'malloc' -> 'malloc-gnu'.
65073         * modules/malloc-gnu: New file, copied from modules/malloc.
65074         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
65075         obsolete.
65076         * modules/argp (Depends-on): Update.
65077         * modules/regex (Depends-on): Update.
65078         * doc/posix-functions/malloc.texi: Update.
65079         * NEWS: Mention the change.
65081 2010-08-28  Eric Blake  <eblake@redhat.com>
65083         pread, pwrite: add missing dependency
65084         * modules/pread (Depends-on): Add extensions.
65085         * modules/pwrite (Depends-on): Likewise.
65087 2010-08-28  Bruno Haible  <bruno@clisp.org>
65089         unistr/u*-strchr: Fix tests dependencies.
65090         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
65091         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
65092         Reported by Ian Beckwith <ianb@erislabs.net>.
65094 2010-08-28  Bruno Haible  <bruno@clisp.org>
65096         read-file: Don't occupy too much unused memory.
65097         * lib/read-file.c (fread_file): Shrink the buffer at the end.
65099 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
65100             Eric Blake  <eblake@redhat.com>
65101             Bruno Haible  <bruno@clisp.org>
65103         read-file: Avoid memory reallocations with regular files.
65104         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
65105         (fread_file): With regular files, use the remaining length as the
65106         initial buffer size.  Check against overflow.
65107         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
65108         sys_stat.
65110 2010-08-28  Bruno Haible  <bruno@clisp.org>
65112         ftello: Relax license.
65113         * modules/ftello (License): Relax to LGPLv2+.
65114         Reported by Eric Blake.
65116 2010-08-28  Bruno Haible  <bruno@clisp.org>
65118         Avoid relocwrapper link errors due to gnulib replacement functions.
65119         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
65120         function.
65121         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65123 2010-08-28  Bruno Haible  <bruno@clisp.org>
65125         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
65126         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
65127         defined.
65128         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
65129         Suggested by Eric Blake.
65131 2010-08-28  Bruno Haible  <bruno@clisp.org>
65133         sys_socket, netdb: Ensure socklen_t gets defined.
65134         * modules/sys_socket (Depends-on): Add socklen.
65135         * modules/netdb (Depends-on): Likewise.
65136         * modules/getaddrinfo (Depends-on): Remove socklen.
65137         * modules/getsockopt (Depends-on): Likewise.
65138         * modules/setsockopt (Depends-on): Likewise.
65139         * tests/test-sys_socket.c: Check that socklen_t is defined.
65140         * tests/test-netdb.c: Likewise.
65141         * m4/socklen.m4: Update comments.
65142         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65144 2010-08-27  Eric Blake  <eblake@redhat.com>
65146         login_tty: add missing dependency
65147         * modules/login_tty (Depends-on): Add pty.
65149 2010-08-26  Eric Blake  <eblake@redhat.com>
65151         lib-symbol-versions: fix m4 quoting
65152         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
65153         format for AC_LINK_IFELSE.
65155         glob: fix compile test
65156         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
65158         btowc: fix missing file
65159         * modules/btowc (Files): Also ship locale-fr.m4.
65161         lseek: fix link test
65162         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
65163         AC_LINK_IFELSE.
65165         include_next: silence autoconf 2.68 warning
65166         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
65167         AC_COMPILE_IFELSE as special.
65168         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
65169         autoconf < 2.68.
65171         acl: fix compilation test
65172         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
65173         AC_COMPILE_IFELSE.
65175 2010-08-26  Bruno Haible  <bruno@clisp.org>
65177         Modernize AC_TRY_RUN invocations.
65178         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
65179         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
65180         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
65181         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
65182         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
65183         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
65184         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
65185         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65186         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65187         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65188         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
65189         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
65190         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
65191         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
65192         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
65193         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
65194         gl_MBRLEN_NUL_RETVAL): Likewise.
65195         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
65196         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
65197         Likewise.
65198         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
65199         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
65200         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
65201         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
65202         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
65203         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
65204         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
65205         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
65206         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
65207         Likewise.
65208         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
65209         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
65210         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65211         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65212         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65213         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
65214         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
65215         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
65216         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
65217         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65219 2010-08-26  Bruno Haible  <bruno@clisp.org>
65221         Modernize AC_TRY_LINK invocations.
65222         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
65223         AC_TRY_LINK.
65224         * m4/argp.m4 (gl_ARGP): Likewise.
65225         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
65226         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
65227         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
65228         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
65229         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
65230         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
65231         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
65232         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
65233         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
65234         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
65235         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
65236         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
65237         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
65238         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65239         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65240         * m4/hostent.m4 (gl_HOSTENT): Likewise.
65241         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65242         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
65243         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
65244         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
65245         Likewise.
65246         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
65247         Likewise.
65248         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
65249         Likewise.
65250         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
65251         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
65252         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
65253         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
65254         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
65255         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
65256         * m4/servent.m4 (gl_SERVENT): Likewise.
65257         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
65258         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
65259         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
65260         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
65261         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65262         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
65263         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
65264         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65265         * modules/tsearch-tests (configure.ac): Likewise.
65267 2010-08-26  Bruno Haible  <bruno@clisp.org>
65269         Modernize AC_TRY_COMPILE invocations.
65270         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
65271         AC_TRY_COMPILE.
65272         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
65273         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
65274         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
65275         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
65276         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
65277         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
65278         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65279         * m4/lock.m4 (gl_LOCK): Likewise.
65280         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
65281         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65282         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
65283         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
65284         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
65285         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
65286         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
65287         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
65288         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
65289         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
65290         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
65291         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
65292         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
65293         extraneous semicolon.
65295 2010-08-26  Jim Meyering  <meyering@redhat.com>
65297         stat-time: relax license LGPL
65298         * modules/stat-time (License): Change from GPL to LGPL,
65299         with consent from all contributors, for use in libguile.
65300         Requested by Ludovic Courtès.
65302 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
65304         poll: return immediately on POLLHUP.
65305         * lib/poll.c (poll): Always set timeout before wait_timeout is
65306         computed.
65308 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65310         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
65311         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
65312         rmdir ("dir/.//"), unlinkat.
65314 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65316         stdbool: avoid spurious failure with modern xlc
65317         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65319 2010-08-24  Bruno Haible  <bruno@clisp.org>
65321         getloadavg: simplify code
65322         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
65323         gl_have_func. Update comments.
65325 2010-08-24  Eric Blake  <eblake@redhat.com>
65327         getloadavg: don't define SVR4 on cygwin
65328         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
65329         only define SVR4 when -lkvm is required.
65330         Reported by Yaakov Selkowitz.
65332 2010-08-24  Bruno Haible  <bruno@clisp.org>
65334         priv-set: fix comment
65335         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
65337 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65339         priv-set: fix comments
65340         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
65341         to match code, as suggested by David Bartley in:
65342         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
65344 2010-08-23  Eric Blake  <eblake@redhat.com>
65346         stdbool: avoid rejecting clang
65347         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65348         * tests/test-stdbool.c: Enable more tests if using the system
65349         <stdbool.h> instead of the gnulib replacement.
65350         (main): Move xlc bug test to a runtime test for all compilers.
65351         Reported by Anders Kaseorg.
65353         argz: fix shell quoting issue
65354         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
65355         Reported by Charles Wilson.
65357 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
65358             Erik Faye-Lund <kusmabite@gmail.com>
65360         poll, select: handle ERROR_BROKEN_PIPE.
65361         * lib/poll.c (win32_compute_revents): Return POLLHUP when
65362         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
65363         * lib/select.c (win32_compute_revents): Do not mark a pipe
65364         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
65366 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
65368         fts: allow compilation with C++
65369         * lib/fts_.h: Specify extern "C" linkage with C++.
65371 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65373         Fix gnulib-tool sed script de-commentation for AIX sed.
65374         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
65375         sed.
65377 2010-08-17  Eric Blake  <eblake@redhat.com>
65379         test-stddef: test for (some) offsetof bugs
65380         * tests/test-stddef.c: Enhance test to ensure correct type of
65381         offsetof.
65382         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
65383         that we are not fixing at this time.
65385 2010-08-15  Bruno Haible  <bruno@clisp.org>
65387         stpncpy: Allow stpncpy to be defined as a macro.
65388         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
65389         if it's already correctly declared.
65390         * lib/string.in.h (stpncpy): Undefine before redefining.
65391         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
65393 2010-08-14  Bruno Haible  <bruno@clisp.org>
65395         Rename module 'memxfrm' to 'amemxfrm'.
65396         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
65397         (amemxfrm): Renamed from memxfrm.
65398         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
65399         (amemxfrm): Renamed from memxfrm.
65400         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
65401         * NEWS: Mention the change.
65402         * MODULES.html.sh (String handling <string.h>): Update.
65403         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
65404         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
65405         * lib/unicase/u16-casexfrm.c: Likewise.
65406         * lib/unicase/u32-casexfrm.c: Likewise.
65407         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
65408         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
65409         * lib/uninorm/u16-normxfrm.c: Likewise.
65410         * lib/uninorm/u32-normxfrm.c: Likewise.
65411         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
65412         memxfrm.
65413         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
65414         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
65415         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
65416         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
65417         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
65418         Suggested by Paul Eggert.
65420 2010-08-14  Bruno Haible  <bruno@clisp.org>
65422         Tests for module 'astrxfrm'.
65423         * modules/astrxfrm-tests: New file.
65424         * tests/test-astrxfrm.c: New file.
65426         New module 'astrxfrm'.
65427         * lib/astrxfrm.h: New file.
65428         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
65429         * modules/astrxfrm: New file.
65431 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
65433         regex: Tweak doc.
65434         * doc/regex.texi (Overview): Don't mention regex.c.
65435         (GNU Regular Expression Compiling): Likewise.
65436         (Match-end-of-line Operator): Mention 'not_eol'.
65438 2010-08-14  Brian Gough  <bjg@gnu.org>
65439             Bruno Haible  <bruno@clisp.org>
65441         git-merge-changelog: add doc relating to use with bzr and hg.
65442         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
65444 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
65446         pthread: fix pthread.h creation for srcdir != builddir
65447         * modules/pthread (Makefile.am): Fix the rule to work also in a
65448         non-srcdir build.
65450 2010-08-13  Karl Berry  <karl@gnu.org>
65452         * doc/regex.texi (Predefined Syntaxes): @smallexample.
65453         * doc/posix-*/*: force line break before @url of POSIX
65454         specifications.
65455         Suggested by Werner Lemberg.
65457 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65459         strtod: fix const diagnostic
65460         * lib/strtod.c (strtod): Don't assign const char * to char *,
65461         as this elicits a warning from GCC when warnings are enabled.
65463 2010-08-10  Pádraig Brady  <P@draigbrady.com>
65464         and Eric Blake  <eblake@redhat.com>
65466         copy-acl: ignore ENOTSUP on HP-UX
65467         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
65468         so that it is available for HP-UX.
65469         * lib/copy-acl.c (qcopy_acl): Use it.
65470         Reported by Patrick M. Callahan.
65472 2010-08-10  Eric Blake  <eblake@redhat.com>
65474         open, chown: relax license
65475         * modules/open (License): Change to LGPLv2+, with consent by all
65476         authors, for use in augeas.
65477         * modules/chown (License): Likewise.
65478         * modules/lchown (Likewise): Likewise.
65479         Requested by Adam Stokes.
65481 2010-08-09  Karl Berry  <karl@gnu.org>
65483         * build-aux/ar-lib: new file, import from Automake.
65484         * config/srclist.txt: autocheck for updates.
65486 2010-08-09  Eric Blake  <eblake@redhat.com>
65488         readlinkat: adjust client modules
65489         * modules/areadlinkat (Depends-on): Use readlinkat, not
65490         symlinkat.
65491         * modules/areadlinkat-with-size (Depends-on): Likewise.
65493         mknod: be more vocal about danger of running tests as root
65494         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
65495         root, since that is just asking for problems.
65496         Suggested by Bruno Haible, based on a report by Rainer Tammer.
65498         readlinkat: split into its own module
65499         * modules/symlinkat: Split readlinkat...
65500         * modules/readlinkat: ...into separate module.
65501         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
65502         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
65503         * lib/symlinkat.c (readlinkat): Move...
65504         * lib/readlinkat.c: ...into new file.
65505         * modules/symlinkat-tests: Split readlinkat test...
65506         * modules/readlinkat-tests: ...into separate module.
65507         * tests/test-symlinkat.c: Split...
65508         * tests/test-readlinkat.c: ...into new file.
65509         * NEWS: Document the split.
65510         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
65511         * lib/unistd.in.h (readlinkat): Likewise.
65512         Suggested by Bruno Haible.
65514 2010-08-08  Bruno Haible  <bruno@clisp.org>
65516         memxfrm: Speed up.
65517         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
65518         that usually only one call to strxfrm is necessary for each string
65519         part.
65520         Reported by Paul Eggert <eggert@cs.ucla.edu>.
65522 2010-08-07  Karl Berry  <karl@gnu.org>
65524         * doc/posix-headers/limits.texi,
65525         * doc/posix-functions/malloc.texi,
65526         * doc/posix-functions/strsignal.texi: missing @item.
65527         * doc/ld-version-script.texi: spurious leading i.
65528         * doc/regex.texi (Interval Operators): no commas inside @var.
65530 2010-08-01  Bruno Haible  <bruno@clisp.org>
65532         Integrate the regex documentation.
65533         * doc/gnulib.texi: Define 'cn' index.
65534         (Regular expressions): New a chapter that includes regex.texi and
65535         regexprops-generic.texi.
65536         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
65537         syntax.
65539         Whitespace cleanup.
65540         * doc/regex.texi: Remove trailing spaces.
65542         Add regex documentation.
65543         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
65544         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
65545         Written by Kathy A. Hargreaves and Karl Berry.
65547 2010-08-01  Bruno Haible  <bruno@clisp.org>
65549         link: Update documentation.
65550         * doc/posix-functions/link.texi: Update regarding Solaris.
65552 2010-07-31  Bruno Haible  <bruno@clisp.org>
65554         Update modules list.
65555         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
65556         (String handling <string.h>): Add memcmp2, memxfrm.
65557         (Container data structures): Add xlist, xsublist, xoset.
65558         (Core language properties): Add alignof, unused-parameter.
65559         (Process control, Numeric conversion functions <stdlib.h>): Renamed
65560         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
65561         (Unibyte characters <ctype.h>): New section.
65562         (String handling <string.h>): New section.
65563         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
65564         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
65565         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
65566         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
65567         tan, tanh, tanl, y0, y1, yn.
65568         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
65569         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
65570         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
65571         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
65572         unlockpt, vdprintf, vdprintf-posix.
65573         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
65574         (File system functions): Add concat-filename, sys_file, sys_ioctl,
65575         xconcat-filename.
65576         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
65577         getdtablesize, pipe2, pipe2-safer.
65578         (Security): New section.
65579         (Networking functions): Add accept4.
65580         (Signal handling): Add sigpipe.
65581         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
65582         mbmemcasecoll.
65583         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
65584         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
65585         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
65586         pipe-filter-ii.
65587         (Misc): Add argp-version-etc, login_tty, parse-duration.
65589 2010-07-31  Bruno Haible  <bruno@clisp.org>
65591         Improve doc in MODULES.html.
65592         * modules/linkat (Description): Add the word "function".
65593         * modules/mkfifo (Description): Likewise.
65594         * modules/mknod (Description): Likewise.
65595         * modules/remove (Description): Likewise.
65596         * modules/renameat (Description): Likewise.
65597         * modules/stat (Description): Likewise.
65598         * modules/symlink (Description): Likewise.
65599         * modules/unlink (Description): Likewise.
65601 2010-07-31  Bruno Haible  <bruno@clisp.org>
65603         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
65604         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
65605         option --enable/disable-c++ instead of --enable/disable-cxx.
65606         * NEWS: Mention the change.
65608 2010-07-31  Bruno Haible  <bruno@clisp.org>
65610         readlink, areadlink: Relax test a bit.
65611         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
65612         alternative to ENOTDIR.
65613         * tests/test-areadlink.h (test_areadlink): Likewise.
65614         Reported by Rainer Tammer.
65616 2010-07-31  Bruno Haible  <bruno@clisp.org>
65618         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
65619         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
65620         character, perform the search using U_STRCHR.
65621         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
65622         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
65623         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
65624         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
65625         Suggested by Paolo Bonzini.
65627 2010-07-31  Bruno Haible  <bruno@clisp.org>
65629         unistr/u*-strstr: Fix dependencies.
65630         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
65631         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
65632         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
65634 2010-07-31  Bruno Haible  <bruno@clisp.org>
65636         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
65637         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
65638         the beginning of the loop.
65639         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
65640         cases in 'switch' statement.
65642         unistr/u8-strchr: Fix several bugs.
65643         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
65644         the string. When not found, return NULL, not a pointer near the end.
65646         More tests for unistr/u8-strchr.
65647         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
65648         that the function does not read past the first occurrence of the byte
65649         being searched.
65650         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
65651         * tests/unistr/test-u16-strchr.c (main): New function.
65652         * tests/unistr/test-u32-strchr.c (main): New function.
65654 2010-07-31  Bruno Haible  <bruno@clisp.org>
65656         posix-modules: Ignore backup files of documentation files.
65657         * posix-modules: grep only through files named *.texi.
65659 2010-07-31  Bruno Haible  <bruno@clisp.org>
65661         symlinkat: Fix documentation.
65662         * doc/posix-functions/readlinkat.texi: Fix module name.
65664 2010-07-31  Bruno Haible  <bruno@clisp.org>
65666         fchownat: Replace also when chown has the trailing slash bug.
65667         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
65668         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
65669         introduced on 2010-04-10.
65670         Reported by Rainer Tammer.
65672 2010-07-31  Bruno Haible  <bruno@clisp.org>
65674         linkat: Work around AIX 7.1 bug.
65675         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
65676         whether linkat handles trailing slash correctly. If not, replace linkat
65677         and define LINKAT_TRAILING_SLASH_BUG.
65678         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
65679         check whether (fd1,file1) points to a directory if file1 or file2 ends
65680         in a slash. Code taken from lib/link.c.
65681         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
65682         Reported by Rainer Tammer.
65684 2010-07-31  Bruno Haible  <bruno@clisp.org>
65686         Correctly determine whether pow is available in libc on AIX 7 with xlc.
65687         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
65688         This disables an xlc optimization that was causing wrong test results.
65689         Reported by Rainer Tammer.
65691 2010-07-31  Bruno Haible  <bruno@clisp.org>
65693         iconv: Work around AIX 6.1..7.1 bug.
65694         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
65695         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
65696         cross-compiling, guess no on all versions of AIX.
65697         Reported by Rainer Tammer.
65699 2010-07-31  Bruno Haible  <bruno@clisp.org>
65701         readlink: Relax test a bit.
65702         * tests/test-readlink.h (test_readlink): Allow different errno value
65703         when readlink is called with a file name that ends in / and refers to
65704         a file.
65705         Suggested by Eric Blake.
65706         Reported by Rainer Tammer.
65708 2010-07-31  Bruno Haible  <bruno@clisp.org>
65710         copysign: Does not require -lm on glibc systems.
65711         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
65712         gl_COMMON_DOUBLE_MATHFUNC.
65713         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
65715 2010-07-31  Bruno Haible  <bruno@clisp.org>
65717         duplocale: Work around AIX 7.1 bug.
65718         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
65719         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
65720         * lib/duplocale.c (rpl_duplocale): Update comment.
65721         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
65722         Reported by Rainer Tammer.
65724 2010-07-30  Bruno Haible  <bruno@clisp.org>
65726         dirfd: Avoid link error on AIX 7.1.
65727         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
65728         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
65729         exist, set REPLACE_DIRFD.
65730         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
65731         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
65732         * doc/posix-functions/dirfd.texi: Update.
65733         Reported by Rainer Tammer.
65735 2010-07-30  Eric Blake  <eblake@redhat.com>
65737         strtod: next round of AIX fixes
65738         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
65739         exponent.
65740         * tests/test-strtod.c (main): Enhance tests.
65741         * doc/posix-functions/strtod.texi (strtod): Document next bug.
65742         Reported by Rainer Tammer.
65744         futimens: fix configure check
65745         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
65746         Reported by Bruno Haible.
65748 2010-07-30  Bruno Haible  <bruno@clisp.org>
65750         getline: Update regarding AIX.
65751         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
65752         Reported by Rainer Tammer.
65754 2010-07-30  Bruno Haible  <bruno@clisp.org>
65756         wcwidth: Drop replacement on AIX 7.
65757         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
65758         AIX 7.
65759         Reported by Rainer Tammer.
65761 2010-07-30  Bruno Haible  <bruno@clisp.org>
65763         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
65764         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
65765         a 'char *'.
65766         Reported by Rainer Tammer.
65768 2010-07-30  Bruno Haible  <bruno@clisp.org>
65770         unlink: Update regarding AIX.
65771         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
65772         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
65773         Reported by Rainer Tammer.
65775 2010-07-30  Bruno Haible  <bruno@clisp.org>
65777         symlink: Update regarding AIX.
65778         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
65779         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
65780         Reported by Rainer Tammer.
65782 2010-07-30  Bruno Haible  <bruno@clisp.org>
65784         strndup: Update regarding AIX.
65785         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
65786         AIX 7.
65787         Reported by Rainer Tammer.
65789 2010-07-30  Bruno Haible  <bruno@clisp.org>
65791         stat: Update regarding AIX.
65792         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
65793         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
65794         Reported by Rainer Tammer.
65796 2010-07-30  Bruno Haible  <bruno@clisp.org>
65798         truncl: Fix autoconf test.
65799         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
65800         whether truncl works.
65801         Reported by Rainer Tammer.
65803 2010-07-30  Bruno Haible  <bruno@clisp.org>
65805         round: Update regarding AIX.
65806         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
65807         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
65808         Reported by Rainer Tammer.
65810 2010-07-30  Bruno Haible  <bruno@clisp.org>
65812         rename: Update regarding AIX.
65813         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
65814         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
65815         Reported by Rainer Tammer.
65817 2010-07-30  Bruno Haible  <bruno@clisp.org>
65819         printf.m4: Update regarding AIX.
65820         * m4/printf.m4: Update comments regarding AIX.
65821         Reported by Rainer Tammer.
65823 2010-07-30  Bruno Haible  <bruno@clisp.org>
65825         iconv: Update regarding AIX.
65826         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
65827         AIX 7.
65828         Reported by Rainer Tammer.
65830 2010-07-30  Bruno Haible  <bruno@clisp.org>
65832         getopt: Update regarding AIX.
65833         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
65834         no on AIX.
65835         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
65836         Reported by Rainer Tammer.
65838 2010-07-30  Bruno Haible  <bruno@clisp.org>
65840         ldexpl; Update regarding AIX.
65841         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
65842         on AIX 7.
65843         Reported by Rainer Tammer.
65845 2010-07-30  Bruno Haible  <bruno@clisp.org>
65847         frexpl: Update regarding AIX.
65848         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
65849         on AIX 7.
65850         Reported by Rainer Tammer.
65852 2010-07-30  Bruno Haible  <bruno@clisp.org>
65854         open, fopen: Update regarding AIX.
65855         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
65856         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
65857         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
65858         * doc/posix-functions/fopen.texi: Likewise.
65859         Reported by Rainer Tammer.
65861 2010-07-30  Bruno Haible  <bruno@clisp.org>
65863         chown: Update doc regarding AIX.
65864         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
65865         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
65866         Reported by Rainer Tammer.
65868 2010-07-30  Eric Blake  <eblake@redhat.com>
65870         strtod: fix bug in replacement function on AIX
65871         * lib/strtod.c (strtod): Special case broken "0x" parse in
65872         underlying strtod.
65873         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
65874         * doc/posix-functions/strtod.texi (strtod): Likewise.
65875         Reported by Rainer Tammer.
65877 2010-07-30  Bruno Haible  <bruno@clisp.org>
65879         mbrlen: Fix cross-compilation guess for AIX.
65880         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
65881         guess. Leftover from 2008-12-22.
65883 2010-07-30  Bruno Haible  <bruno@clisp.org>
65885         mbrtowc: Fix cross-compilation guess for AIX.
65886         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
65887         guess. Leftover from 2008-12-21.
65889 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
65891         init.sh: work around trap limitation of some shells
65892         * tests/init.sh (setup_): Move exit trap outside of shell function.
65894 2010-07-29  Eric Blake  <eblake@redhat.com>
65896         strtod: aid debugging
65897         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
65898         understanding why strtod is rejected.
65900 2010-07-28  Bruno Haible  <bruno@clisp.org>
65902         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
65903         * lib/unistr/u8-chr.c: Include <string.h>.
65904         * tests/unistr/test-u8-chr.c: Likewise.
65905         * tests/unistr/test-u16-chr.c: Likewise.
65906         * tests/unistr/test-u32-chr.c: Likewise.
65907         * tests/unistr/test-u8-strchr.c: Likewise.
65908         * tests/unistr/test-u16-strchr.c: Likewise.
65909         * tests/unistr/test-u32-strchr.c: Likewise.
65910         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
65911         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
65912         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
65913         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
65915 2010-07-28  Bruno Haible  <bruno@clisp.org>
65917         Use spaces for indentation, not tabs.
65918         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
65920 2010-07-27  Bruno Haible  <bruno@clisp.org>
65922         mbspcasecmp: Fix function specification.
65923         * lib/string.in.h (mbspcasecmp): Fix specification comment.
65924         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
65925         Reported by Eric Blake <eblake@redhat.com>.
65927 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
65929         timespec: use cast and not conditional, as truncation isn't possible
65930         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
65931         instead of a conditional.  Comment about the situation in more detail.
65932         This undoes most of the 2009-10-29 patch.
65934 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
65936         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
65937         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
65938         * lib/unistr/u8-strchr.c: Likewise.
65939         * modules/unistr/u8-chr: Depend on memchr.
65941         unistr/u*-strchr: add tests
65942         * modules/unistr/u8-strchr-tests: New file.
65943         * modules/unistr/u16-strchr-tests: New file.
65944         * modules/unistr/u32-strchr-tests: New file.
65945         * tests/unistr/test-strchr.h: New file.
65946         * tests/unistr/test-u8-strchr.c: New file.
65947         * tests/unistr/test-u16-strchr.c: New file.
65948         * tests/unistr/test-u32-strchr.c: New file.
65950         unistr/u*-chr: test multibyte sequences more
65951         * tests/unistr/test-chr.h: Do complete testing of the characters in the
65952         test vector.
65953         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
65954         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
65955         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
65957         unistr/u*-chr: test multibyte sequences
65958         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
65960         unistr/u*-chr: prepare for multibyte tests
65961         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
65962         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
65963         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
65964         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
65965         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
65966         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
65968 2010-07-18  Bruno Haible  <bruno@clisp.org>
65970         unistr/u8-strchr: Optimize non-ASCII argument case.
65971         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
65972         because the first byte often matches anyway.
65973         Reported by Pádraig Brady <P@draigbrady.com>.
65975 2010-07-15  Karl Berry  <karl@gnu.org>
65977         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
65979 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
65981         getcwd: on Solaris, work better if ancestors are inaccessible
65982         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
65983         buffer and size, try again with a large buffer.  This works better
65984         on Solaris, since its getcwd succeeds even if the path to the root
65985         is inaccessible, and this is helpful in common cases such as .zfs
65986         hidden directories.  Problem reported by J Chapman Flack in
65987         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
65988         Use system getcwd if it's declared, not merely if it's partly
65989         working; use the partly-working test only to avoid needless effort
65990         if the system getcwd fails.
65991         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
65992         comment that was already obsolete and is now even more obsolete.
65993         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
65994         now might call strdup.
65996 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
65998         pthread: Add enough so that coreutils/src/sort.c compiles.
65999         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
66000         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
66001         gnulib. Include <sched.h> and <time.h>, as per POSIX.
66002         Include <sys/types.h>, in case it defines pthread_t.
66003         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
66004         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
66005         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
66006         (pthread_rwlockattr_t, pthread_spinlock_t):
66007         New typedefs, if HAVE_PTHREAD_T is not defined.
66008         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
66009         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
66010         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
66011         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
66012         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
66013         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
66014         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
66015         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
66016         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
66017         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
66018         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
66019         New macros.
66020         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
66021         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
66022         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
66023         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
66024         (pthread_spin_unlock): New dummy functions.
66025         (pthread_create): Return EAGAIN; don't set errno.
66026         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
66027         require AC_C_INLINE.
66028         * modules/pthread (Depends-on): Add sched, time.
66029         (pthread.h): Use AM_V_GEN.
66031 2010-07-13  Bruno Haible  <bruno@clisp.org>
66033         striconveh: Don't malloc memory if the result buffer is sufficient.
66034         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
66035         buffer if its size is sufficient.
66036         Reported by Ludovic Courtès <ludo@gnu.org>.
66038 2010-07-13  Bruno Haible  <bruno@clisp.org>
66040         strtod: Add safety check.
66041         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
66043 2010-07-12  Bruno Haible  <bruno@clisp.org>
66045         Unify tests that set gl_cv_func_ldexpl_no_libm.
66046         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
66047         gl_FUNC_LDEXPL.
66048         (gl_FUNC_LDEXPL): Invoke it.
66049         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66051 2010-07-12  Bruno Haible  <bruno@clisp.org>
66053         Unify tests that set gl_cv_func_ldexp_no_libm.
66054         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
66055         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
66056         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
66057         (configure.ac): Simply invoke gl_FUNC_LDEXP.
66058         * modules/strtod (Files): Add m4/ldexp.m4.
66060 2010-07-12  Bruno Haible  <bruno@clisp.org>
66062         Unify tests that set gl_cv_func_frexpl_no_libm.
66063         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
66064         gl_FUNC_FREXPL_NO_LIBM.
66065         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
66066         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66068 2010-07-12  Bruno Haible  <bruno@clisp.org>
66070         Unify tests that set gl_cv_func_frexp_no_libm.
66071         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
66072         gl_FUNC_FREXP_NO_LIBM.
66073         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
66074         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66076 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66078         memcoll: clarify sizes versus lengths, document better, and tweak perf
66079         * lib/memcoll.c (strcoll_loop, memcoll0):
66080         Improve quality of descriptive comments.  Name variables
66081         consistently as to whether they are lengths (which do not include
66082         terminating null) versus sizes (which do).
66083         * lib/xmemcoll.c (xmemcoll0): Likewise.
66084         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
66085         returned when s1size == 0; this is easier to compile and saves
66086         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
66088 2010-07-12  Bruno Haible  <bruno@clisp.org>
66090         Tests for module '_Exit'.
66091         * modules/_Exit-tests: New file.
66092         * tests/test-_Exit.sh: New file.
66093         * tests/test-_Exit.c: New file.
66095         New module '_Exit'.
66096         * lib/stdlib.in.h (__attribute__): New macro.
66097         (_Exit): New declaration.
66098         * lib/_Exit.c: New file.
66099         * m4/_Exit.m4: New file.
66100         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
66101         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
66102         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
66103         * modules/_Exit: New file.
66104         * tests/test-stdlib-c++.cc (_Exit): Check signature.
66105         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
66107 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66109         strtod: make it more-accurate typically, and don't require libm
66110         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
66111         Include limits.h.  Don't include string.h.
66112         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
66113         (locale_isspace): New function, so that no casts are needed to
66114         check whether *s is a space.
66115         (ldexp): Provide an unused dummy if not available.
66116         (scale_radix_exp, parse_number, underlying_strtod): New functions.
66117         (strtod): Use them.  This implementation prefers to use the
66118         underlying strtod if available, falling back on our own code
66119         only to fix known bugs.  This is more likely to produce an
66120         accurate result.  Also, it avoids the use of libm functions.
66121         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
66122         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
66123         was absent, but it caused a test failure with coreutils.
66124         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
66125         with libm.
66126         * modules/strtod (Makefile.am, Link): libm is no longer needed.
66127         * modules/strtod-tests (Makefile.am): Likewise.
66129 2010-07-11  Pádraig Brady  <P@draigBrady.com>
66130             Bruno Haible  <bruno@clisp.org>
66132         unistr/u8-strchr: Optimize ASCII argument case.
66133         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
66135 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66137         (x)memcoll: minor tweaks
66138         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
66139         is after the type that it qualifies.
66140         (memcoll0): Likewise.
66141         * lib/memcoll.h (memcoll0): Likewise.
66142         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
66143         * lib/xmemcoll.h (xmemcoll0): Likewise.
66144         * lib/memcoll.c (memcoll0): Correct the comment.  This function
66145         differs from memcoll in that the NUL byte is part of the argument.
66146         Omit the abort-checks, as performance is a real issue here.  Plus,
66147         the checks were wrong anyway (an off-by-one error).  Omit local
66148         variable 'diff', as it's a bit clearer that way.
66149         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
66150         no longer needed.
66152 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
66154         (x)memcoll: speedup when input is known to be NUL delimited
66155         * lib/memcoll.c: Include stdlib.
66156         (memcoll0): New function.
66157         (strcoll_loop): New function, refactored for use in both memcoll
66158         and memcoll0.
66159         * lib/memcoll.h (memcoll0): Add prototype.
66160         * lib/xmemcoll.c (xmemcoll0): New function.
66161         (collate_error): New function, refactored for use in both xmemcoll
66162         and xmemcoll0.
66163         * lib/xmemcoll.h (xmemcoll0): Add prototype.
66164         * m4/memcoll.m4: add inline invocation.
66166 2010-07-06  Pádraig Brady  <P@draigBrady.com>
66168         * build-aux/bootstrap: Remove any local translations
66169         from the translation project synchronization directory,
66170         so that local only translations are not distributed.
66172 2010-07-04  Bruno Haible  <bruno@clisp.org>
66174         fsusage: Clarify which code applies to which platforms.
66175         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
66176         platform.
66177         * lib/fsusage.c (get_fs_usage): Likewise.
66179 2010-07-04  Bruno Haible  <bruno@clisp.org>
66181         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
66182         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
66183         Reported by Martin Lambers <marlam@marlam.de>.
66185 2010-07-04  Jim Meyering  <meyering@redhat.com>
66187         hash: once again explicitly disallow insertion of NULL
66188         * lib/hash.c (hash_insert0): Reinstate just-removed test:
66189         inserting a NULL pointer cannot work with these functions.
66190         Add a comment with details.
66191         This reverts part of the 2010-07-01 commit, 5bef1a35
66192         "hash: extend module to deal with non-pointer keys".
66194 2010-07-01  Bruno Haible  <bruno@clisp.org>
66196         stdbool: Update doc.
66197         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
66198         Info from Christian Weisgerber <naddy@mips.inka.de>.
66200 2010-07-01  Jim Meyering  <meyering@redhat.com>
66202         hash: extend module to deal with non-pointer keys
66203         * lib/hash.c (hash_insert0): New interface, much like hash_insert
66204         but that allows insertion of non-pointer entries.
66205         Do not disallow an ENTRY value of NULL.
66206         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
66207         * lib/hash.h (hash_insert0): Declare.
66209 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
66211         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
66212         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
66213         not present (i.e. with autoconf 2.59 and when using gettextize, not
66214         gnulib), require AC_GNU_SOURCE instead.
66216 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
66218         idpriv-drop: Fix tests.
66219         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
66220         not to the test-idpriv-droptemp program.
66222 2010-06-29  Bruno Haible  <bruno@clisp.org>
66224         string: Fix syntax error with g++ 2.96.
66225         * lib/string.in.h (__pure__): Remove definition.
66226         (_GL_ATTRIBUTE_PURE): New macro.
66227         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
66228         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
66229         Reported by Christian Weisgerber <naddy@mips.inka.de>.
66231 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
66233         unitypes: Fix bug introduced on 2010-05-18.
66234         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
66236 2010-06-22  Eric Blake  <eblake@redhat.com>
66238         memmem: slight optimization
66239         * lib/str-two-way.h (critical_factorization): Update comments.
66240         Reduce work during factorization phase.
66241         Reported by Carlos Bueno <carlos@bueno.org>.
66243 2010-06-21  Bruno Haible  <bruno@clisp.org>
66245         Fix HAVE_CALLOC_POSIX misnomer.
66246         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
66247         !HAVE_CALLOC_POSIX.
66248         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
66249         HAVE_CALLOC_POSIX.
66250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
66251         instead of HAVE_CALLOC_POSIX.
66252         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
66253         HAVE_CALLOC_POSIX.
66255         Use modern idiom for calloc() replacement.
66256         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
66257         AC_FUNC_CALLOC.
66258         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
66259         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
66260         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66261         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
66262         (gl_REPLACE_CALLOC): New macro.
66264 2010-06-21  Bruno Haible  <bruno@clisp.org>
66266         Fix HAVE_REALLOC_POSIX misnomer.
66267         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
66268         !HAVE_REALLOC_POSIX.
66269         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
66270         HAVE_REALLOC_POSIX.
66271         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
66272         instead of HAVE_REALLOC_POSIX.
66273         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
66274         HAVE_REALLOC_POSIX.
66276         Use modern idiom for realloc() replacement.
66277         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
66278         AC_FUNC_REALLOC.
66279         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
66280         Autoconf's AC_FUNC_REALLOC.
66281         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66282         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
66283         (gl_REPLACE_REALLOC): New macro.
66284         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66286 2010-06-21  Bruno Haible  <bruno@clisp.org>
66288         Fix HAVE_MALLOC_POSIX misnomer.
66289         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
66290         !HAVE_MALLOC_POSIX.
66291         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
66292         HAVE_MALLOC_POSIX.
66293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
66294         instead of HAVE_MALLOC_POSIX.
66295         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
66296         HAVE_MALLOC_POSIX.
66298         Use modern idiom for malloc() replacement.
66299         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
66300         AC_FUNC_MALLOC.
66301         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
66302         Autoconf's AC_FUNC_MALLOC.
66303         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66304         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
66305         (gl_REPLACE_MALLOC): New macro.
66306         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66308 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
66310         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
66311         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
66312         This macro takes 3 arguments, not 4.
66314 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
66316         ipv6: fix detection under mingw
66317         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
66318         in6_addr.
66320 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
66322         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
66323         that strtod() works when cross-compiling to a glibc version known
66324         to work.
66326 2010-06-15  Bruno Haible  <bruno@clisp.org>
66328         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
66330 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
66332         select: Correct timeout.
66333         * lib/select.c (rpl_select): Compute wait_timeout correctly.
66335 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66337         git-version-gen: init shell var to avoid env var influence
66338         * build-aux/git-version-gen (v): Init shell var to empty.
66340 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
66342         priv-set: Don't assume that priv.h exists merely because getppriv does.
66343         See Jan Andersen's bug report about AIX 5L in
66344         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
66345         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
66346         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
66347         * lib/priv-set.h: Likewise.
66348         * tests/test-priv-set.c: Likewise.
66350 2010-06-13  Bruno Haible  <bruno@clisp.org>
66352         relocatable: Make it easier to test whether to install wrappers.
66353         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
66354         RELOCATABLE_VIA_WRAPPER.
66356 2010-06-13  Bruno Haible  <bruno@clisp.org>
66358         gnulib-tool: Display specified modules and dependencies differently.
66359         * gnulib-tool (func_show_module_list): New function.
66360         (func_import, func_create_testdir): Invoke it.
66361         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
66363 2010-06-13  Bruno Haible  <bruno@clisp.org>
66365         gnulib-tool: Align code of func_import and func_create_testdir.
66366         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
66367         specified_modules.
66369 2010-06-12  Jim Meyering  <meyering@redhat.com>
66371         test-inttostr: avoid spurious failure on Solaris 9
66372         * tests/test-inttostr.c (main): Skip the test when snprintf fails
66373         to accept "%ju".  Reported by Bruno Haible.
66375 2010-06-11  Jim Meyering  <meyering@redhat.com>
66377         test-sys_socket: mark variables as used more readably
66378         * tests/test-sys_socket.c (main): Mark otherwise unused variables
66379         as "used" explicitly via (void) statement casts.  This is more
66380         readable than using them in an artificial return expression.
66381         Suggestion from Bruno Haible.
66383 2010-06-11  Bruno Haible  <bruno@clisp.org>
66385         Avoid some more warnings from "gcc -Wwrite-strings".
66386         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
66387         to 'const char *'.
66388         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
66389         * tests/test-c-strcasestr.c (main): Likewise.
66390         * tests/test-mbscasestr1.c (main): Likewise.
66391         * tests/test-mbscasestr2.c (main): Likewise.
66392         * tests/test-memmem.c (main): Likewise.
66393         * tests/test-strstr.c (main): Likewise.
66394         * tests/test-strcasestr.c (main): Likewise.
66396 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66398         init.sh: change framework_failure_ to fail with status 99, not 1
66399         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
66400         automake's parallel-tests rule that this is an unexpected failure,
66401         even if the test is listed in XFAIL_TESTS.
66403 2010-06-11  Jim Meyering  <meyering@redhat.com>
66405         test-inttostr: avoid warnings about 4-6KB literal strings
66406         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
66407         Include "macros.h", for its definition of ASSERT.
66408         (CK): s/assert/ASSERT/
66409         * modules/inttostr-tests (Files): Add macros.h.
66411         init.sh: don't use $ME_ or skip_ before they are defined
66412         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
66413         their first uses.  Also hoist their companions: warn_, fail_,
66414         framework_failure_, $stderr_fileno.  Prompted by a patch from
66415         Stefano Lattarini.
66417         test-sys_socket: avoid set-but-not-used warnings from gcc
66418         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
66419         avoid warning about set-but-not-used variables.
66421         test-xvasprintf: avoid 'const' discard warnings
66422         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
66423         "const" when assigning from literal strings.
66424         (test_xasprintf): Add "void" in function argument list to placate
66425         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
66427         tests: avoid compilation warnings in argmatch and exclude tests...
66428         in packages that define ARGMATCH_DIE_DECL, like coreutils.
66429         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
66430         Since it always exits, declare with the "noreturn" attribute.
66431         * tests/test-argmatch.c: Likewise.
66433         tests: avoid 'const' discard warnings in mbsstr tests
66434         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
66435         * tests/test-mbsstr2.c (main): Likewise.
66437         test-verify: avoid warning from gcc's -Wmissing-declarations
66438         * tests/test-verify.c (function): Declare to be static.
66440         test-inttostr.c: include <string.h> for use of strcmp
66441         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
66443         test-linkat: avoid failed assertion on "other" architectures
66444         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
66445         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
66446         sparc: https://bugs.launchpad.net/bugs/591968
66448 2010-06-11  Jim Meyering  <meyering@redhat.com>
66450         printf.m4: avoid autoconf's "Expanded Before Required" warning
66451         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
66452         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
66453         autoconf warning.
66455 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
66457         Replacement header templates are now named with ".in", not "_".
66458         * doc/gnulib-intro.texi: Correct.
66460 2010-06-10  Jim Meyering  <meyering@redhat.com>
66462         inttostr-tests: depend on snprintf, not snprintf-posix
66463         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
66464         snprintf-posix, to avoid this aclocal failure:
66465           missing file gnulib-tests/vasnprintf.c
66466           configure.ac:45: error: expected source file, required through \
66467           AC_LIBSOURCES, not found
66469 2010-06-10  Jim Meyering  <meyering@redhat.com>
66471         inttostr: add a new function, inttostr, and tests
66472         The namesake function was not available.  The existence of the
66473         template file, inttostr.c makes its addition nontrivial.
66474         * lib/anytostr.c: Rename from inttostr.c.
66475         (anytostr): Rename from inttostr.
66476         * lib/inttostr.c: New file.
66477         * modules/inttostr (Files): Add anytostr.c.
66478         (Makefile.am): Set lib_SOURCES instead of ...
66479         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
66480         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
66481         * lib/offtostr.c: Likewise.
66482         * lib/uinttostr.c: Likewise.
66483         * lib/umaxtostr.c: Likewise.
66484         * modules/inttostr-tests: New file.
66485         * tests/test-inttostr.c: New file.  Test these functions.
66487 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
66488             Bruno Haible  <bruno@clisp.org>
66490         Add "Extending Gnulib" chapter to manual.
66491         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
66492         chapter.
66493         (Extending Gnulib): New chapter.
66494         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
66495         chapter.
66497 2010-06-09  Bruno Haible  <bruno@clisp.org>
66499         Avoid relocwrapper link errors due to gnulib replacement functions.
66500         * lib/areadlink.c: Use the system's malloc, realloc functions.
66501         (areadlink): Set errno to ENOMEM explicitly.
66502         * modules/areadlink (Depends-on): Remove malloc-posix.
66503         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66505 2010-06-09  Bruno Haible  <bruno@clisp.org>
66507         Avoid relocwrapper link errors due to gnulib replacement functions.
66508         * lib/canonicalize-lgpl.c: Use the system's malloc function.
66509         * lib/malloca.c: Likewise.
66510         * lib/relocatable.c: Likewise.
66511         * lib/progreloc.c: Use the system's malloc, sprintf functions.
66512         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
66513         * lib/setenv.c: Use the system's malloc, realloc functions.
66514         * lib/strerror.c: Use the system's sprintf function.
66515         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66517 2010-06-04  Bruno Haible  <bruno@clisp.org>
66519         Prefer documented low-level autoconf macro names.
66520         * m4/lib-link.m4: Use m4_translit instead of translit.
66521         * m4/environ.m4: Likewise.
66522         * m4/mathfunc.m4: Likewise.
66523         * m4/onceonly.m4: Likewise.
66524         * m4/stdint.m4: Likewise.
66525         Suggested by Eric Blake.
66527 2010-06-04  Martin Lambers  <marlam@marlam.de>
66528             Bruno Haible  <bruno@clisp.org>
66530         havelib: Allow library names with '+' characters.
66531         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
66532         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
66534 2010-06-09  Bruno Haible  <bruno@clisp.org>
66536         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
66537         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
66538         realloc failed.
66540 2010-06-08  Peter Simons  <simons@cryp.to>
66542         maint.mk: make the news-check rule more configurable
66543         * top/maint.mk (news-check-lines-spec): New variable.
66544         (news-check): Use "sed -n 1,10p" in place of "head".
66546 2010-06-07  Jim Meyering  <meyering@redhat.com>
66548         do-release-commit-and-tag: fix typo in --help
66549         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
66551         regex: avoid new dead-code warning with gcc-4.6.0
66552         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
66553         if-block containing a while-loop.  It's been unused for at least
66554         5 years.
66556 2010-06-05  Bruno Haible  <bruno@clisp.org>
66558         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
66559         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
66561 2010-06-04  Bruno Haible  <bruno@clisp.org>
66563         Update to GNU gettext 0.18.1.
66564         * modules/gettext (configure.ac): Require gettext infrastructure from
66565         version 0.18.1.
66567 2010-06-03  Bruno Haible  <bruno@clisp.org>
66569         Don't use AC_LIBOBJ with file names in subdirectories.
66570         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
66571         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
66572         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
66573         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
66574         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
66575         gl_LIBUNISTRING_LIBSOURCE.
66576         (Makefile.am): Augment lib_SOURCES here, conditionally.
66577         * NEWS: Drop requirement for Automake option 'subdir-objects'.
66579 2010-06-03  Bruno Haible  <bruno@clisp.org>
66581         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
66582         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
66583         expansion does not end with a newline.
66584         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
66585         unnecessary newline.
66587 2010-06-03  Bruno Haible  <bruno@clisp.org>
66589         Reduce dependencies.
66590         * tests/test-quotearg.h: New file, extracted from
66591         tests/test-quotearg.c.
66592         * tests/test-quotearg-simple.c: New file, extracted from
66593         tests/test-quotearg.c.
66594         * tests/test-quotearg.c: Don't include <ctype.h>.
66595         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
66596         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
66597         use_quote_double_quotes, use_quotearg_colon): Moved to
66598         tests/test-quotearg.h.
66599         (results_g, flag_results, custom_quotes, custom_results): Moved
66600         to tests/test-quotearg-simple.c.
66601         (main): Moved the part that does not depend on gettext to
66602         tests/test-quotearg-simple.c. Return 77 if the test cannot be
66603         performed.
66604         * modules/quotearg-simple: New file.
66605         * modules/quotearg-simple-tests: New file.
66606         * modules/quotearg (Depends-on): Add quotearg-simple.
66607         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
66608         (Files): Add tests/test-quotearg.h.
66609         Reported by Paolo Bonzini.
66611 2010-06-03  Bruno Haible  <bruno@clisp.org>
66613         Reduce dependencies.
66614         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
66616 2010-06-03  Bruno Haible  <bruno@clisp.org>
66618         time: Undefine more broken macros.
66619         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
66620         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
66621         Reported by Eric Blake.
66623 2010-06-03  Bruno Haible  <bruno@clisp.org>
66625         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
66626         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
66627         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
66628         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
66629         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
66630         Reported by Ludovic Courtès <ludo@gnu.org>.
66632 2010-06-02  Eric Blake  <eblake@redhat.com>
66634         time: work with mingw + pthreads-win32 library
66635         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
66636         if timespec is defined only in pthread.h.
66637         * modules/time (Makefile.am): Substitute it.
66638         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
66639         <pthread.h>, when needed.
66640         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
66641         from the library.
66643 2010-05-31  Bruno Haible  <bruno@clisp.org>
66645         Avoid expanding two macros in the wrong order.
66646         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
66647         gl_LIBUNISTRING if it is defined.
66648         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
66649         autoconf >= 2.64.
66650         Reported by Ludovic Courtès <ludo@gnu.org>.
66652 2010-05-27  Jim Meyering  <meyering@redhat.com>
66654         maint.mk: also prohibit "#undef" of always-defined symbols
66655         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
66656         Allow more than one space before the symbol name.
66657         (sc_prohibit_always-defined_macros): Use grep's -E, now that
66658         the regexp uses alternation.
66660 2010-05-26  Eric Blake  <eblake@redhat.com>
66662         maint.mk: avoid echo -e
66663         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
66664         Convert all uses of echo -* to printf.
66665         Reported by Matthias Bolte.
66667 2010-05-25  Bruno Haible  <bruno@clisp.org>
66669         Update to GNU gettext 0.18, part 2.
66670         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
66671         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
66673 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66675         Add missing include in test-pwrite.c.
66676         * tests/test-pwrite.c: Include string.h, for strcmp.
66678 2010-05-24  Bruno Haible  <bruno@clisp.org>
66680         * NEWS: Mention requirement for Automake option 'subdir-objects'.
66682 2010-05-24  Bruno Haible  <bruno@clisp.org>
66684         Don't use conversion with transliteration in u{8,16,32}_strcoll.
66685         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
66686         iconveh_error argument.
66687         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
66688         U_STRCONV_TO_LOCALE.
66689         * lib/unistr/u16-strcoll.c: Likewise.
66690         * lib/unistr/u32-strcoll.c: Likewise.
66691         * modules/unistr/u8-strcoll (Depends-on): Add
66692         uniconv/u8-strconv-to-enc, localcharset. Remove
66693         uniconv/u8-strconv-to-locale.
66694         (configure.ac): Bump version number.
66695         * modules/unistr/u16-strcoll (Depends-on): Add
66696         uniconv/u16-strconv-to-enc, localcharset. Remove
66697         uniconv/u16-strconv-to-locale.
66698         (configure.ac): Bump version number.
66699         * modules/unistr/u32-strcoll (Depends-on): Add
66700         uniconv/u32-strconv-to-enc, localcharset. Remove
66701         uniconv/u32-strconv-to-locale.
66702         (configure.ac): Bump version number.
66704 2010-05-24  Bruno Haible  <bruno@clisp.org>
66706         Avoid a test failure on NetBSD 5.0.
66707         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
66708         an iconv() bug.
66710 2010-05-24  Bruno Haible  <bruno@clisp.org>
66712         Adjust #include directive style.
66713         * modules/regex (Includes): Recommend to write <regex.h>.
66715 2010-05-24  Bruno Haible  <bruno@clisp.org>
66717         regex: Don't require alloca.
66718         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
66719         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
66720         only inside if (0).
66722 2010-05-23  Jim Meyering  <meyering@redhat.com>
66724         test-renameat.c: include <sys/stat.h>
66725         * tests/test-renameat.c: Include <sys/stat.h>; required for
66726         definition of S_IS* macros.
66728 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
66730         Update maintainer documentation for 'relocatable-prog' module.
66731         * doc/relocatable-maint.texi: Update.
66732         Comments by Bruno Haible.
66734 2010-05-23  Bruno Haible  <bruno@clisp.org>
66736         git-merge-changelog: Enable --split-merged-entry by default.
66737         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
66738         (usage): Don't mention this option any more.
66739         Reported by Ralf Wildenhues.
66741 2010-05-23  Jim Meyering  <meyering@redhat.com>
66743         test-pwrite: do not leave behind a test file named "out"
66744         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
66745         The trivial-looking use of init.sh is really necessary.
66746         It ensures that the temporary file, "out", is created in
66747         a temporary directory, and removed upon termination.
66748         * tests/test-pwrite.sh: Re-add file.
66749         * modules/pwrite-tests: Reference it.
66751 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66753         Fix output redirection buglet in init.sh.
66754         * tests/init.sh: Fix redirection of stderr.
66756 2010-05-20  Simon Josefsson  <simon@josefsson.org>
66758         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
66760 2010-05-17  Simon Josefsson  <simon@josefsson.org>
66762         * modules/valgrind-tests: New file.
66763         * m4/valgrind-tests.m4: New file.
66764         * doc/valgrind-tests.texi: New file.
66765         * doc/gnulib.texi (Running self-tests under valgrind): New
66766         section.
66768 2010-05-19  Bruno Haible  <bruno@clisp.org>
66770         Clean up dead code in recent commit.
66771         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
66772         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
66773         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
66774         Suggested by Paolo Bonzini.
66776 2010-05-19  Bruno Haible  <bruno@clisp.org>
66778         Avoid valgrind error reports from libunistring.
66779         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
66780         * modules/libunistring (Files): Add it.
66781         * modules/libunistring-optional (Files): Likewise.
66783 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
66784             Bruno Haible  <bruno@clisp.org>
66786         New module 'libunistring-optional'.
66787         * modules/libunistring-optional: New file.
66788         * m4/libunistring-base.m4: New file.
66789         * m4/libunistring-optional.m4: New file.
66790         * lib/unicase.in.h: Renamed from lib/unicase.h.
66791         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
66792         * lib/unictype.in.h: Renamed from lib/unictype.h.
66793         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
66794         * lib/uniname.in.h: Renamed from lib/uniname.h.
66795         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
66796         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
66797         * lib/unistr.in.h: Renamed from lib/unistr.h.
66798         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
66799         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
66800         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
66801         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
66802         gl_LIBUNISTRING. If the library was found, determine the installed
66803         version and set LIBUNISTRING_VERSION.
66804         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
66805         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
66806         handle a configuration option --with-included-libunistring.
66807         * modules/libunistring (Files): Add m4/absolute-header.m4.
66808         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
66809         Add m4/libunistring-base.m4.
66810         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66811         (Makefile.am): Build unicase.h from unicase.in.h.
66812         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
66813         Add m4/libunistring-base.m4.
66814         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66815         (Makefile.am): Build uniconv.h from uniconv.in.h.
66816         * modules/unictype/base (Files): Use unictype.in.h instead of
66817         unictype.h. Add m4/libunistring-base.m4.
66818         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66819         (Makefile.am): Build unictype.h from unictype.in.h.
66820         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
66821         Add m4/libunistring-base.m4.
66822         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66823         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
66824         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
66825         Add m4/libunistring-base.m4.
66826         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66827         (Makefile.am): Build uniname.h from uniname.in.h.
66828         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
66829         Add m4/libunistring-base.m4.
66830         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66831         (Makefile.am): Build uninorm.h from uninorm.in.h.
66832         * modules/unistdio/base (Files): Use unistdio.in.h instead of
66833         unistdio.h. Add m4/libunistring-base.m4.
66834         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66835         (Makefile.am): Build unistdio.h from unistdio.in.h.
66836         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
66837         Add m4/libunistring-base.m4.
66838         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66839         (Makefile.am): Build unistr.h from unistr.in.h.
66840         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
66841         Add m4/libunistring-base.m4.
66842         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66843         (Makefile.am): Build unitypes.h from unitypes.in.h.
66844         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
66845         Add m4/libunistring-base.m4.
66846         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66847         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
66848         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
66849         uniwidth.h. Add m4/libunistring-base.m4.
66850         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66851         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
66852         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
66853         instead of augmenting lib_SOURCES.
66854         * modules/unicase/empty-suffix-context: Likewise.
66855         * modules/unicase/locale-language: Likewise.
66856         * modules/unicase/tolower: Likewise.
66857         * modules/unicase/totitle: Likewise.
66858         * modules/unicase/toupper: Likewise.
66859         * modules/unicase/u8-casecmp: Likewise.
66860         * modules/unicase/u8-casecoll: Likewise.
66861         * modules/unicase/u8-casefold: Likewise.
66862         * modules/unicase/u8-casexfrm: Likewise.
66863         * modules/unicase/u8-ct-casefold: Likewise.
66864         * modules/unicase/u8-ct-tolower: Likewise.
66865         * modules/unicase/u8-ct-totitle: Likewise.
66866         * modules/unicase/u8-ct-toupper: Likewise.
66867         * modules/unicase/u8-is-cased: Likewise.
66868         * modules/unicase/u8-is-casefolded: Likewise.
66869         * modules/unicase/u8-is-lowercase: Likewise.
66870         * modules/unicase/u8-is-titlecase: Likewise.
66871         * modules/unicase/u8-is-uppercase: Likewise.
66872         * modules/unicase/u8-prefix-context: Likewise.
66873         * modules/unicase/u8-suffix-context: Likewise.
66874         * modules/unicase/u8-tolower: Likewise.
66875         * modules/unicase/u8-totitle: Likewise.
66876         * modules/unicase/u8-toupper: Likewise.
66877         * modules/unicase/u16-casecmp: Likewise.
66878         * modules/unicase/u16-casecoll: Likewise.
66879         * modules/unicase/u16-casefold: Likewise.
66880         * modules/unicase/u16-casexfrm: Likewise.
66881         * modules/unicase/u16-ct-casefold: Likewise.
66882         * modules/unicase/u16-ct-tolower: Likewise.
66883         * modules/unicase/u16-ct-totitle: Likewise.
66884         * modules/unicase/u16-ct-toupper: Likewise.
66885         * modules/unicase/u16-is-cased: Likewise.
66886         * modules/unicase/u16-is-casefolded: Likewise.
66887         * modules/unicase/u16-is-lowercase: Likewise.
66888         * modules/unicase/u16-is-titlecase: Likewise.
66889         * modules/unicase/u16-is-uppercase: Likewise.
66890         * modules/unicase/u16-prefix-context: Likewise.
66891         * modules/unicase/u16-suffix-context: Likewise.
66892         * modules/unicase/u16-tolower: Likewise.
66893         * modules/unicase/u16-totitle: Likewise.
66894         * modules/unicase/u16-toupper: Likewise.
66895         * modules/unicase/u32-casecmp: Likewise.
66896         * modules/unicase/u32-casecoll: Likewise.
66897         * modules/unicase/u32-casefold: Likewise.
66898         * modules/unicase/u32-casexfrm: Likewise.
66899         * modules/unicase/u32-ct-casefold: Likewise.
66900         * modules/unicase/u32-ct-tolower: Likewise.
66901         * modules/unicase/u32-ct-totitle: Likewise.
66902         * modules/unicase/u32-ct-toupper: Likewise.
66903         * modules/unicase/u32-is-cased: Likewise.
66904         * modules/unicase/u32-is-casefolded: Likewise.
66905         * modules/unicase/u32-is-lowercase: Likewise.
66906         * modules/unicase/u32-is-titlecase: Likewise.
66907         * modules/unicase/u32-is-uppercase: Likewise.
66908         * modules/unicase/u32-prefix-context: Likewise.
66909         * modules/unicase/u32-suffix-context: Likewise.
66910         * modules/unicase/u32-tolower: Likewise.
66911         * modules/unicase/u32-totitle: Likewise.
66912         * modules/unicase/u32-toupper: Likewise.
66913         * modules/unicase/ulc-casecmp: Likewise.
66914         * modules/unicase/ulc-casecoll: Likewise.
66915         * modules/unicase/ulc-casexfrm: Likewise.
66916         * modules/uniconv/u8-conv-from-enc: Likewise.
66917         * modules/uniconv/u8-conv-to-enc: Likewise.
66918         * modules/uniconv/u8-strconv-from-enc: Likewise.
66919         * modules/uniconv/u8-strconv-from-locale: Likewise.
66920         * modules/uniconv/u8-strconv-to-enc: Likewise.
66921         * modules/uniconv/u8-strconv-to-locale: Likewise.
66922         * modules/uniconv/u16-conv-from-enc: Likewise.
66923         * modules/uniconv/u16-conv-to-enc: Likewise.
66924         * modules/uniconv/u16-strconv-from-enc: Likewise.
66925         * modules/uniconv/u16-strconv-from-locale: Likewise.
66926         * modules/uniconv/u16-strconv-to-enc: Likewise.
66927         * modules/uniconv/u16-strconv-to-locale: Likewise.
66928         * modules/uniconv/u32-conv-from-enc: Likewise.
66929         * modules/uniconv/u32-conv-to-enc: Likewise.
66930         * modules/uniconv/u32-strconv-from-enc: Likewise.
66931         * modules/uniconv/u32-strconv-from-locale: Likewise.
66932         * modules/uniconv/u32-strconv-to-enc: Likewise.
66933         * modules/uniconv/u32-strconv-to-locale: Likewise.
66934         * modules/unictype/bidicategory-byname: Likewise.
66935         * modules/unictype/bidicategory-name: Likewise.
66936         * modules/unictype/bidicategory-of: Likewise.
66937         * modules/unictype/bidicategory-test: Likewise.
66938         * modules/unictype/block-list: Likewise.
66939         * modules/unictype/block-test: Likewise.
66940         * modules/unictype/category-C: Likewise.
66941         * modules/unictype/category-Cc: Likewise.
66942         * modules/unictype/category-Cf: Likewise.
66943         * modules/unictype/category-Cn: Likewise.
66944         * modules/unictype/category-Co: Likewise.
66945         * modules/unictype/category-Cs: Likewise.
66946         * modules/unictype/category-L: Likewise.
66947         * modules/unictype/category-Ll: Likewise.
66948         * modules/unictype/category-Lm: Likewise.
66949         * modules/unictype/category-Lo: Likewise.
66950         * modules/unictype/category-Lt: Likewise.
66951         * modules/unictype/category-Lu: Likewise.
66952         * modules/unictype/category-M: Likewise.
66953         * modules/unictype/category-Mc: Likewise.
66954         * modules/unictype/category-Me: Likewise.
66955         * modules/unictype/category-Mn: Likewise.
66956         * modules/unictype/category-N: Likewise.
66957         * modules/unictype/category-Nd: Likewise.
66958         * modules/unictype/category-Nl: Likewise.
66959         * modules/unictype/category-No: Likewise.
66960         * modules/unictype/category-P: Likewise.
66961         * modules/unictype/category-Pc: Likewise.
66962         * modules/unictype/category-Pd: Likewise.
66963         * modules/unictype/category-Pe: Likewise.
66964         * modules/unictype/category-Pf: Likewise.
66965         * modules/unictype/category-Pi: Likewise.
66966         * modules/unictype/category-Po: Likewise.
66967         * modules/unictype/category-Ps: Likewise.
66968         * modules/unictype/category-S: Likewise.
66969         * modules/unictype/category-Sc: Likewise.
66970         * modules/unictype/category-Sk: Likewise.
66971         * modules/unictype/category-Sm: Likewise.
66972         * modules/unictype/category-So: Likewise.
66973         * modules/unictype/category-Z: Likewise.
66974         * modules/unictype/category-Zl: Likewise.
66975         * modules/unictype/category-Zp: Likewise.
66976         * modules/unictype/category-Zs: Likewise.
66977         * modules/unictype/category-and: Likewise.
66978         * modules/unictype/category-and-not: Likewise.
66979         * modules/unictype/category-byname: Likewise.
66980         * modules/unictype/category-name: Likewise.
66981         * modules/unictype/category-none: Likewise.
66982         * modules/unictype/category-of: Likewise.
66983         * modules/unictype/category-or: Likewise.
66984         * modules/unictype/category-test: Likewise.
66985         * modules/unictype/combining-class: Likewise.
66986         * modules/unictype/ctype-alnum: Likewise.
66987         * modules/unictype/ctype-alpha: Likewise.
66988         * modules/unictype/ctype-blank: Likewise.
66989         * modules/unictype/ctype-cntrl: Likewise.
66990         * modules/unictype/ctype-digit: Likewise.
66991         * modules/unictype/ctype-graph: Likewise.
66992         * modules/unictype/ctype-lower: Likewise.
66993         * modules/unictype/ctype-print: Likewise.
66994         * modules/unictype/ctype-punct: Likewise.
66995         * modules/unictype/ctype-space: Likewise.
66996         * modules/unictype/ctype-upper: Likewise.
66997         * modules/unictype/ctype-xdigit: Likewise.
66998         * modules/unictype/decimal-digit: Likewise.
66999         * modules/unictype/digit: Likewise.
67000         * modules/unictype/mirror: Likewise.
67001         * modules/unictype/numeric: Likewise.
67002         * modules/unictype/property-alphabetic: Likewise.
67003         * modules/unictype/property-ascii-hex-digit: Likewise.
67004         * modules/unictype/property-bidi-arabic-digit: Likewise.
67005         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
67006         * modules/unictype/property-bidi-block-separator: Likewise.
67007         * modules/unictype/property-bidi-boundary-neutral: Likewise.
67008         * modules/unictype/property-bidi-common-separator: Likewise.
67009         * modules/unictype/property-bidi-control: Likewise.
67010         * modules/unictype/property-bidi-embedding-or-override: Likewise.
67011         * modules/unictype/property-bidi-eur-num-separator: Likewise.
67012         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
67013         * modules/unictype/property-bidi-european-digit: Likewise.
67014         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
67015         * modules/unictype/property-bidi-left-to-right: Likewise.
67016         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
67017         * modules/unictype/property-bidi-other-neutral: Likewise.
67018         * modules/unictype/property-bidi-pdf: Likewise.
67019         * modules/unictype/property-bidi-segment-separator: Likewise.
67020         * modules/unictype/property-bidi-whitespace: Likewise.
67021         * modules/unictype/property-byname: Likewise.
67022         * modules/unictype/property-combining: Likewise.
67023         * modules/unictype/property-composite: Likewise.
67024         * modules/unictype/property-currency-symbol: Likewise.
67025         * modules/unictype/property-dash: Likewise.
67026         * modules/unictype/property-decimal-digit: Likewise.
67027         * modules/unictype/property-default-ignorable-code-point: Likewise.
67028         * modules/unictype/property-deprecated: Likewise.
67029         * modules/unictype/property-diacritic: Likewise.
67030         * modules/unictype/property-extender: Likewise.
67031         * modules/unictype/property-format-control: Likewise.
67032         * modules/unictype/property-grapheme-base: Likewise.
67033         * modules/unictype/property-grapheme-extend: Likewise.
67034         * modules/unictype/property-grapheme-link: Likewise.
67035         * modules/unictype/property-hex-digit: Likewise.
67036         * modules/unictype/property-hyphen: Likewise.
67037         * modules/unictype/property-id-continue: Likewise.
67038         * modules/unictype/property-id-start: Likewise.
67039         * modules/unictype/property-ideographic: Likewise.
67040         * modules/unictype/property-ids-binary-operator: Likewise.
67041         * modules/unictype/property-ids-trinary-operator: Likewise.
67042         * modules/unictype/property-ignorable-control: Likewise.
67043         * modules/unictype/property-iso-control: Likewise.
67044         * modules/unictype/property-join-control: Likewise.
67045         * modules/unictype/property-left-of-pair: Likewise.
67046         * modules/unictype/property-line-separator: Likewise.
67047         * modules/unictype/property-logical-order-exception: Likewise.
67048         * modules/unictype/property-lowercase: Likewise.
67049         * modules/unictype/property-math: Likewise.
67050         * modules/unictype/property-non-break: Likewise.
67051         * modules/unictype/property-not-a-character: Likewise.
67052         * modules/unictype/property-numeric: Likewise.
67053         * modules/unictype/property-other-alphabetic: Likewise.
67054         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
67055         * modules/unictype/property-other-grapheme-extend: Likewise.
67056         * modules/unictype/property-other-id-continue: Likewise.
67057         * modules/unictype/property-other-id-start: Likewise.
67058         * modules/unictype/property-other-lowercase: Likewise.
67059         * modules/unictype/property-other-math: Likewise.
67060         * modules/unictype/property-other-uppercase: Likewise.
67061         * modules/unictype/property-paired-punctuation: Likewise.
67062         * modules/unictype/property-paragraph-separator: Likewise.
67063         * modules/unictype/property-pattern-syntax: Likewise.
67064         * modules/unictype/property-pattern-white-space: Likewise.
67065         * modules/unictype/property-private-use: Likewise.
67066         * modules/unictype/property-punctuation: Likewise.
67067         * modules/unictype/property-quotation-mark: Likewise.
67068         * modules/unictype/property-radical: Likewise.
67069         * modules/unictype/property-sentence-terminal: Likewise.
67070         * modules/unictype/property-soft-dotted: Likewise.
67071         * modules/unictype/property-space: Likewise.
67072         * modules/unictype/property-terminal-punctuation: Likewise.
67073         * modules/unictype/property-test: Likewise.
67074         * modules/unictype/property-titlecase: Likewise.
67075         * modules/unictype/property-unassigned-code-value: Likewise.
67076         * modules/unictype/property-unified-ideograph: Likewise.
67077         * modules/unictype/property-uppercase: Likewise.
67078         * modules/unictype/property-variation-selector: Likewise.
67079         * modules/unictype/property-white-space: Likewise.
67080         * modules/unictype/property-xid-continue: Likewise.
67081         * modules/unictype/property-xid-start: Likewise.
67082         * modules/unictype/property-zero-width: Likewise.
67083         * modules/unictype/scripts: Likewise.
67084         * modules/unictype/syntax-c-ident: Likewise.
67085         * modules/unictype/syntax-c-whitespace: Likewise.
67086         * modules/unictype/syntax-java-ident: Likewise.
67087         * modules/unictype/syntax-java-whitespace: Likewise.
67088         * modules/unilbrk/u8-possible-linebreaks: Likewise.
67089         * modules/unilbrk/u8-width-linebreaks: Likewise.
67090         * modules/unilbrk/u16-possible-linebreaks: Likewise.
67091         * modules/unilbrk/u16-width-linebreaks: Likewise.
67092         * modules/unilbrk/u32-possible-linebreaks: Likewise.
67093         * modules/unilbrk/u32-width-linebreaks: Likewise.
67094         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
67095         * modules/unilbrk/ulc-width-linebreaks: Likewise.
67096         * modules/uniname/uniname: Likewise.
67097         * modules/uninorm/canonical-decomposition: Likewise.
67098         * modules/uninorm/composition: Likewise.
67099         * modules/uninorm/decomposing-form: Likewise.
67100         * modules/uninorm/decomposition: Likewise.
67101         * modules/uninorm/filter: Likewise.
67102         * modules/uninorm/nfc: Likewise.
67103         * modules/uninorm/nfd: Likewise.
67104         * modules/uninorm/nfkc: Likewise.
67105         * modules/uninorm/nfkd: Likewise.
67106         * modules/uninorm/u8-normalize: Likewise.
67107         * modules/uninorm/u8-normcmp: Likewise.
67108         * modules/uninorm/u8-normcoll: Likewise.
67109         * modules/uninorm/u8-normxfrm: Likewise.
67110         * modules/uninorm/u16-normalize: Likewise.
67111         * modules/uninorm/u16-normcmp: Likewise.
67112         * modules/uninorm/u16-normcoll: Likewise.
67113         * modules/uninorm/u16-normxfrm: Likewise.
67114         * modules/uninorm/u32-normalize: Likewise.
67115         * modules/uninorm/u32-normcmp: Likewise.
67116         * modules/uninorm/u32-normcoll: Likewise.
67117         * modules/uninorm/u32-normxfrm: Likewise.
67118         * modules/unistdio/u8-asnprintf: Likewise.
67119         * modules/unistdio/u8-asprintf: Likewise.
67120         * modules/unistdio/u8-snprintf: Likewise.
67121         * modules/unistdio/u8-sprintf: Likewise.
67122         * modules/unistdio/u8-u8-asnprintf: Likewise.
67123         * modules/unistdio/u8-u8-asprintf: Likewise.
67124         * modules/unistdio/u8-u8-snprintf: Likewise.
67125         * modules/unistdio/u8-u8-sprintf: Likewise.
67126         * modules/unistdio/u8-u8-vasnprintf: Likewise.
67127         * modules/unistdio/u8-u8-vasprintf: Likewise.
67128         * modules/unistdio/u8-u8-vsnprintf: Likewise.
67129         * modules/unistdio/u8-u8-vsprintf: Likewise.
67130         * modules/unistdio/u8-vasnprintf: Likewise.
67131         * modules/unistdio/u8-vasprintf: Likewise.
67132         * modules/unistdio/u8-vsnprintf: Likewise.
67133         * modules/unistdio/u8-vsprintf: Likewise.
67134         * modules/unistdio/u16-asnprintf: Likewise.
67135         * modules/unistdio/u16-asprintf: Likewise.
67136         * modules/unistdio/u16-snprintf: Likewise.
67137         * modules/unistdio/u16-sprintf: Likewise.
67138         * modules/unistdio/u16-u16-asnprintf: Likewise.
67139         * modules/unistdio/u16-u16-asprintf: Likewise.
67140         * modules/unistdio/u16-u16-snprintf: Likewise.
67141         * modules/unistdio/u16-u16-sprintf: Likewise.
67142         * modules/unistdio/u16-u16-vasnprintf: Likewise.
67143         * modules/unistdio/u16-u16-vasprintf: Likewise.
67144         * modules/unistdio/u16-u16-vsnprintf: Likewise.
67145         * modules/unistdio/u16-u16-vsprintf: Likewise.
67146         * modules/unistdio/u16-vasnprintf: Likewise.
67147         * modules/unistdio/u16-vasprintf: Likewise.
67148         * modules/unistdio/u16-vsnprintf: Likewise.
67149         * modules/unistdio/u16-vsprintf: Likewise.
67150         * modules/unistdio/u32-asnprintf: Likewise.
67151         * modules/unistdio/u32-asprintf: Likewise.
67152         * modules/unistdio/u32-snprintf: Likewise.
67153         * modules/unistdio/u32-sprintf: Likewise.
67154         * modules/unistdio/u32-u32-asnprintf: Likewise.
67155         * modules/unistdio/u32-u32-asprintf: Likewise.
67156         * modules/unistdio/u32-u32-snprintf: Likewise.
67157         * modules/unistdio/u32-u32-sprintf: Likewise.
67158         * modules/unistdio/u32-u32-vasnprintf: Likewise.
67159         * modules/unistdio/u32-u32-vasprintf: Likewise.
67160         * modules/unistdio/u32-u32-vsnprintf: Likewise.
67161         * modules/unistdio/u32-u32-vsprintf: Likewise.
67162         * modules/unistdio/u32-vasnprintf: Likewise.
67163         * modules/unistdio/u32-vasprintf: Likewise.
67164         * modules/unistdio/u32-vsnprintf: Likewise.
67165         * modules/unistdio/u32-vsprintf: Likewise.
67166         * modules/unistdio/ulc-asnprintf: Likewise.
67167         * modules/unistdio/ulc-asprintf: Likewise.
67168         * modules/unistdio/ulc-fprintf: Likewise.
67169         * modules/unistdio/ulc-snprintf: Likewise.
67170         * modules/unistdio/ulc-sprintf: Likewise.
67171         * modules/unistdio/ulc-vasnprintf: Likewise.
67172         * modules/unistdio/ulc-vasprintf: Likewise.
67173         * modules/unistdio/ulc-vfprintf: Likewise.
67174         * modules/unistdio/ulc-vsnprintf: Likewise.
67175         * modules/unistdio/ulc-vsprintf: Likewise.
67176         * modules/unistr/u8-check: Likewise.
67177         * modules/unistr/u8-chr: Likewise.
67178         * modules/unistr/u8-cmp: Likewise.
67179         * modules/unistr/u8-cmp2: Likewise.
67180         * modules/unistr/u8-cpy: Likewise.
67181         * modules/unistr/u8-cpy-alloc: Likewise.
67182         * modules/unistr/u8-endswith: Likewise.
67183         * modules/unistr/u8-mblen: Likewise.
67184         * modules/unistr/u8-mbsnlen: Likewise.
67185         * modules/unistr/u8-mbtouc: Likewise.
67186         * modules/unistr/u8-mbtouc-unsafe: Likewise.
67187         * modules/unistr/u8-mbtoucr: Likewise.
67188         * modules/unistr/u8-move: Likewise.
67189         * modules/unistr/u8-next: Likewise.
67190         * modules/unistr/u8-prev: Likewise.
67191         * modules/unistr/u8-set: Likewise.
67192         * modules/unistr/u8-startswith: Likewise.
67193         * modules/unistr/u8-stpcpy: Likewise.
67194         * modules/unistr/u8-stpncpy: Likewise.
67195         * modules/unistr/u8-strcat: Likewise.
67196         * modules/unistr/u8-strchr: Likewise.
67197         * modules/unistr/u8-strcmp: Likewise.
67198         * modules/unistr/u8-strcoll: Likewise.
67199         * modules/unistr/u8-strcpy: Likewise.
67200         * modules/unistr/u8-strcspn: Likewise.
67201         * modules/unistr/u8-strdup: Likewise.
67202         * modules/unistr/u8-strlen: Likewise.
67203         * modules/unistr/u8-strmblen: Likewise.
67204         * modules/unistr/u8-strmbtouc: Likewise.
67205         * modules/unistr/u8-strncat: Likewise.
67206         * modules/unistr/u8-strncmp: Likewise.
67207         * modules/unistr/u8-strncpy: Likewise.
67208         * modules/unistr/u8-strnlen: Likewise.
67209         * modules/unistr/u8-strpbrk: Likewise.
67210         * modules/unistr/u8-strrchr: Likewise.
67211         * modules/unistr/u8-strspn: Likewise.
67212         * modules/unistr/u8-strstr: Likewise.
67213         * modules/unistr/u8-strtok: Likewise.
67214         * modules/unistr/u8-to-u16: Likewise.
67215         * modules/unistr/u8-to-u32: Likewise.
67216         * modules/unistr/u8-uctomb: Likewise.
67217         * modules/unistr/u16-check: Likewise.
67218         * modules/unistr/u16-chr: Likewise.
67219         * modules/unistr/u16-cmp: Likewise.
67220         * modules/unistr/u16-cmp2: Likewise.
67221         * modules/unistr/u16-cpy: Likewise.
67222         * modules/unistr/u16-cpy-alloc: Likewise.
67223         * modules/unistr/u16-endswith: Likewise.
67224         * modules/unistr/u16-mblen: Likewise.
67225         * modules/unistr/u16-mbsnlen: Likewise.
67226         * modules/unistr/u16-mbtouc: Likewise.
67227         * modules/unistr/u16-mbtouc-unsafe: Likewise.
67228         * modules/unistr/u16-mbtoucr: Likewise.
67229         * modules/unistr/u16-move: Likewise.
67230         * modules/unistr/u16-next: Likewise.
67231         * modules/unistr/u16-prev: Likewise.
67232         * modules/unistr/u16-set: Likewise.
67233         * modules/unistr/u16-startswith: Likewise.
67234         * modules/unistr/u16-stpcpy: Likewise.
67235         * modules/unistr/u16-stpncpy: Likewise.
67236         * modules/unistr/u16-strcat: Likewise.
67237         * modules/unistr/u16-strchr: Likewise.
67238         * modules/unistr/u16-strcmp: Likewise.
67239         * modules/unistr/u16-strcoll: Likewise.
67240         * modules/unistr/u16-strcpy: Likewise.
67241         * modules/unistr/u16-strcspn: Likewise.
67242         * modules/unistr/u16-strdup: Likewise.
67243         * modules/unistr/u16-strlen: Likewise.
67244         * modules/unistr/u16-strmblen: Likewise.
67245         * modules/unistr/u16-strmbtouc: Likewise.
67246         * modules/unistr/u16-strncat: Likewise.
67247         * modules/unistr/u16-strncmp: Likewise.
67248         * modules/unistr/u16-strncpy: Likewise.
67249         * modules/unistr/u16-strnlen: Likewise.
67250         * modules/unistr/u16-strpbrk: Likewise.
67251         * modules/unistr/u16-strrchr: Likewise.
67252         * modules/unistr/u16-strspn: Likewise.
67253         * modules/unistr/u16-strstr: Likewise.
67254         * modules/unistr/u16-strtok: Likewise.
67255         * modules/unistr/u16-to-u32: Likewise.
67256         * modules/unistr/u16-to-u8: Likewise.
67257         * modules/unistr/u16-uctomb: Likewise.
67258         * modules/unistr/u32-check: Likewise.
67259         * modules/unistr/u32-chr: Likewise.
67260         * modules/unistr/u32-cmp: Likewise.
67261         * modules/unistr/u32-cmp2: Likewise.
67262         * modules/unistr/u32-cpy: Likewise.
67263         * modules/unistr/u32-cpy-alloc: Likewise.
67264         * modules/unistr/u32-endswith: Likewise.
67265         * modules/unistr/u32-mblen: Likewise.
67266         * modules/unistr/u32-mbsnlen: Likewise.
67267         * modules/unistr/u32-mbtouc: Likewise.
67268         * modules/unistr/u32-mbtouc-unsafe: Likewise.
67269         * modules/unistr/u32-mbtoucr: Likewise.
67270         * modules/unistr/u32-move: Likewise.
67271         * modules/unistr/u32-next: Likewise.
67272         * modules/unistr/u32-prev: Likewise.
67273         * modules/unistr/u32-set: Likewise.
67274         * modules/unistr/u32-startswith: Likewise.
67275         * modules/unistr/u32-stpcpy: Likewise.
67276         * modules/unistr/u32-stpncpy: Likewise.
67277         * modules/unistr/u32-strcat: Likewise.
67278         * modules/unistr/u32-strchr: Likewise.
67279         * modules/unistr/u32-strcmp: Likewise.
67280         * modules/unistr/u32-strcoll: Likewise.
67281         * modules/unistr/u32-strcpy: Likewise.
67282         * modules/unistr/u32-strcspn: Likewise.
67283         * modules/unistr/u32-strdup: Likewise.
67284         * modules/unistr/u32-strlen: Likewise.
67285         * modules/unistr/u32-strmblen: Likewise.
67286         * modules/unistr/u32-strmbtouc: Likewise.
67287         * modules/unistr/u32-strncat: Likewise.
67288         * modules/unistr/u32-strncmp: Likewise.
67289         * modules/unistr/u32-strncpy: Likewise.
67290         * modules/unistr/u32-strnlen: Likewise.
67291         * modules/unistr/u32-strpbrk: Likewise.
67292         * modules/unistr/u32-strrchr: Likewise.
67293         * modules/unistr/u32-strspn: Likewise.
67294         * modules/unistr/u32-strstr: Likewise.
67295         * modules/unistr/u32-strtok: Likewise.
67296         * modules/unistr/u32-to-u16: Likewise.
67297         * modules/unistr/u32-to-u8: Likewise.
67298         * modules/unistr/u32-uctomb: Likewise.
67299         * modules/uniwbrk/u8-wordbreaks: Likewise.
67300         * modules/uniwbrk/u16-wordbreaks: Likewise.
67301         * modules/uniwbrk/u32-wordbreaks: Likewise.
67302         * modules/uniwbrk/ulc-wordbreaks: Likewise.
67303         * modules/uniwbrk/wordbreak-property: Likewise.
67304         * modules/uniwidth/u8-strwidth: Likewise.
67305         * modules/uniwidth/u8-width: Likewise.
67306         * modules/uniwidth/u16-strwidth: Likewise.
67307         * modules/uniwidth/u16-width: Likewise.
67308         * modules/uniwidth/u32-strwidth: Likewise.
67309         * modules/uniwidth/u32-width: Likewise.
67310         * modules/uniwidth/width: Likewise.
67311         * modules/unicase/cased-tests (Makefile.am): Link all test programs
67312         with $(LIBUNISTRING).
67313         * modules/unicase/ignorable-tests: Likewise.
67314         * modules/unicase/locale-language-tests: Likewise.
67315         * modules/unicase/tolower-tests: Likewise.
67316         * modules/unicase/totitle-tests: Likewise.
67317         * modules/unicase/toupper-tests: Likewise.
67318         * modules/unicase/u8-casecmp-tests: Likewise.
67319         * modules/unicase/u8-casecoll-tests: Likewise.
67320         * modules/unicase/u8-casefold-tests: Likewise.
67321         * modules/unicase/u8-is-cased-tests: Likewise.
67322         * modules/unicase/u8-is-casefolded-tests: Likewise.
67323         * modules/unicase/u8-is-lowercase-tests: Likewise.
67324         * modules/unicase/u8-is-titlecase-tests: Likewise.
67325         * modules/unicase/u8-is-uppercase-tests: Likewise.
67326         * modules/unicase/u8-tolower-tests: Likewise.
67327         * modules/unicase/u8-totitle-tests: Likewise.
67328         * modules/unicase/u8-toupper-tests: Likewise.
67329         * modules/unicase/u16-casecmp-tests: Likewise.
67330         * modules/unicase/u16-casecoll-tests: Likewise.
67331         * modules/unicase/u16-casefold-tests: Likewise.
67332         * modules/unicase/u16-is-cased-tests: Likewise.
67333         * modules/unicase/u16-is-casefolded-tests: Likewise.
67334         * modules/unicase/u16-is-lowercase-tests: Likewise.
67335         * modules/unicase/u16-is-titlecase-tests: Likewise.
67336         * modules/unicase/u16-is-uppercase-tests: Likewise.
67337         * modules/unicase/u16-tolower-tests: Likewise.
67338         * modules/unicase/u16-totitle-tests: Likewise.
67339         * modules/unicase/u16-toupper-tests: Likewise.
67340         * modules/unicase/u32-casecmp-tests: Likewise.
67341         * modules/unicase/u32-casecoll-tests: Likewise.
67342         * modules/unicase/u32-casefold-tests: Likewise.
67343         * modules/unicase/u32-is-cased-tests: Likewise.
67344         * modules/unicase/u32-is-casefolded-tests: Likewise.
67345         * modules/unicase/u32-is-lowercase-tests: Likewise.
67346         * modules/unicase/u32-is-titlecase-tests: Likewise.
67347         * modules/unicase/u32-is-uppercase-tests: Likewise.
67348         * modules/unicase/u32-tolower-tests: Likewise.
67349         * modules/unicase/u32-totitle-tests: Likewise.
67350         * modules/unicase/u32-toupper-tests: Likewise.
67351         * modules/unicase/ulc-casecmp-tests: Likewise.
67352         * modules/unicase/ulc-casecoll-tests: Likewise.
67353         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
67354         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
67355         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
67356         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
67357         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
67358         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
67359         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
67360         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
67361         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
67362         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
67363         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
67364         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
67365         * modules/unictype/bidicategory-byname-tests: Likewise.
67366         * modules/unictype/bidicategory-name-tests: Likewise.
67367         * modules/unictype/bidicategory-of-tests: Likewise.
67368         * modules/unictype/bidicategory-test-tests: Likewise.
67369         * modules/unictype/block-list-tests: Likewise.
67370         * modules/unictype/block-of-tests: Likewise.
67371         * modules/unictype/block-test-tests: Likewise.
67372         * modules/unictype/category-C-tests: Likewise.
67373         * modules/unictype/category-Cc-tests: Likewise.
67374         * modules/unictype/category-Cf-tests: Likewise.
67375         * modules/unictype/category-Cn-tests: Likewise.
67376         * modules/unictype/category-Co-tests: Likewise.
67377         * modules/unictype/category-Cs-tests: Likewise.
67378         * modules/unictype/category-L-tests: Likewise.
67379         * modules/unictype/category-Ll-tests: Likewise.
67380         * modules/unictype/category-Lm-tests: Likewise.
67381         * modules/unictype/category-Lo-tests: Likewise.
67382         * modules/unictype/category-Lt-tests: Likewise.
67383         * modules/unictype/category-Lu-tests: Likewise.
67384         * modules/unictype/category-M-tests: Likewise.
67385         * modules/unictype/category-Mc-tests: Likewise.
67386         * modules/unictype/category-Me-tests: Likewise.
67387         * modules/unictype/category-Mn-tests: Likewise.
67388         * modules/unictype/category-N-tests: Likewise.
67389         * modules/unictype/category-Nd-tests: Likewise.
67390         * modules/unictype/category-Nl-tests: Likewise.
67391         * modules/unictype/category-No-tests: Likewise.
67392         * modules/unictype/category-P-tests: Likewise.
67393         * modules/unictype/category-Pc-tests: Likewise.
67394         * modules/unictype/category-Pd-tests: Likewise.
67395         * modules/unictype/category-Pe-tests: Likewise.
67396         * modules/unictype/category-Pf-tests: Likewise.
67397         * modules/unictype/category-Pi-tests: Likewise.
67398         * modules/unictype/category-Po-tests: Likewise.
67399         * modules/unictype/category-Ps-tests: Likewise.
67400         * modules/unictype/category-S-tests: Likewise.
67401         * modules/unictype/category-Sc-tests: Likewise.
67402         * modules/unictype/category-Sk-tests: Likewise.
67403         * modules/unictype/category-Sm-tests: Likewise.
67404         * modules/unictype/category-So-tests: Likewise.
67405         * modules/unictype/category-Z-tests: Likewise.
67406         * modules/unictype/category-Zl-tests: Likewise.
67407         * modules/unictype/category-Zp-tests: Likewise.
67408         * modules/unictype/category-Zs-tests: Likewise.
67409         * modules/unictype/category-and-not-tests: Likewise.
67410         * modules/unictype/category-and-tests: Likewise.
67411         * modules/unictype/category-byname-tests: Likewise.
67412         * modules/unictype/category-name-tests: Likewise.
67413         * modules/unictype/category-none-tests: Likewise.
67414         * modules/unictype/category-of-tests: Likewise.
67415         * modules/unictype/category-or-tests: Likewise.
67416         * modules/unictype/category-test-withtable-tests: Likewise.
67417         * modules/unictype/combining-class-tests: Likewise.
67418         * modules/unictype/ctype-alnum-tests: Likewise.
67419         * modules/unictype/ctype-alpha-tests: Likewise.
67420         * modules/unictype/ctype-blank-tests: Likewise.
67421         * modules/unictype/ctype-cntrl-tests: Likewise.
67422         * modules/unictype/ctype-digit-tests: Likewise.
67423         * modules/unictype/ctype-graph-tests: Likewise.
67424         * modules/unictype/ctype-lower-tests: Likewise.
67425         * modules/unictype/ctype-print-tests: Likewise.
67426         * modules/unictype/ctype-punct-tests: Likewise.
67427         * modules/unictype/ctype-space-tests: Likewise.
67428         * modules/unictype/ctype-upper-tests: Likewise.
67429         * modules/unictype/ctype-xdigit-tests: Likewise.
67430         * modules/unictype/decimal-digit-tests: Likewise.
67431         * modules/unictype/digit-tests: Likewise.
67432         * modules/unictype/mirror-tests: Likewise.
67433         * modules/unictype/numeric-tests: Likewise.
67434         * modules/unictype/property-alphabetic-tests: Likewise.
67435         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
67436         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
67437         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
67438         * modules/unictype/property-bidi-block-separator-tests: Likewise.
67439         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
67440         * modules/unictype/property-bidi-common-separator-tests: Likewise.
67441         * modules/unictype/property-bidi-control-tests: Likewise.
67442         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
67443         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
67444         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
67445         * modules/unictype/property-bidi-european-digit-tests: Likewise.
67446         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
67447         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
67448         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
67449         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
67450         * modules/unictype/property-bidi-pdf-tests: Likewise.
67451         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
67452         * modules/unictype/property-bidi-whitespace-tests: Likewise.
67453         * modules/unictype/property-byname-tests: Likewise.
67454         * modules/unictype/property-combining-tests: Likewise.
67455         * modules/unictype/property-composite-tests: Likewise.
67456         * modules/unictype/property-currency-symbol-tests: Likewise.
67457         * modules/unictype/property-dash-tests: Likewise.
67458         * modules/unictype/property-decimal-digit-tests: Likewise.
67459         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
67460         * modules/unictype/property-deprecated-tests: Likewise.
67461         * modules/unictype/property-diacritic-tests: Likewise.
67462         * modules/unictype/property-extender-tests: Likewise.
67463         * modules/unictype/property-format-control-tests: Likewise.
67464         * modules/unictype/property-grapheme-base-tests: Likewise.
67465         * modules/unictype/property-grapheme-extend-tests: Likewise.
67466         * modules/unictype/property-grapheme-link-tests: Likewise.
67467         * modules/unictype/property-hex-digit-tests: Likewise.
67468         * modules/unictype/property-hyphen-tests: Likewise.
67469         * modules/unictype/property-id-continue-tests: Likewise.
67470         * modules/unictype/property-id-start-tests: Likewise.
67471         * modules/unictype/property-ideographic-tests: Likewise.
67472         * modules/unictype/property-ids-binary-operator-tests: Likewise.
67473         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
67474         * modules/unictype/property-ignorable-control-tests: Likewise.
67475         * modules/unictype/property-iso-control-tests: Likewise.
67476         * modules/unictype/property-join-control-tests: Likewise.
67477         * modules/unictype/property-left-of-pair-tests: Likewise.
67478         * modules/unictype/property-line-separator-tests: Likewise.
67479         * modules/unictype/property-logical-order-exception-tests: Likewise.
67480         * modules/unictype/property-lowercase-tests: Likewise.
67481         * modules/unictype/property-math-tests: Likewise.
67482         * modules/unictype/property-non-break-tests: Likewise.
67483         * modules/unictype/property-not-a-character-tests: Likewise.
67484         * modules/unictype/property-numeric-tests: Likewise.
67485         * modules/unictype/property-other-alphabetic-tests: Likewise.
67486         * modules/unictype/property-other-default-ignorable-code-point-tests:
67487         Likewise.
67488         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
67489         * modules/unictype/property-other-id-continue-tests: Likewise.
67490         * modules/unictype/property-other-id-start-tests: Likewise.
67491         * modules/unictype/property-other-lowercase-tests: Likewise.
67492         * modules/unictype/property-other-math-tests: Likewise.
67493         * modules/unictype/property-other-uppercase-tests: Likewise.
67494         * modules/unictype/property-paired-punctuation-tests: Likewise.
67495         * modules/unictype/property-paragraph-separator-tests: Likewise.
67496         * modules/unictype/property-pattern-syntax-tests: Likewise.
67497         * modules/unictype/property-pattern-white-space-tests: Likewise.
67498         * modules/unictype/property-private-use-tests: Likewise.
67499         * modules/unictype/property-punctuation-tests: Likewise.
67500         * modules/unictype/property-quotation-mark-tests: Likewise.
67501         * modules/unictype/property-radical-tests: Likewise.
67502         * modules/unictype/property-sentence-terminal-tests: Likewise.
67503         * modules/unictype/property-soft-dotted-tests: Likewise.
67504         * modules/unictype/property-space-tests: Likewise.
67505         * modules/unictype/property-terminal-punctuation-tests: Likewise.
67506         * modules/unictype/property-test-tests: Likewise.
67507         * modules/unictype/property-titlecase-tests: Likewise.
67508         * modules/unictype/property-unassigned-code-value-tests: Likewise.
67509         * modules/unictype/property-unified-ideograph-tests: Likewise.
67510         * modules/unictype/property-uppercase-tests: Likewise.
67511         * modules/unictype/property-variation-selector-tests: Likewise.
67512         * modules/unictype/property-white-space-tests: Likewise.
67513         * modules/unictype/property-xid-continue-tests: Likewise.
67514         * modules/unictype/property-xid-start-tests: Likewise.
67515         * modules/unictype/property-zero-width-tests: Likewise.
67516         * modules/unictype/scripts-tests: Likewise.
67517         * modules/unictype/syntax-c-ident-tests: Likewise.
67518         * modules/unictype/syntax-c-whitespace-tests: Likewise.
67519         * modules/unictype/syntax-java-ident-tests: Likewise.
67520         * modules/unictype/syntax-java-whitespace-tests: Likewise.
67521         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
67522         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
67523         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
67524         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
67525         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
67526         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
67527         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
67528         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
67529         * modules/uniname/uniname-tests: Likewise.
67530         * modules/uninorm/canonical-decomposition-tests: Likewise.
67531         * modules/uninorm/compat-decomposition-tests: Likewise.
67532         * modules/uninorm/composition-tests: Likewise.
67533         * modules/uninorm/decomposing-form-tests: Likewise.
67534         * modules/uninorm/decomposition-tests: Likewise.
67535         * modules/uninorm/filter-tests: Likewise.
67536         * modules/uninorm/nfc-tests: Likewise.
67537         * modules/uninorm/nfd-tests: Likewise.
67538         * modules/uninorm/nfkc-tests: Likewise.
67539         * modules/uninorm/nfkd-tests: Likewise.
67540         * modules/uninorm/u8-normcmp-tests: Likewise.
67541         * modules/uninorm/u8-normcoll-tests: Likewise.
67542         * modules/uninorm/u16-normcmp-tests: Likewise.
67543         * modules/uninorm/u16-normcoll-tests: Likewise.
67544         * modules/uninorm/u32-normcmp-tests: Likewise.
67545         * modules/uninorm/u32-normcoll-tests: Likewise.
67546         * modules/unistdio/u8-asnprintf-tests: Likewise.
67547         * modules/unistdio/u8-vasnprintf-tests: Likewise.
67548         * modules/unistdio/u8-vasprintf-tests: Likewise.
67549         * modules/unistdio/u8-vsnprintf-tests: Likewise.
67550         * modules/unistdio/u8-vsprintf-tests: Likewise.
67551         * modules/unistdio/u16-asnprintf-tests: Likewise.
67552         * modules/unistdio/u16-vasnprintf-tests: Likewise.
67553         * modules/unistdio/u16-vasprintf-tests: Likewise.
67554         * modules/unistdio/u16-vsnprintf-tests: Likewise.
67555         * modules/unistdio/u16-vsprintf-tests: Likewise.
67556         * modules/unistdio/u32-asnprintf-tests: Likewise.
67557         * modules/unistdio/u32-vasnprintf-tests: Likewise.
67558         * modules/unistdio/u32-vasprintf-tests: Likewise.
67559         * modules/unistdio/u32-vsnprintf-tests: Likewise.
67560         * modules/unistdio/u32-vsprintf-tests: Likewise.
67561         * modules/unistdio/ulc-asnprintf-tests: Likewise.
67562         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
67563         * modules/unistdio/ulc-vasprintf-tests: Likewise.
67564         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
67565         * modules/unistdio/ulc-vsprintf-tests: Likewise.
67566         * modules/unistr/u8-check-tests: Likewise.
67567         * modules/unistr/u8-chr-tests: Likewise.
67568         * modules/unistr/u8-cmp-tests: Likewise.
67569         * modules/unistr/u8-cmp2-tests: Likewise.
67570         * modules/unistr/u8-cpy-alloc-tests: Likewise.
67571         * modules/unistr/u8-cpy-tests: Likewise.
67572         * modules/unistr/u8-mblen-tests: Likewise.
67573         * modules/unistr/u8-mbsnlen-tests: Likewise.
67574         * modules/unistr/u8-mbtouc-tests: Likewise.
67575         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
67576         * modules/unistr/u8-mbtoucr-tests: Likewise.
67577         * modules/unistr/u8-move-tests: Likewise.
67578         * modules/unistr/u8-next-tests: Likewise.
67579         * modules/unistr/u8-prev-tests: Likewise.
67580         * modules/unistr/u8-set-tests: Likewise.
67581         * modules/unistr/u8-stpcpy-tests: Likewise.
67582         * modules/unistr/u8-stpncpy-tests: Likewise.
67583         * modules/unistr/u8-strcat-tests: Likewise.
67584         * modules/unistr/u8-strcmp-tests: Likewise.
67585         * modules/unistr/u8-strcoll-tests: Likewise.
67586         * modules/unistr/u8-strcpy-tests: Likewise.
67587         * modules/unistr/u8-strdup-tests: Likewise.
67588         * modules/unistr/u8-strlen-tests: Likewise.
67589         * modules/unistr/u8-strmblen-tests: Likewise.
67590         * modules/unistr/u8-strmbtouc-tests: Likewise.
67591         * modules/unistr/u8-strncat-tests: Likewise.
67592         * modules/unistr/u8-strncmp-tests: Likewise.
67593         * modules/unistr/u8-strncpy-tests: Likewise.
67594         * modules/unistr/u8-strnlen-tests: Likewise.
67595         * modules/unistr/u8-to-u16-tests: Likewise.
67596         * modules/unistr/u8-to-u32-tests: Likewise.
67597         * modules/unistr/u8-uctomb-tests: Likewise.
67598         * modules/unistr/u16-check-tests: Likewise.
67599         * modules/unistr/u16-chr-tests: Likewise.
67600         * modules/unistr/u16-cmp-tests: Likewise.
67601         * modules/unistr/u16-cmp2-tests: Likewise.
67602         * modules/unistr/u16-cpy-alloc-tests: Likewise.
67603         * modules/unistr/u16-cpy-tests: Likewise.
67604         * modules/unistr/u16-mblen-tests: Likewise.
67605         * modules/unistr/u16-mbsnlen-tests: Likewise.
67606         * modules/unistr/u16-mbtouc-tests: Likewise.
67607         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
67608         * modules/unistr/u16-mbtoucr-tests: Likewise.
67609         * modules/unistr/u16-move-tests: Likewise.
67610         * modules/unistr/u16-next-tests: Likewise.
67611         * modules/unistr/u16-prev-tests: Likewise.
67612         * modules/unistr/u16-set-tests: Likewise.
67613         * modules/unistr/u16-stpcpy-tests: Likewise.
67614         * modules/unistr/u16-stpncpy-tests: Likewise.
67615         * modules/unistr/u16-strcat-tests: Likewise.
67616         * modules/unistr/u16-strcmp-tests: Likewise.
67617         * modules/unistr/u16-strcoll-tests: Likewise.
67618         * modules/unistr/u16-strcpy-tests: Likewise.
67619         * modules/unistr/u16-strdup-tests: Likewise.
67620         * modules/unistr/u16-strlen-tests: Likewise.
67621         * modules/unistr/u16-strmblen-tests: Likewise.
67622         * modules/unistr/u16-strmbtouc-tests: Likewise.
67623         * modules/unistr/u16-strncat-tests: Likewise.
67624         * modules/unistr/u16-strncmp-tests: Likewise.
67625         * modules/unistr/u16-strncpy-tests: Likewise.
67626         * modules/unistr/u16-strnlen-tests: Likewise.
67627         * modules/unistr/u16-to-u32-tests: Likewise.
67628         * modules/unistr/u16-to-u8-tests: Likewise.
67629         * modules/unistr/u16-uctomb-tests: Likewise.
67630         * modules/unistr/u32-check-tests: Likewise.
67631         * modules/unistr/u32-chr-tests: Likewise.
67632         * modules/unistr/u32-cmp-tests: Likewise.
67633         * modules/unistr/u32-cmp2-tests: Likewise.
67634         * modules/unistr/u32-cpy-alloc-tests: Likewise.
67635         * modules/unistr/u32-cpy-tests: Likewise.
67636         * modules/unistr/u32-mblen-tests: Likewise.
67637         * modules/unistr/u32-mbsnlen-tests: Likewise.
67638         * modules/unistr/u32-mbtouc-tests: Likewise.
67639         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
67640         * modules/unistr/u32-mbtoucr-tests: Likewise.
67641         * modules/unistr/u32-move-tests: Likewise.
67642         * modules/unistr/u32-next-tests: Likewise.
67643         * modules/unistr/u32-prev-tests: Likewise.
67644         * modules/unistr/u32-set-tests: Likewise.
67645         * modules/unistr/u32-stpcpy-tests: Likewise.
67646         * modules/unistr/u32-stpncpy-tests: Likewise.
67647         * modules/unistr/u32-strcat-tests: Likewise.
67648         * modules/unistr/u32-strcmp-tests: Likewise.
67649         * modules/unistr/u32-strcoll-tests: Likewise.
67650         * modules/unistr/u32-strcpy-tests: Likewise.
67651         * modules/unistr/u32-strdup-tests: Likewise.
67652         * modules/unistr/u32-strlen-tests: Likewise.
67653         * modules/unistr/u32-strmblen-tests: Likewise.
67654         * modules/unistr/u32-strmbtouc-tests: Likewise.
67655         * modules/unistr/u32-strncat-tests: Likewise.
67656         * modules/unistr/u32-strncmp-tests: Likewise.
67657         * modules/unistr/u32-strncpy-tests: Likewise.
67658         * modules/unistr/u32-strnlen-tests: Likewise.
67659         * modules/unistr/u32-to-u16-tests: Likewise.
67660         * modules/unistr/u32-to-u8-tests: Likewise.
67661         * modules/unistr/u32-uctomb-tests: Likewise.
67662         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
67663         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
67664         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
67665         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
67666         * modules/uniwidth/u8-strwidth-tests: Likewise.
67667         * modules/uniwidth/u8-width-tests: Likewise.
67668         * modules/uniwidth/u16-strwidth-tests: Likewise.
67669         * modules/uniwidth/u16-width-tests: Likewise.
67670         * modules/uniwidth/u32-strwidth-tests: Likewise.
67671         * modules/uniwidth/u32-width-tests: Likewise.
67672         * modules/uniwidth/width-tests: Likewise.
67674 2010-05-18  Richard Jones  <rjones@redhat.com>
67676         doc: users.txt: list hivex
67677         * users.txt: Add hivex.
67679 2010-05-18  Richard Jones  <rjones@redhat.com>
67681         doc: users.txt: list febootstrap
67682         * users.txt: Add febootstrap.
67684 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
67686         bootstrap: fix an error when gnulib is not used as a git submodule
67687         * build-aux/bootstrap (gnulib_path): If its length is zero then
67688         assign "gnulib" to it.
67689         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
67691 2010-05-16  Bruno Haible  <bruno@clisp.org>
67693         Avoid autoconf warnings about AM_ICONV.
67694         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
67695         2.64.
67697 2010-05-16  Bruno Haible  <bruno@clisp.org>
67699         absolute-header: Make the macro usable in more situations.
67700         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
67701         from gl_ABSOLUTE_HEADER.
67702         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
67704 2010-05-16  James Youngman  <jay@gnu.org>
67706         doc: update users.txt
67707         * users.txt: Add CSSC.
67709 2010-05-16  Jim Meyering  <meyering@redhat.com>
67711         init.sh: fix an error in the previous change; add more comments
67712         * tests/init.sh: Compare exit code in loop against 9, not 2.
67713         Patch by Bruno Haible.
67714         Make the two tests more similar by adding an empty "then" clause.
67715         Add comments.
67717         init.sh: avoid unnecessary shell re-exec
67718         * tests/init.sh: Improve the re-exec-required check to first test the
67719         current shell.  If it passes the test, do not search for a shell that
67720         does pass, and do not re-exec.  This test is particularly contorted to
67721         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
67722         of $(...) evokes a syntax error and causes immediate shell exit with
67723         status 2.  Bruno Haible reported that the re-exec made it impossible
67724         to single-step through any init.sh-using script.
67726 2010-05-16  Bruno Haible  <bruno@clisp.org>
67728         Fix collision between gnulib's and libintl's printf replacements.
67729         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
67730         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
67731         (printf): When using GNU C, map the __printf__ function to rpl_printf
67732         via __asm__. When not using GNU C, define rpl_printf instead of
67733         __printf__.
67734         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
67735         commit.
67736         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
67737         commit.
67738         * m4/asm-underscore.m4: New file.
67739         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
67740         * modules/stdio (Files): Add m4/asm-underscore.m4.
67741         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
67742         Reported by Ben Pfaff.
67744 2010-05-16  Bruno Haible  <bruno@clisp.org>
67746         verify: Avoid skipping the test on openSUSE 11.0.
67747         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
67749 2010-05-13  Bruno Haible  <bruno@clisp.org>
67751         Avoid useless warnings from G++.
67752         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
67753         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
67754         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
67756 2010-05-11  Jim Meyering  <meyering@redhat.com>
67758         maint.mk: tweak preceding change
67759         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
67760         regexps tighter by anchoring at EOL, and make the new group "shy"
67761         for slightly decreased overhead.
67763 2010-05-11  Eric Blake  <eblake@redhat.com>
67765         maint.mk: gnulib doesn't guarantee NSIG
67766         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
67768 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
67770         test-pwrite.c: Remove unused variable declaration.
67771         * tests/test-pwrite.c (main): Remove read_buf declaration.
67773         Remove useless test-pwrite.sh file.
67774         * tests/test-pwrite.sh: Delete file.
67775         * modules/pwrite-tests: Remove references.
67776         Reported by Bruno Haible.
67778 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
67780         init.sh: fix a typo
67781         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
67783 2010-05-10  Jim Meyering  <meyering@redhat.com>
67785         maint.mk: avoid using a temporary file in the always-defined-macros check
67786         * top/maint.mk (.re-defmac): Remove rule.
67787         (gl_trap_): Remove definition.
67788         (sc_prohibit_always-defined_macros): Rewrite not to create and
67789         depend on a temporary file.  Instead, depend on GNU grep's ability
67790         to read a list of regular expressions from stdin when given "-f -".
67792 2010-05-09  Bruno Haible  <bruno@clisp.org>
67794         Update to GNU gettext 0.18, part 1.
67795         * m4/gettext.m4: Update to GNU gettext 0.18.
67796         * m4/intl.m4: Likewise.
67797         * m4/po.m4: Likewise.
67798         * modules/gettext (Files): Add m4/fcntl-o.m4.
67799         (configure.ac): Require gettext infrastructure from version 0.18.
67801 2010-05-09  Jim Meyering  <meyering@redhat.com>
67803         init.sh: enable MALLOC_PERTURB_
67804         * tests/init.sh: Enable glibc's malloc-perturbing option.
67806         maint.mk: improve sc_cross_check_PATH_usage_in_tests
67807         With my recent change in init.sh from the two-line form:
67808             -#   : ${srcdir=.}
67809             -#   . "$srcdir/init.sh"; path_prepend_ .
67810             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
67811         I noticed that using the one-line form would cause this test
67812         to fail with a false-positive, or to stop working altogether,
67813         depending on whether help-version changed or all the tests did.
67814         * top/maint.mk (_hv_regex): Remove this definition.
67815         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
67816         (_hv_regex_strong): Use a stronger regex to check for conformance.
67817         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
67818         Give a separate diagnostic for lack of conforming use.
67820         maint.mk: prohibit definition of symbols defined by gnulib
67821         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
67822         definition of symbols defined by gnulib.
67824 2010-05-09  Bruno Haible  <bruno@clisp.org>
67826         acl: Avoid test failure on Cygwin-hosted mingw.
67827         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
67829 2010-05-09  Bruno Haible  <bruno@clisp.org>
67831         error: Use system's fcntl function.
67832         * lib/error.c (fcntl): Undefine.
67834 2010-05-09  Jim Meyering  <meyering@redhat.com>
67836         verify: adjust formatting to be more consistent
67837         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
67838         argument-list '('s, and after one comma.
67840 2010-05-09  Bruno Haible  <bruno@clisp.org>
67842         error: More reliable output on mingw.
67843         * lib/error.c: Include <windows.h>.
67844         (is_open): New function.
67845         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
67846         defined.
67848 2010-05-09  Bruno Haible  <bruno@clisp.org>
67850         vasnprintf: Fix syntax errors in libintl build on mingw.
67851         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
67852         pad_ourselves and prec_ourselves after use.
67854 2010-05-08  Bruno Haible  <bruno@clisp.org>
67856         * lib/config.charset: Update comments for Cygwin 1.7.
67857         * lib/localcharset.c: Likewise.
67859 2010-05-07  Jim Meyering  <meyering@redhat.com>
67861         init.sh: improve comments
67862         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
67863         . "${srcdir=.}/init.sh"; path_prepend_ .
67864         Add a note about path_prepend_ and the alternative of using
67865         TESTS_ENVIRONMENT.
67867 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
67869         exclude: Unescape hashed patterns in wildcard mode.
67870         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
67871         to the hash list.
67872         * tests/test-exclude8.sh: New test case.
67873         * modules/exclude-tests: Add new test.
67875 2010-05-05  Eric Blake  <eblake@redhat.com>
67877         verify: automate tests
67878         * modules/verify-tests: New module.
67879         * tests/test-verify.sh: New file.
67880         * tests/test-verify.c: Guard each negative test with a unique id.
67881         Also avoid warning about unused left hand of comma expressions.
67883 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
67885         Further improvements to verify.h, suggested by Eric Blake.
67886         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
67887         the GL_* versions, to avoid collision with OpenGL.
67888         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
67889         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
67890         than testing merely whether it's defined.
67892         Modify verify.h to pacify gcc -Wredundant_decls.
67893         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
67894         These use the prefix "GL_" since they're likely to be useful elsewhere.
67895         We may need to break them out into a different .h file.
67896         (__COUNTER__): Define to 0 if the compiler doesn't support it.
67897         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
67898         of verify_function__.
67900 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
67902         Tests for module pwrite.
67903         * modules/pwrite-tests: New file.
67904         * tests/test-pwrite.sh: New file.
67905         * tests/test-pwrite.c: New file.
67907         New module pwrite.
67908         * lib/unistd.in.h (pwrite): New declaration.
67909         * lib/pwrite.c: New file, from glibc with modifications.
67910         * m4/pwrite.m4: New file.
67911         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
67912         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
67913         REPLACE_PWRITE.
67914         * modules/pwrite: New file.
67915         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
67916         REPLACE_PWRITE.
67917         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
67918         * doc/posix-functions/pwrite.texi: Mention the new module.
67920 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
67922         pread: Update documentation.
67923         * doc/posix-functions/pread.texi: Mention the 'pread' module.
67925 2010-05-04  Eric Blake  <eblake@redhat.com>
67927         docs: update cygwin progress
67928         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
67929         this bug.
67930         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
67931         Added in cygwin 1.7.2.
67932         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
67933         Likewise.
67934         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
67935         Likewise.
67936         * doc/glibc-functions/dup3.texi (dup3): Likewise.
67937         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
67938         * doc/glibc-functions/accept4.texi (accept4): Likewise.
67939         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
67940         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
67941         Mention nproc module.
67942         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
67943         bug in cygwin 1.7.5 addition.
67944         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
67945         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
67946         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
67947         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
67948         1.7.5.
67949         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
67950         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
67951         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
67952         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
67953         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
67954         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
67955         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
67956         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
67957         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
67958         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
67959         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
67960         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
67961         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
67962         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
67963         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
67964         Likewise.
67965         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
67966         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
67967         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
67968         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
67969         Likewise.
67970         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
67971         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
67972         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
67973         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
67974         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
67975         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
67976         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
67977         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
67978         Likewise.
67979         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
67980         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
67981         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
67982         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
67983         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
67984         Likewise.
67985         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
67986         Likewise.
67987         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
67988         Likewise.
67989         * doc/glibc-functions/xdrrec_endofrecord.texi
67990         (xdrrec_endofrecord): Likewise.
67991         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
67992         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
67993         Likewise.
67994         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
67995         Likewise.
67997 2010-05-04  Jim Meyering  <meyering@redhat.com>
67999         gendocs.sh: make its "-s FILE" option more useful
68000         * build-aux/gendocs.sh: When honoring the -s FILE option, update
68001         $PACKAGE to reflect the probably-different basename of "FILE".
68003 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
68005         bootstrap: don't ignore download_po_files failure
68006         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
68007         failure.
68009 2010-05-03  Jim Meyering  <meyering@redhat.com>
68011         maint.mk: allow to pass options to gendocs.sh
68012         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
68013         (gendocs_options_): New overridable variable.
68015         gnu-web-doc-update: don't ignore configure or build failure
68016         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
68018         announce-gen: backslash-escape '@'s in --help output
68019         * build-aux/announce-gen: Fix syntax errors.
68021         maint.mk, announce-gen: allow project-specific announcement mail headers
68022         * top/maint.mk (translation_project_): Define default.
68023         (announcement_Cc_, announcement_mail_headers_): Likewise.
68024         (announcement): Invoke announce-gen with new --mail-headers option.
68025         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
68027         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
68028         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
68029         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
68030         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
68031         line in the "err2" output file when running "make check" in verbose
68032         mode (i.e., with set -x enabled).
68034 2010-05-03  Bruno Haible  <bruno@clisp.org>
68036         wctob: Fix for weird platforms.
68037         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
68038         argument value.
68040 2010-05-03  Jim Meyering  <meyering@redhat.com>
68042         maint.mk: prohibit unwarranted use of <strings.h>
68043         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
68044         strings.h in a file that does not also use strcasecmp, strncasecmp,
68045         ffs or ffsll.
68047         maint.mk: remove obsolete comments
68048         * top/maint.mk: Remove stale, commented-out rules.
68050 2010-05-02  Bruno Haible  <bruno@clisp.org>
68052         wcwidth: Declare also when it's aliased.
68053         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
68054         macro.
68056 2010-05-02  Bruno Haible  <bruno@clisp.org>
68058         Fix regression from 2010-04-25.
68059         * gnulib-tool (func_modules_transitive_closure): Check the status of
68060         all modules, not only of the tests that are of the form foo-tests where
68061         foo is a module.
68063 2010-05-02  Bruno Haible  <bruno@clisp.org>
68065         wctob: Work around nasty Cygwin 1.7.2 bug.
68066         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
68067         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
68069 2010-05-01  Bruno Haible  <bruno@clisp.org>
68071         fpurge: Sharper test.
68072         * tests/test-fpurge.c (main): Add one more ftell check.
68073         * modules/fpurge-tests (Depends-on): Add ftell.
68074         Suggested by Eric Blake.
68076 2010-05-01  Bruno Haible  <bruno@clisp.org>
68078         ftello: Another test.
68079         * tests/test-ftello3.c: New file.
68080         * modules/ftello-tests (Files): Add it.
68081         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68082         MOSTLYCLEANFILES.
68084         ftell: Another test.
68085         * tests/test-ftell3.c: New file.
68086         * modules/ftell-tests (Files): Add it.
68087         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68088         MOSTLYCLEANFILES.
68090 2010-05-01  Bruno Haible  <bruno@clisp.org>
68092         ftell, ftello: Work around Solaris bug.
68093         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
68094         * lib/ftello.c: Include stdio-impl.h.
68095         (ftello): On Solaris, when _IOWRT is set, compute the result without
68096         looking at _IOREAD.
68097         * modules/ftello (Files): Add lib/stdio-impl.h.
68098         * doc/posix-functions/ftell.texi: Mention Solaris bug.
68099         * doc/posix-functions/ftello.texi: Likewise.
68100         Reported by Eric Blake.
68102 2010-05-01  Bruno Haible  <bruno@clisp.org>
68104         freading: Adapt to special meaning of _IOREAD flag on Solaris.
68105         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
68106         the _IOWRT flag is also set.
68108 2010-05-01  Bruno Haible  <bruno@clisp.org>
68110         Fix doc about a HP-UX stdio bug.
68111         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
68112         * doc/posix-functions/ftello.texi: Likewise.
68114 2010-05-01  Bruno Haible  <bruno@clisp.org>
68116         lseek test: Fix failure on Solaris.
68117         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
68118         output.
68120 2010-04-30  Jim Meyering  <meyering@redhat.com>
68122         bootstrap: don't ignore failure to generate po*/Makevars
68123         * build-aux/bootstrap (with_gettext): Don't ignore failure
68124         to create po/Makevars or runtime-po/Makevars.
68126 2010-04-29  Eric Blake  <eblake@redhat.com>
68128         headers: relax license to LGPLv2+
68129         * modules/fcntl-h (License): Relax license.
68130         * modules/getopt-posix (License): Likewise.
68131         * modules/locale (License): Likewise.
68132         * modules/math (License): Likewise.
68133         * modules/pty (License): Likewise.
68134         * modules/sched (License): Likewise.
68135         * modules/search (License): Likewise.
68136         * modules/spawn (License): Likewise.
68137         * modules/stdarg (License): Likewise.
68138         * modules/sysexits (License): Likewise.
68140 2010-04-29  Jim Meyering  <meyering@redhat.com>
68142         inttypes: relax license to LGPLv2+
68143         * modules/inttypes (License): Relax license.
68145 2010-04-29  Simon Josefsson  <simon@josefsson.org>
68147         * top/maint.mk (indent): Run twice to produce idempotent results.
68149 2010-04-28  Bruno Haible  <bruno@clisp.org>
68151         getdate: Generate getdate.c in the source directory.
68152         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
68153         MOSTLYCLEANFILES.
68154         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
68156 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
68158         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
68159         is not declared as a const *; avoid warnings in that case.
68161 2010-04-28  Eric Blake  <eblake@redhat.com>
68163         canonicalize-lgpl: avoid compiler warning
68164         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
68165         declaration' / 'extraneous semicolon' warning with some compilers.
68166         Reported by Andreas Gruenbacher.
68168 2010-04-28  Jim Meyering  <meyering@redhat.com>
68170         init.sh: ensure a more reliable exit status when exiting via trap
68171         * tests/init.sh (setup_): Don't rely on $? in signal handler.
68172         Inspired by patches from Dmitry V. Levin.
68173         Also trap on signal 3 (SIGQUIT).
68175 2010-04-27  Bruno Haible  <bruno@clisp.org>
68177         Update doc about utimes().
68178         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
68179         'utimens' module.
68180         Reported by Andreas Gruenbacher <agruen@suse.de>.
68182 2010-04-27  Eric Blake  <eblake@redhat.com>
68184         full-read, full-write: relax license
68185         * modules/full-read (License): Drop to LGPLv2+.
68186         * modules/full-write (License): Likewise.
68187         * modules/safe-read (License): Likewise.
68188         * modules/safe-write (License): Likewise.
68190         pthread: mention library for linking
68191         * modules/pthread (Link): Mention $(LIB_PTHREAD).
68193 2010-04-27  Jim Meyering  <meyering@redhat.com>
68195         maint.mk: fix a bug introduced in last change
68196         * top/maint.mk (gl_assured_headers_): Now that all names are on
68197         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
68198         is not anchored to end of word, it should be adequate.
68200         maint.mk: avoid side-effect in latest syntax-check
68201         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
68202         to run commands via $(shell...), and hence to incur cost only when
68203         the new rule is actually run.
68205         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
68206         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
68207         and use that to create a regexp used to detect all #if HAVE_..._H uses.
68208         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
68209         (gl_assured_headers_, az_, AZ_): Define.
68210         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
68212 2010-04-26  Jim Meyering  <jim@meyering.net>
68213             Bruno Haible  <bruno@clisp.org>
68215         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
68216         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
68217         Prompted by an exchange with Gilles Espinasse.
68219 2010-04-26  Jim Meyering  <meyering@redhat.com>
68221         git-version-gen: aesthetic tweak
68222         * build-aux/git-version-gen: Use "$nl" rather than a literal,
68223         so that the command remains on a single line.
68225 2010-04-26  Eric Blake  <eblake@redhat.com>
68227         git-version-gen: allow use on EBCDIC hosts
68228         * build-aux/git-version-gen (dirty): Use literal rather than tying
68229         ourselves to ascii.
68230         Reported by Steve Goetze.
68232 2010-04-25  Bruno Haible  <bruno@clisp.org>
68234         netdb: Add support for GNULIB_POSIXCHECK.
68235         * lib/netdb.in.h: Include warn-on-use.h.
68236         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
68237         functions are used when GNULIB_POSIXCHECK is defined and the
68238         getaddrinfo module is not in use.
68239         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
68240         freeaddrinfo, gai_strerror, getnameinfo are declared.
68241         * modules/netdb (Depends-on): Add warn-on-use.
68242         (Makefile.am): Include warn-on-use.h in netdb.h.
68244 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
68246         build: avoid "make check" failure without .git/ directory
68247         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
68248         there is no .git/ directory.
68250 2010-04-25  Bruno Haible  <bruno@clisp.org>
68252         ptsname: Fix misuse of ttyname_r.
68253         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
68254         of errno.
68256 2010-04-25  Bruno Haible  <bruno@clisp.org>
68258         ttyname_r: Make it work on Solaris 10.
68259         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
68260         if the system function has the POSIX declaration. Test whether the
68261         function fails if the buffer is less than 128 bytes large.
68262         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
68263         system's ttyname_r function. Provide a reasonably large buffer.
68264         * modules/ttyname_r (Depends-on): Add extensions.
68265         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
68267 2010-04-25  Bruno Haible  <bruno@clisp.org>
68269         Use the 'extensions' module for some more functions on Solaris.
68270         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
68271         module.
68272         * doc/posix-functions/ctime_r.texi: Likewise.
68273         * doc/posix-functions/getgrgid_r.texi: Likewise.
68274         * doc/posix-functions/getgrnam_r.texi: Likewise.
68275         * doc/posix-functions/getpwnam_r.texi: Likewise.
68276         * doc/posix-functions/getpwuid_r.texi: Likewise.
68277         * doc/posix-functions/readdir_r.texi: Likewise.
68278         * doc/posix-functions/sigwait.texi: Likewise.
68279         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
68280         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
68282 2010-04-25  Bruno Haible  <bruno@clisp.org>
68284         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
68285         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
68286         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
68287         * lib/ttyname_r.c: Include <limits.h>.
68288         (ttyname_r): Define using the system's ttyname_r function, if it exists
68289         and not on Solaris.
68290         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
68291         set.
68292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
68293         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
68294         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
68295         Reported by Simon Josefsson.
68297 2010-04-25  Bruno Haible  <bruno@clisp.org>
68299         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
68300         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
68301         * doc/posix-functions/ctime_r.texi: Likewise.
68302         * doc/posix-functions/getgrgid_r.texi: Likewise.
68303         * doc/posix-functions/getgrnam_r.texi: Likewise.
68304         * doc/posix-functions/getlogin_r.texi: Likewise.
68305         * doc/posix-functions/getpwnam_r.texi: Likewise.
68306         * doc/posix-functions/getpwuid_r.texi: Likewise.
68307         * doc/posix-functions/readdir_r.texi: Likewise.
68308         * doc/posix-functions/sigwait.texi: Likewise.
68309         * doc/posix-functions/ttyname_r.texi: Likewise.
68310         Reported by Simon Josefsson.
68312 2010-04-25  Bruno Haible  <bruno@clisp.org>
68314         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
68315         * gnulib-tool (func_usage): Document that --with-*-tests options apply
68316         also to --create-testdir.
68317         (func_acceptable): Don't consider the status of *-tests modules here.
68318         (func_modules_transitive_closure): Consider it here, before including a
68319         test module.
68320         (func_import, func_create_testdir): Set inc_all_direct_tests,
68321         inc_all_indirect_tests.
68322         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
68323         --create-testdir and --create-megatestdir.
68325 2010-04-25  Bruno Haible  <bruno@clisp.org>
68327         gnulib-tool: Add --without-*-tests options.
68328         * gnulib-tool (func_usage): Document the --without-*-tests options.
68329         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
68330         excl_unportable_tests): New variables.
68331         Fail if they are specified with --import or --update.
68332         (func_acceptable): Respect the excl_*_tests variables.
68333         (func_import): Set the excl_*_tests variables to empty.
68335 2010-04-25  Simon Josefsson  <simon@josefsson.org>
68336             Bruno Haible  <bruno@clisp.org>
68338         Work around a MacOS X 10.4 bug with openpty.
68339         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
68340         * tests/test-openpty.c (main): Close the master side explicitly.
68342 2010-04-25  Bruno Haible  <bruno@clisp.org>
68344         strnlen: Fix a C++ test error on MacOS X and Solaris.
68345         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
68346         the function is not declared.
68347         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
68348         Simon Josefsson.
68350 2010-04-24  Bruno Haible  <bruno@clisp.org>
68352         Avoid a gcc warning.
68353         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
68354         of correct type for %08lx directive.
68355         Reported by Eric Blake.
68357 2010-04-24  Bruno Haible  <bruno@clisp.org>
68359         vasnprintf: Correct errno value in case of out-of-memory.
68360         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
68361         or sprintf. Use the errno value from SNPRINTF or sprintf.
68362         Reported by Ian Beckwith <ianb@erislabs.net>.
68364 2010-04-24  Bruno Haible  <bruno@clisp.org>
68366         ansi-c++-opt: Find correct compiler when cross-compiling.
68367         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
68368         AC_CHECK_PROGS.
68369         Reported by Simon Josefsson.
68371 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
68373         vc-list-files: Add support for subversion
68374         * build-aux/vc-list-files: Use "svn list" to generate the list of
68375         files controlled by subversion.
68377 2010-04-23  Jim Meyering  <meyering@redhat.com>
68379         vc-list-files tests: convert to use init.sh
68380         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
68381         path_prepend_.
68382         Use Exit, not exit.
68383         Use skip_ rather than open coding it.
68384         Remove trap set-up and compare definitions.
68385         * tests/test-vc-list-files-git.sh: Likewise.
68386         * modules/vc-list-files-tests (Files): Add tests/init.sh.
68388 2010-04-22  Simon Josefsson  <simon@josefsson.org>
68390         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
68391         backup files.
68393 2010-04-21  Simon Josefsson  <simon@josefsson.org>
68395         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
68397 2010-04-20  Eric Blake  <eblake@redhat.com>
68399         tests: be robust to ignored SIGPIPE
68400         * tests/test-select-in.sh: Consume all output.
68401         * tests/test-lseek.sh: Check correct exit status, while avoiding
68402         EPIPE.
68404 2010-04-20  Simon Josefsson  <simon@josefsson.org>
68405             Bruno Haible  <bruno@clisp.org>
68407         visibility: Don't use -fvisibility if it leads to a warning.
68408         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
68409         yes, don't pretend that visibility works if it leads to a warning.
68410         Reported by Mike Gran <spk121@yahoo.com>.
68412 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
68414         * build-aux/bootstrap: Use "git -h" for testing for supported options
68415         instead of "git --help".  The short-form option only shows a summary,
68416         and doesn't layout the full man page.  Grep for the full option name
68417         in the summary, too.
68419 2010-04-19  Bruno Haible  <bruno@clisp.org>
68421         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
68422         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
68423         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
68424         mention of RELOCATABLE_STRIP.
68425         Reported by Sylvain Beucler <beuc@beuc.net>.
68427 2010-04-19  Bruno Haible  <bruno@clisp.org>
68429         * lib/diffseq.h: Fix typo in comment.
68430         Reported by Eric Blake.
68432 2010-04-19  Bruno Haible  <bruno@clisp.org>
68434         ioctl: Move autoconf macro to a .m4 file.
68435         * m4/ioctl.m4: New file, extracted from modules/ioctl.
68436         * modules/ioctl (Files): Add it.
68437         (configure.ac): Simply invoke gl_FUNC_IOCTL.
68438         Reported by Ian Beckwith <ianb@erislabs.net>.
68440 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
68441             Bruno Haible  <bruno@clisp.org>
68443         diffseq: Accommodate use-case with abstract arrays.
68444         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
68445         is not defined.
68446         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
68447         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
68449 2010-04-18  Bruno Haible  <bruno@clisp.org>
68451         * doc/posix-headers/stdbool.texi: More precise wording.
68453 2010-04-17  Jim Meyering  <meyering@redhat.com>
68455         maint.mk: use gnu-style indentation in an embedded perl script
68456         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
68457         Rename variable: s/two/last_two_bytes/
68459 2010-04-16  Eric Blake  <eblake@redhat.com>
68461         test-stdbool: skip test that fails with Solaris CC
68462         * tests/test-stdbool.c (f): Skip test that causes compilation
68463         error under buggy C++ compiler.
68464         * lib/stdbool.in.h: Document the limitation.
68465         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
68467         setenv: allow compilation with C++
68468         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
68469         register keyword.
68471         stdint: allow test to pass with C++
68472         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
68474         getopt: allow compilation with C++
68475         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
68476         struct.
68477         * lib/getopt.c (_getopt_internal_r): Use correct type.
68478         Reported by Dagobert Michelson, via Joel E. Denny.
68480 2010-04-16  Bruno Haible  <bruno@clisp.org>
68482         Override netdb.h always.
68483         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
68484         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
68485         Reported by Ludovic Courtès <ludo@gnu.org>.
68487 2010-04-15  Bruno Haible  <bruno@clisp.org>
68489         openpty: Fix mistake from 2010-03-21.
68490         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
68491         Reported by Simon Josefsson.
68493 2010-04-15  Eric Blake  <eblake@redhat.com>
68495         test-forkpty: fix expected signature
68496         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
68497         Reported by Simon Josefsson.
68499 2010-04-15  Jim Meyering  <meyering@redhat.com>
68501         maint.mk: texinfo_suffix_re_: correct the default regexp
68502         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
68504         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
68505         make it configurable via texinfo_suffix_re_.
68507 2010-04-14  Eric Blake  <eblake@redhat.com>
68509         strtok_r: relax license to LGPLv2+
68510         * modules/strtok_r (License): Relax license.
68511         Reported by Matthias Bolte.
68513 2010-04-14  Simon Josefsson  <simon@josefsson.org>
68515         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
68516         version 1.4.4 by default instead of requiring the libgcrypt
68517         version used during build.  This makes it possible to use the
68518         application with older but still binary compatible libgcrypt
68519         versions.
68521 2010-04-13  Eric Blake  <eblake@redhat.com>
68523         getopt-gnu: match recent glibc fixes and posix ruling
68524         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
68525         '+' handling, when requesting extensions.
68526         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
68527         'W;' handling.
68528         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
68529         * doc/posix-functions/getopt.texi (getopt): Document this.
68530         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
68531         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
68532         Likewise.
68534         getopt: merge bug fixes from glibc
68535         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
68536         diagnostics.  Honor '+:' correctly.  Reject ';'.
68538         getopt-posix: detect MacOS bug
68539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
68540         optind when missing a required argument.
68541         * doc/posix-functions/getopt.texi (getopt): Document the bug.
68542         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
68543         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
68544         Likewise.
68546         getopt-posix: avoid spurious failure on Solaris
68547         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
68548         an indicator that setting optind=1 is sufficient for reset.
68550         getopt-posix: avoid spurious failure on FreeBSD
68551         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
68552         in POSIX mode, since the m4 test uses it.
68554         gnulib-tool: silence warning on BSD sh
68555         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
68557 2010-04-13  Jim Meyering  <meyering@redhat.com>
68559         doc: users.txt: GNU patch now uses gnulib
68560         * users.txt: Add patch.
68562 2010-04-12  Jim Meyering  <meyering@redhat.com>
68564         maint.mk: generate more concise timing data for syntax-check rules
68565         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
68566         " done" from each line that reports a syntax-check test duration.
68568 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
68570         git-version-gen: use "git update-index..." rather than "git status"
68571         * build-aux/git-version-gen: Use git update-index --refresh, not
68572         "git status".  With some versions of git, "git status" would fail
68573         to update the index and result in an unwarranted "-dirty" suffix.
68575 2010-04-11  Jim Meyering  <meyering@redhat.com>
68577         openat: correct formatting (no semantic change)
68578         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
68579         Suggested by Bruno Haible.
68581 2010-04-11  Bruno Haible  <bruno@clisp.org>
68583         Stricter declaration checking in testdirs.
68584         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68585         If for_tests is true, augment AM_CPPFLAGS to define
68586         GNULIB_STRICT_CHECKING.
68587         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
68588         GNULIB_STRICT_CHECKING is defined, verify that the function is
68589         declared.
68591 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
68592             Bruno Haible  <bruno@clisp.org>
68594         libunistring: Improve configure output.
68595         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
68596         Don't say "consider installing GNU libunistring" when checking again
68597         with libiconv.
68599 2010-04-11  Bruno Haible  <bruno@clisp.org>
68601         libunistring: Correct value of $LTLIBUNISTRING.
68602         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
68603         correct the value of $LTLIBUNISTRING.
68605 2010-04-11  Bruno Haible  <bruno@clisp.org>
68607         havelib: Add static libraries to LIBS in the right order.
68608         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
68609         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
68611 2010-04-11  Bruno Haible  <bruno@clisp.org>
68613         libunistring: Detect libunistring also when it depends on libiconv.
68614         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
68615         the second AC_LIB_HAVE_LINKFLAGS invocation.
68617 2010-04-11  James Youngman  <jay@gnu.org>
68619         close-stream: declare local scalars to be "const"
68620         * lib/close-stream.c (close_stream): Make boolean variables const
68621         to document the fact that we set but do not change them.
68623 2010-04-11  Bruno Haible  <bruno@clisp.org>
68625         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
68627 2010-04-11  Jim Meyering  <meyering@redhat.com>
68629         maint.mk: don't include dist-check.mk
68630         * top/maint.mk: Remove bogus include directive.
68632         maint.mk: improve empty-line-at-EOF check
68633         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
68634         solution, rather than tail+Perl-based one.  The latter would read
68635         a few kilobytes from the end of each file, and did not handle empty
68636         files properly.
68638         maint.mk: print the elapsed time for each syntax-check rule
68639         * top/maint.mk (sc_m_rules_): Save start time in a file.
68640         (sc_z_rules_): New rules: remove temp file and print elapsed time.
68641         (local-check): Interpose the .z rules
68643 2010-04-11  Jim Meyering  <meyering@redhat.com>
68645         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
68646         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
68647         empty file with one that ends in an empty line.
68649 2010-04-10  Bruno Haible  <bruno@clisp.org>
68651         mkdir: Make it work on mingw64.
68652         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
68653         * lib/mkdir.c: Update comment.
68654         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
68656 2010-04-10  Bruno Haible  <bruno@clisp.org>
68658         Don't override improved macro from newer autoconf.
68659         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
68660         autoconf >= 2.62.
68661         Reported by Joel E. Denny <jdenny@clemson.edu>.
68663 2010-04-10  Jim Meyering  <meyering@redhat.com>
68665         maint.mk: new syntax-check rule: prohibit empty lines at end of file
68666         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
68668         maint.mk: correct a diagnostic
68669         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
68670         in diagnostic; now use $prohibit.
68672 2010-04-10  Bruno Haible  <address@hidden>
68674         fchownat: Fix a C++ test error on Solaris 8.
68675         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
68676         the function does not exist.
68678 2010-04-10  Bruno Haible  <bruno@clisp.org>
68680         vasnprintf: Add more tests.
68681         * tests/test-vasnprintf-posix.c: Include <errno.h>.
68682         (test_function): Test converting an invalid wide string.
68684         vasnprintf: Correct handling of unconvertible wide string arguments.
68685         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
68686         VASNPRINTF.
68687         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
68688         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
68689         smaller than the expected maximum need for the directive. Set errno to
68690         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
68691         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
68692         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
68693         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
68694         * modules/vasnprintf (Files): Add m4/printf.m4.
68695         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68697 2010-04-10  Bruno Haible  <bruno@clisp.org>
68699         vasnprintf: Fix crash in %ls directive.
68700         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
68701         string is passed as argument to %ls, with no precision and no width.
68702         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68704 2010-04-10  Bruno Haible  <bruno@clisp.org>
68706         vasnprintf: Fix multiple test failures on mingw.
68707         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
68708         _snprintf, or snwprintf, not _snwprintf.
68710 2010-04-10  Bruno Haible  <bruno@clisp.org>
68712         write: Fix a C++ test error on mingw.
68713         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
68715 2010-04-10  Bruno Haible  <bruno@clisp.org>
68717         vasnprintf test: Reduce code duplication.
68718         * tests/test-vasnprintf.c (test_function): New function, extracted from
68719         test_vasnprintf.
68720         (test_vasnprintf, test_asnprintf): Invoke it.
68722 2010-04-10  Bruno Haible  <bruno@clisp.org>
68724         strnlen: Fix warning in C++ mode on MacOS X.
68725         * lib/string.in.h (strnlen): Use the modern idiom.
68726         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
68727         defining strnlen as a macro already in <config.h>.
68728         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68729         REPLACE_STRNLEN.
68730         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
68731         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68733 2010-04-08  James Youngman  <jay@gnu.org>
68735         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
68736         the example.
68738 2010-04-09  Jim Meyering  <meyering@redhat.com>
68740         maint.mk: print better diagnostic when there is no $(_hv_file)
68741         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
68742         announce that when $(_hv_file) (aka help-version) does not exist.
68744         init.sh: run tr in the "C" locale to avoid multibyte interpretation
68745         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
68746         not try to interpret its random input bytes.  Jarno Rajahalme reported
68747         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
68748         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
68749         (mktempd_): Likewise, just in case.
68751         ftruncate: add two years to projected module removal date: 2012
68752         * m4/ftruncate.m4: Adjust comments.
68754         ftruncate: mark module as obsolete; even MinGW provides it, now
68755         * modules/ftruncate (Status): Obsolete.
68756         (Notice): Say that.
68757         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
68758         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
68760 2010-04-08  Bruno Haible  <bruno@clisp.org>
68762         Fix side effects from tests-related modules.
68763         * modules/dprintf-posix (Comment): New section.
68764         * modules/fprintf-posix (Comment): Likewise.
68765         * modules/obstack-printf-posix (Comment): Likewise.
68766         * modules/printf-posix (Comment): Likewise.
68767         * modules/snprintf-posix (Comment): Likewise.
68768         * modules/sprintf-posix (Comment): Likewise.
68769         * modules/vasnprintf-posix (Comment): Likewise.
68770         * modules/vasprintf-posix (Comment): Likewise.
68771         * modules/vdprintf-posix (Comment): Likewise.
68772         * modules/vfprintf-posix (Comment): Likewise.
68773         * modules/vprintf-posix (Comment): Likewise.
68774         * modules/vsnprintf-posix (Comment): Likewise.
68775         * modules/vsprintf-posix (Comment): Likewise.
68776         * modules/xprintf-posix (Comment): Likewise.
68777         * modules/xvasprintf-posix (Comment): Likewise.
68778         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
68779         * modules/floorf-tests (Depends-on): Likewise.
68780         * modules/round-tests (Depends-on): Likewise.
68781         * modules/roundf-tests (Depends-on): Likewise.
68782         * modules/trunc-tests (Depends-on): Likewise.
68783         * modules/truncf-tests (Depends-on): Likewise.
68784         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
68785         'fprintf-posix' module is not present.
68786         * tests/test-floorf2.c (check): Likewise.
68787         * tests/test-trunc2.c (check): Likewise.
68788         * tests/test-truncf2.c (check): Likewise.
68789         * tests/test-round2.c (equal): Likewise.
68790         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68792 2010-04-07  Karl Berry  <karl@gnu.org>
68794         * config/srclist.txt,
68795         * config/srclistvars.sh,
68796         * config/srclist-update: doc fixes.
68798 2010-04-07  Jim Meyering  <meyering@redhat.com>
68800         maint.mk: add a PATH crosschecking syntax-check rule
68801         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
68802         Useful if you use a test like the one in help-version (coreutils,
68803         diffutils, grep, gzip) that ensures $(VERSION) matches what is
68804         printed by prog --version.
68806 2010-04-06  Bruno Haible  <bruno@clisp.org>
68808         Fix link error on mingw.
68809         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
68810         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
68812 2010-04-06  Bruno Haible  <bruno@clisp.org>
68814         Assume rmdir exists.
68815         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
68817 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
68819         doc: update users.txt
68820         * users.txt: Add gcal.
68822 2010-04-06  Jim Meyering  <meyering@redhat.com>
68824         init.sh: simply unset TMPDIR rather than risking env -i
68825         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
68826         although it probably works fine on all Unix-based systems, some
68827         systems (Cygwin?) cannot tolerate a totally cleared environment.
68828         Suggestion from Eric Blake.
68830 2010-04-06  Jim Meyering  <meyering@redhat.com>
68832         init.sh: portability fix: use env's POSIX-specified -i option not -u
68833         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
68834         than unportable env -u.  Solaris 5.11's env lacks support for -u.
68836 2010-04-05  Bruno Haible  <bruno@clisp.org>
68838         btowc: Work around Cygwin 1.7.2 bug.
68839         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
68840         does not map NUL to 0.
68841         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
68843 2010-04-05  Bruno Haible  <bruno@clisp.org>
68845         Make the multithread modules work on Cygwin 1.7.2.
68846         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
68847         imported symbols can be declared weak, so that it returns "no" on
68848         Cygwin 1.7.2.
68850 2010-04-05  Bruno Haible  <bruno@clisp.org>
68852         Use the module 'strncat'.
68853         * modules/unistr/u8-strncat (Depends-on): Add strncat.
68855         Tests for module 'strncat'.
68856         * modules/strncat-tests: New file.
68857         * tests/test-strncat.c: New file.
68859         New module 'strncat'.
68860         * lib/string.in.h (strncat): New declaration.
68861         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
68862         * m4/strncat.m4: New file, based on m4/memchr.m4.
68863         * modules/strncat: New file.
68864         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
68865         is declared.
68866         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
68867         REPLACE_STRNCAT.
68868         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
68869         REPLACE_STRNCAT.
68870         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
68871         module.
68872         * tests/test-string-c++.cc: Check signature of strncat.
68874 2010-04-05  Jim Meyering  <meyering@redhat.com>
68876         xstrtoumax-tests: convert to use init.sh
68877         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
68878         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
68879         Use Exit, not exit.
68880         Remove uses of $EXEEXT and "./" to run a program in the current dir.
68882         xstrtoimax-tests: convert to use init.sh
68883         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
68884         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
68885         Use Exit, not exit.
68886         Remove uses of $EXEEXT and "./" to run a program in the current dir.
68888 2010-04-05  Bruno Haible  <bruno@clisp.org>
68890         sys_socket: Avoid #define replacements in C++ mode.
68891         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
68892         warning to the function if possible, rather than #defining the symbol
68893         to a dysfunctional alias.
68895 2010-04-05  Bruno Haible  <bruno@clisp.org>
68897         fseeko: Fix C++ test error on mingw.
68898         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
68899         gl_FUNC_FSEEKO.
68900         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
68901         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
68902         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
68903         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
68905 2010-04-05  Bruno Haible  <bruno@clisp.org>
68907         duplocale: Improve test output.
68908         * tests/test-duplocale.c (main): Print reason for skipped test.
68910 2010-04-05  Bruno Haible  <bruno@clisp.org>
68912         Assume rmdir exists.
68913         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
68914         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
68916 2010-04-05  Bruno Haible  <bruno@clisp.org>
68918         Fix link error on Solaris 8 with cc.
68919         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
68921 2010-04-05  Bruno Haible  <bruno@clisp.org>
68923         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
68924         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
68926 2010-04-05  Bruno Haible  <bruno@clisp.org>
68928         vasprintf: Update documentation.
68929         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
68931 2010-04-05  Bruno Haible  <bruno@clisp.org>
68933         ptsname: Improve test.
68934         * tests/test-ptsname.c (main): Also try the various master names of BSD
68935         systems.
68937 2010-04-05  Bruno Haible  <bruno@clisp.org>
68939         memchr: Avoid a possible C++ test error.
68940         * lib/string.in.h (memchr): Provide declaration if function is missing.
68941         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
68942         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
68943         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
68944         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
68946 2010-04-05  Bruno Haible  <bruno@clisp.org>
68948         strtok_r: Improve idiom.
68949         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
68950         AC_LIBOBJ is used.
68952 2010-04-05  Bruno Haible  <bruno@clisp.org>
68954         strdup: Improve idiom.
68955         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
68956         AC_LIBOBJ is used.
68957         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
68958         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
68959         when AC_LIBOBJ is used.
68961 2010-04-05  Bruno Haible  <bruno@clisp.org>
68963         mbsinit, mbrtowc, wcrtomb: Improve idioms.
68964         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
68965         don't set REPLACE_MBSINIT to 1.
68966         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
68967         don't set REPLACE_MBRTOWC to 1.
68968         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
68969         exist, don't set REPLACE_MBSRTOWCS to 1.
68970         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
68971         exist, don't set REPLACE_MBSNRTOWCS to 1.
68972         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
68973         don't set REPLACE_WCRTOMB to 1.
68974         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
68975         exist, don't set REPLACE_WCSRTOMBS to 1.
68976         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
68977         exist, don't set REPLACE_WCSNRTOMBS to 1.
68979 2010-04-05  Bruno Haible  <bruno@clisp.org>
68981         ldexpl: Improve idiom.
68982         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
68983         make sure to set HAVE_DECL_LDEXPL to 0.
68985 2010-04-05  Jim Meyering  <meyering@redhat.com>
68987         xstrtol-tests: convert to use init.sh
68988         * modules/xstrtol-tests (Files): Add tests/init.sh.
68989         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
68990         Use Exit, not exit.
68991         Remove uses of $EXEEXT and "./" to run a program in the current dir.
68993         atexit-tests: convert to use init.sh
68994         * modules/atexit-tests (Files): Add tests/init.sh.
68995         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
68996         Use Exit, not exit.
68997         Remove uses of $EXEEXT and "./" to run a program in the current dir.
68999         init.sh: fix typo
69000         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
69002         init.sh: make it easier for a test script to write to the tty, ...
69003         when using automake's parallel-tests mode.
69004         * tests/init.sh (stderr_fileno_): Define overridable variable.
69005         (warn_): New function, to use it.
69006         (fail_, skip_, framework_failure_): Use warn_.
69008 2010-04-04  Bruno Haible  <bruno@clisp.org>
69010         btowc: Avoid warning.
69011         * lib/btowc.c: Include <stdlib.h>.
69012         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
69014 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69015             Bruno Haible  <bruno@clisp.org>
69017         wchar: Port to NetBSD 1.5.
69018         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
69019         * lib/wctype.in.h (WEOF): Likewise.
69021 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69022             Bruno Haible  <bruno@clisp.org>
69024         Port extended stdio to NetBSD 1.5.
69025         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
69026         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
69027         older.
69029 2010-04-04  Bruno Haible  <bruno@clisp.org>
69031         string: Remove unused substitution.
69032         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69033         HAVE_DECL_STRERROR.
69034         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
69036 2010-04-04  Bruno Haible  <bruno@clisp.org>
69038         strtod: Avoid a possible C++ test error.
69039         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
69040         set REPLACE_STRTOD.
69042 2010-04-04  Bruno Haible  <bruno@clisp.org>
69044         strerror: Update documentation.
69045         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
69047 2010-04-04  Bruno Haible  <bruno@clisp.org>
69049         stdio: Fix some C++ test errors on Solaris 8 with GCC.
69050         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
69051         _GL_CXXALIAS_SYS_CAST.
69053 2010-04-04  Bruno Haible  <bruno@clisp.org>
69055         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69056         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
69057         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
69058         REPLACE_FREXPL to 1.
69059         * doc/posix-functions/frexpl.texi: Update documentation.
69061 2010-04-04  Bruno Haible  <bruno@clisp.org>
69063         math: Fix some C++ test errors on Solaris 8 and Cygwin.
69064         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
69066 2010-04-04  Bruno Haible  <bruno@clisp.org>
69068         Implement nanosleep for native Windows.
69069         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
69071 2010-04-04  Bruno Haible  <bruno@clisp.org>
69073         math: Fix some C++ test errors on Solaris 8.
69074         * lib/math.in.h (truncf, trunc): Use simpler idiom.
69076 2010-04-04  Bruno Haible  <bruno@clisp.org>
69078         math: Fix some C++ test errors on Cygwin.
69079         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
69080         truncl): Provide declaration if the system does not have it.
69081         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
69082         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
69083         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
69084         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
69085         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
69086         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
69087         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
69088         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
69089         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
69090         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
69091         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
69092         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
69093         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
69094         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
69095         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
69096         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
69097         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
69098         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69099         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69100         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
69101         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69102         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69104 2010-04-04  Bruno Haible  <bruno@clisp.org>
69106         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
69107         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
69108         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
69109         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
69110         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
69111         * m4/isinf.m4 (gl_ISINF): Likewise.
69112         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
69114 2010-04-04  Bruno Haible  <bruno@clisp.org>
69116         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
69117         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
69119 2010-04-04  Bruno Haible  <bruno@clisp.org>
69121         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
69122         * modules/tmpfile (configure.ac): Update.
69124         tmpfile: Fix C++ test error on mingw.
69125         * lib/stdio.in.h (tmpfile): New declaration.
69126         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
69127         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
69128         * modules/tmpfile (Depends-on): Add stdio.
69129         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69130         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
69131         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
69132         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
69133         REPLACE_TMPFILE.
69134         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
69136 2010-04-04  Bruno Haible  <bruno@clisp.org>
69138         ioctl: Fix C++ test error on mingw.
69139         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
69140         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
69141         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
69143 2010-04-03  Bruno Haible  <bruno@clisp.org>
69145         wcwidth: Fix C++ test error on mingw.
69146         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
69147         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
69148         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
69150 2010-04-03  Bruno Haible  <bruno@clisp.org>
69152         nanosleep: Fix C++ test error on mingw.
69153         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
69154         * lib/time.in.h (nanosleep): Use modern idiom.
69155         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
69156         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
69157         REPLACE_NANOSLEEP to 1.
69158         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
69159         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
69161 2010-04-03  Bruno Haible  <bruno@clisp.org>
69163         strptime: Fix C++ test error on mingw.
69164         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
69165         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
69166         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
69167         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
69168         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
69169         not REPLACE_STRPTIME.
69170         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
69171         REPLACE_STRPTIME.
69173 2010-04-03  Bruno Haible  <bruno@clisp.org>
69175         timegm: Fix C++ test error on mingw.
69176         * lib/time.in.h (timegm): Use modern idiom.
69177         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
69178         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
69179         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
69180         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
69182 2010-04-03  Bruno Haible  <bruno@clisp.org>
69184         timegm: Assume declaration if function exists.
69185         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
69186         if it exists. Don't clobber ac_cv_func_timegm.
69188 2010-04-03  Bruno Haible  <bruno@clisp.org>
69190         time_r: Fix C++ test error on mingw.
69191         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
69192         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
69193         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
69194         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
69195         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
69197 2010-04-03  Bruno Haible  <bruno@clisp.org>
69199         time_r: Minor updates.
69200         * modules/time_r (Description): Mention the provided functions.
69201         * lib/time_r.c: Don't include <string.h>.
69202         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
69203         * doc/posix-functions/localtime_r.texi: Likewise.
69205 2010-04-03  Bruno Haible  <bruno@clisp.org>
69207         time: Fix regression introduced on 2010-03-08.
69208         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
69209         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
69211 2010-04-03  Jim Meyering  <meyering@redhat.com>
69213         maint.mk: don't silently disable project-specific syntax-check rules
69214         * top/maint.mk (_prohibit_regexp): Define, to help people realize
69215         that they need to convert their project-specific syntax-check rules
69216         to use the new _sc_search_regexp.
69218 2010-04-03  Bruno Haible  <bruno@clisp.org>
69220         fchdir: Fix regression introduced on 2010-03-08.
69221         * lib/unistd.in.h (fchdir): Fix declaration.
69222         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
69223         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
69224         REPLACE_FCHDIR.
69225         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
69226         REPLACE_FCHDIR.
69228 2010-04-03  Bruno Haible  <bruno@clisp.org>
69230         getpagesize: Fix C++ test error on mingw.
69231         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
69232         system does not declare the function.
69233         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
69234         declared.
69235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
69236         HAVE_DECL_GETPAGESIZE.
69237         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
69239 2010-04-03  Bruno Haible  <bruno@clisp.org>
69241         stdio: Make C++ tests work on mingw.
69242         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
69243         does not declare the function.
69245 2010-04-03  Bruno Haible  <bruno@clisp.org>
69247         ftello: Fix C++ test error on mingw.
69248         * lib/stdio.in.h (ftello): Use modern idiom.
69249         * lib/ftello.c (ftello): Renamed from rpl_ftello.
69250         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
69251         is missing and that it needs to be replaced.
69252         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
69253         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
69254         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
69256 2010-04-03  Bruno Haible  <bruno@clisp.org>
69258         fseeko: Fix C++ test error on mingw.
69259         * lib/stdio.in.h (fseeko): Use modern idiom.
69260         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
69261         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
69262         is missing and that it needs to be replaced.
69263         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
69264         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
69265         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
69267 2010-04-03  Bruno Haible  <bruno@clisp.org>
69269         mkstemp: Fix C++ test error on mingw.
69270         * lib/stdlib.in.h (mkstemp): Use modern idiom.
69271         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
69272         function is missing and that it needs to be replaced.
69273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
69274         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
69276 2010-04-03  Bruno Haible  <bruno@clisp.org>
69278         stpncpy: Fix C++ test error on mingw.
69279         * lib/string.in.h (stpncpy): Use modern idiom.
69280         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
69281         function is missing and that it needs to be replaced.
69282         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69283         REPLACE_STPNCPY.
69284         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
69286 2010-04-03  Bruno Haible  <bruno@clisp.org>
69288         sys_stat: Fix C++ test error on mingw.
69289         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
69290         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
69292 2010-04-03  Bruno Haible  <bruno@clisp.org>
69294         pty: Update doc.
69295         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
69297 2010-04-03  Bruno Haible  <bruno@clisp.org>
69299         unistd: Fix C++ test error on mingw.
69300         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
69302 2010-04-03  Bruno Haible  <bruno@clisp.org>
69304         Update doc regarding mingw.
69305         * doc/glibc-functions/openpty.texi: Update regarding mingw.
69306         * doc/glibc-functions/login_tty.texi: Likewise.
69307         * doc/glibc-functions/forkpty.texi: Likewise.
69309 2010-04-03  Bruno Haible  <bruno@clisp.org>
69311         stdlib: Avoid compilation failure of c-strtold on mingw.
69312         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
69314 2010-04-03  Bruno Haible  <bruno@clisp.org>
69316         locale: Make C++ tests work on Cygwin and mingw.
69317         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
69318         cannot provide the function.
69319         Reported by Simon Josefsson.
69321 2010-04-03  Bruno Haible  <bruno@clisp.org>
69323         localename: Port to MacOS X 10.6.
69324         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
69325         memory layout of the locales in MacOS X 10.6 as well.
69326         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
69328 2010-04-02  Bruno Haible  <bruno@clisp.org>
69330         gnulib-tool: Ensure that long-running tests are executed last.
69331         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
69332         running tests after the one for the other tests.
69334 2010-04-02  Bruno Haible  <bruno@clisp.org>
69336         gnulib-tool: Ensure the tests in the main directory are executed first.
69337         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
69338         start with the current directory.
69340 2010-04-02  Bruno Haible  <bruno@clisp.org>
69342         Tests for module 'havelib', moved here from GNU gettext.
69343         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
69344         modifications.
69345         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
69346         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
69347         with modifications.
69348         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
69349         modifications.
69350         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
69351         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
69352         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
69353         with modifications.
69354         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
69355         with modifications.
69356         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
69357         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
69358         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
69359         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
69360         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
69361         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
69362         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
69363         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
69364         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
69365         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
69366         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
69367         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
69368         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
69369         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
69370         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
69371         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
69372         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
69373         with modifications.
69374         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
69375         with modifications.
69376         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
69377         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
69378         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
69379         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
69380         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
69381         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
69382         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
69383         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
69384         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
69385         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
69386         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
69387         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
69388         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
69389         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
69390         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
69391         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
69392         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
69393         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
69394         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
69395         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
69396         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
69397         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
69398         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
69399         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
69400         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
69401         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
69402         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
69403         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
69404         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
69405         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
69406         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
69407         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
69408         * tests/havelib/rpathx/rpathx.c: New file, from
69409         gettext/autoconf-lib-link.
69410         * tests/havelib/rpathx/Makefile.am: New file, from
69411         gettext/autoconf-lib-link.
69412         * tests/havelib/rpathx/configure.ac: New file, from
69413         gettext/autoconf-lib-link with modifications.
69414         * tests/havelib/rpathy/rpathy.c: New file, from
69415         gettext/autoconf-lib-link.
69416         * tests/havelib/rpathy/Makefile.am: New file, from
69417         gettext/autoconf-lib-link.
69418         * tests/havelib/rpathy/configure.ac: New file, from
69419         gettext/autoconf-lib-link with modifications.
69420         * tests/havelib/rpathz/rpathz.c: New file, from
69421         gettext/autoconf-lib-link.
69422         * tests/havelib/rpathz/Makefile.am: New file, from
69423         gettext/autoconf-lib-link.
69424         * tests/havelib/rpathz/configure.ac: New file, from
69425         gettext/autoconf-lib-link with modifications.
69426         * tests/havelib/rpathlx/usex.c: New file, from
69427         gettext/autoconf-lib-link.
69428         * tests/havelib/rpathlx/Makefile.am: New file, from
69429         gettext/autoconf-lib-link.
69430         * tests/havelib/rpathlx/configure.ac: New file, from
69431         gettext/autoconf-lib-link with modifications.
69432         * tests/havelib/rpathly/usey.c: New file, from
69433         gettext/autoconf-lib-link.
69434         * tests/havelib/rpathly/Makefile.am: New file, from
69435         gettext/autoconf-lib-link.
69436         * tests/havelib/rpathly/configure.ac: New file, from
69437         gettext/autoconf-lib-link with modifications.
69438         * tests/havelib/rpathlz/usez.c: New file, from
69439         gettext/autoconf-lib-link.
69440         * tests/havelib/rpathlz/Makefile.am: New file, from
69441         gettext/autoconf-lib-link.
69442         * tests/havelib/rpathlz/configure.ac: New file, from
69443         gettext/autoconf-lib-link with modifications.
69444         * tests/havelib/rpathlyx/usey.c: New file, from
69445         gettext/autoconf-lib-link.
69446         * tests/havelib/rpathlyx/Makefile.am: New file, from
69447         gettext/autoconf-lib-link.
69448         * tests/havelib/rpathlyx/configure.ac: New file, from
69449         gettext/autoconf-lib-link with modifications.
69450         * tests/havelib/rpathlzyx/usez.c: New file, from
69451         gettext/autoconf-lib-link.
69452         * tests/havelib/rpathlzyx/Makefile.am: New file, from
69453         gettext/autoconf-lib-link.
69454         * tests/havelib/rpathlzyx/configure.ac: New file, from
69455         gettext/autoconf-lib-link with modifications.
69456         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
69457         with modifications.
69459 2010-04-02  Bruno Haible  <bruno@clisp.org>
69461         gnulib-tool: Create distributed built sources also for the tests.
69462         * gnulib-tool (func_create_testdir): Also generate distributed built
69463         sources in the tests directory.
69465 2010-04-02  Bruno Haible  <bruno@clisp.org>
69467         gnulib-tool: Obey user's environment variables.
69468         * gnulib-tool (func_create_testdir): When creating built sources,
69469         respect the environment variables for autoconf, automake, etc. given by
69470         the user.
69472 2010-04-02  Bruno Haible  <bruno@clisp.org>
69474         gnulib-tool: Provide the value of --m4-base to modules.
69475         * gnulib-tool (func_import, func_create_testdir): Emit a definition
69476         of gl_m4_base.
69478 2010-04-02  Eric Blake  <eblake@redhat.com>
69480         maint.mk: fix some fallout
69481         * NEWS: Document the incompatible change, and its effect on cfg.mk.
69482         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
69484 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
69486         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
69487         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
69488         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
69489         (sc_cast_of_x_alloc_return_value): Likewise.
69490         (sc_cast_of_alloca_return_value): Likewise.
69491         (sc_space_tab): Likewise.
69492         (sc_prohibit_atoi_atof): Likewise.
69493         (sc_prohibit_magic_number_exit): Likewise.
69494         (sc_error_exit_success): Likewise.
69495         (sc_file_system): Likewise.
69496         (sc_prohibit_have_config_h): Likewise.
69497         (sc_require_config_h): Likewise.
69498         (sc_prohibit_HAVE_MBRTOWC): Likewise.
69499         (sc_obsolete_symbols): Likewise.
69500         (sc_changelog): Likewise.
69501         (sc_program_name): Likewise.
69502         (sc_the_the): Likewise.
69503         (sc_trailing_blank): Likewise.
69504         (sc_two_space_separator_in_usage): Likewise.
69505         (sc_useless_cpp_parens): Likewise.
69506         (sc_GPL_version): Likewise.
69507         (sc_GFDL_version): Likewise.
69508         (sc_texinfo_acronym): Likewise.
69509         (sc_prohibit_cvs_keyword): Likewise.
69510         (sc_prohibit_stat_st_blocks): Likewise.
69511         (sc_prohibit_S_IS_definition): Likewise.
69512         (sc_redundant_const): Likewise.
69513         (sc_makefile_TAB_only_indentation): Likewise.
69514         (sc_m4_quote_check): Likewise.
69515         (sc_makefile_path_separator_check): Likewise.
69516         (sc_copyright_check): Likewise.
69517         (sc_Wundef_boolean): Likewise.
69518         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
69520         maint.mk: match 0 or more whitespace-before-function-call '('
69521         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
69522         that have zero or two-and-more spaces between the function name
69523         and the open parenthesis.
69524         (sc_error_message_warn_fatal): Likewise.
69525         (sc_error_message_uppercase): Likewise.
69526         (sc_error_message_period): Likewise.
69528 2010-03-31  Eric Blake  <eblake@redhat.com>
69530         maint.mk: check for [ as well as test
69531         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
69532         Based on a libvirt report by Matthias Bolte.
69534         gnumakefile: don't squelch _version output
69535         * top/GNUmakefile (_version): Create one-shot dependency rather
69536         than using $(shell) when version must be regenerated.
69537         (_autoreconf): Run verbosely, by default.
69539         sys_time: avoid compiler warnings
69540         * lib/sys_time.in.h (includes): Ensure gcc pragma is
69541         unconditional, fixing regression from 2010-03-29.
69542         Reported by Simon Josefsson.
69544 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
69546         maint.mk: s/_header_without_use/_sc_header_without_use/
69547         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
69548         (sc_prohibit_assert_without_use): Use the new name.
69549         (sc_prohibit_close_stream_without_use): Likewise.
69550         (sc_prohibit_getopt_without_use): Likewise.
69551         (sc_prohibit_quotearg_without_use): Likewise.
69552         (sc_prohibit_quote_without_use): Likewise.
69553         (sc_prohibit_long_options_without_use): Likewise.
69554         (sc_prohibit_inttostr_without_use): Likewise.
69555         (sc_prohibit_ignore_value_without_use): Likewise.
69556         (sc_prohibit_error_without_use): Likewise.
69557         (sc_prohibit_xalloc_without_use): Likewise.
69558         (sc_prohibit_hash_without_use): Likewise.
69559         (sc_prohibit_hash_pjw_without_use): Likewise.
69560         (sc_prohibit_safe_read_without_use): Likewise.
69561         (sc_prohibit_argmatch_without_use): Likewise.
69562         (sc_prohibit_canonicalize_without_use): Likewise.
69563         (sc_prohibit_root_dev_ino_without_use): Likewise.
69564         (sc_prohibit_openat_without_use): Likewise.
69565         (sc_prohibit_c_ctype_without_use): Likewise.
69566         (sc_prohibit_signal_without_use): Likewise.
69567         (sc_prohibit_intprops_without_use): Likewise.
69569 2010-03-30  Eric Blake  <eblake@redhat.com>
69571         maint: improve module indicators
69572         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
69573         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
69574         columns, and avoid extra macro expansion.
69576         fdopendir: work around FreeBSD bug
69577         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
69578         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
69579         * modules/dirent (Makefile.am): Substitute it.
69580         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
69581         declaration.
69582         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
69583         fix.
69584         Reported by Christian Weisgerber <naddy@mips.inka.de>.
69586 2010-03-29  Bruno Haible  <bruno@clisp.org>
69588         Emit #pragma system_header after the inclusion guard, not before.
69589         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
69590         guard that spans the entire file, not before. This enables an
69591         optimization in GCC's preprocessor.
69592         * lib/ctype.in.h: Likewise.
69593         * lib/dirent.in.h: Likewise.
69594         * lib/errno.in.h: Likewise.
69595         * lib/float.in.h: Likewise.
69596         * lib/getopt.in.h: Likewise.
69597         * lib/iconv.in.h: Likewise.
69598         * lib/langinfo.in.h: Likewise.
69599         * lib/locale.in.h: Likewise.
69600         * lib/math.in.h: Likewise.
69601         * lib/netdb.in.h: Likewise.
69602         * lib/netinet_in.in.h: Likewise.
69603         * lib/pty.in.h: Likewise.
69604         * lib/sched.in.h: Likewise.
69605         * lib/se-selinux.in.h: Likewise.
69606         * lib/search.in.h: Likewise.
69607         * lib/spawn.in.h: Likewise.
69608         * lib/stdarg.in.h: Likewise.
69609         * lib/stdint.in.h: Likewise.
69610         * lib/string.in.h: Likewise.
69611         * lib/strings.in.h: Likewise.
69612         * lib/sys_file.in.h: Likewise.
69613         * lib/sys_ioctl.in.h: Likewise.
69614         * lib/sys_time.in.h: Likewise.
69615         * lib/sys_times.in.h: Likewise.
69616         * lib/sys_utsname.in.h: Likewise.
69617         * lib/sys_wait.in.h: Likewise.
69618         * lib/sysexits.in.h: Likewise.
69619         * lib/wctype.in.h: Likewise.
69621 2010-03-28  James Youngman  <jay@gnu.org>
69623         save-cwd: don't leak a file descriptor when the caller execs.
69624         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
69625         saved file descriptor.
69626         * modules/save-cwd (Depends-on): Depend on cloexec.
69628 2010-03-29  Bruno Haible  <bruno@clisp.org>
69630         Remove vestiges of fts-lgpl module.
69631         * lib/fts_.h: Assume GNULIB_FTS is 1.
69632         * lib/fts.c: Likewise.
69633         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
69635 2010-03-28  Bruno Haible  <bruno@clisp.org>
69637         Fix definition of tests witness macro.
69638         * gnulib-tool (func_import): Fix definition of witness macro.
69640 2010-03-28  Bruno Haible  <bruno@clisp.org>
69642         Fix ioctl's protoype on glibc systems.
69643         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
69644         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
69645         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
69646         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
69647         signature. If not, arrange to replace the ioctl function.
69648         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
69649         REPLACE_IOCTL.
69650         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
69651         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
69652         Reported by Ludovic Courtès <ludo@gnu.org>.
69654 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
69656         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
69657         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
69658         made it so grep -r --include=GLOB* ... did not work.
69660 2010-03-26  Jim Meyering  <meyering@redhat.com>
69661             Eric Blake  <eblake@redhat.com>
69663         maint.mk: prohibit use of test's -o and -a operators
69664         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
69666 2010-03-28  Bruno Haible  <bruno@clisp.org>
69668         Remove unused GNULIB_XYZ macro definitions.
69669         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
69670         invocation.
69672 2010-03-28  Bruno Haible  <bruno@clisp.org>
69674         Mark privileged tests modules.
69675         * modules/idpriv-drop-tests (Status): New section.
69676         * modules/idpriv-droptemp-tests (Status): New section.
69678 2010-03-28  Bruno Haible  <bruno@clisp.org>
69680         Split C++ tests into separate tests modules.
69681         * modules/dirent-c++-tests: New file, extracted from
69682         modules/dirent-tests.
69683         * modules/dirent-tests: Depend on it.
69684         * modules/fcntl-h-c++-tests: New file, extracted from
69685         modules/fcntl-h-tests.
69686         * modules/fcntl-h-tests: Depend on it.
69687         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
69688         * modules/glob-tests: Depend on it.
69689         * modules/iconv-h-c++-tests: New file, extracted from
69690         modules/iconv-h-tests.
69691         * modules/iconv-h-tests: Depend on it.
69692         * modules/langinfo-c++-tests: New file, extracted from
69693         modules/langinfo-tests.
69694         * modules/langinfo-tests: Depend on it.
69695         * modules/locale-c++-tests: New file, extracted from
69696         modules/locale-tests.
69697         * modules/locale-tests: Depend on it.
69698         * modules/math-c++-tests: New file, extracted from modules/math-tests.
69699         * modules/math-tests: Depend on it.
69700         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
69701         * modules/pty-tests: Depend on it.
69702         * modules/search-c++-tests: New file, extracted from
69703         modules/search-tests.
69704         * modules/search-tests: Depend on it.
69705         * modules/signal-c++-tests: New file, extracted from
69706         modules/signal-tests.
69707         * modules/signal-tests: Depend on it.
69708         * modules/spawn-c++-tests: New file, extracted from
69709         modules/spawn-tests.
69710         * modules/spawn-tests: Depend on it.
69711         * modules/stdio-c++-tests: New file, extracted from
69712         modules/stdio-tests.
69713         * modules/stdio-tests: Depend on it.
69714         * modules/stdlib-c++-tests: New file, extracted from
69715         modules/stdlib-tests.
69716         * modules/stdlib-tests: Depend on it.
69717         * modules/string-c++-tests: New file, extracted from
69718         modules/string-tests.
69719         * modules/string-tests: Depend on it.
69720         * modules/sys_ioctl-c++-tests: New file, extracted from
69721         modules/sys_ioctl-tests.
69722         * modules/sys_ioctl-tests: Depend on it.
69723         * modules/sys_select-c++-tests: New file, extracted from
69724         modules/sys_select-tests.
69725         * modules/sys_select-tests: Depend on it.
69726         * modules/sys_socket-c++-tests: New file, extracted from
69727         modules/sys_socket-tests.
69728         * modules/sys_socket-tests: Depend on it.
69729         * modules/sys_stat-c++-tests: New file, extracted from
69730         modules/sys_stat-tests.
69731         * modules/sys_stat-tests: Depend on it.
69732         * modules/sys_time-c++-tests: New file, extracted from
69733         modules/sys_time-tests.
69734         * modules/sys_time-tests: Depend on it.
69735         * modules/time-c++-tests: New file, extracted from modules/time-tests.
69736         * modules/time-tests: Depend on it.
69737         * modules/unistd-c++-tests: New file, extracted from
69738         modules/unistd-tests.
69739         * modules/unistd-tests: Depend on it.
69740         * modules/wchar-c++-tests: New file, extracted from
69741         modules/wchar-tests.
69742         * modules/wchar-tests: Depend on it.
69743         * modules/wctype-c++-tests: New file, extracted from
69744         modules/wctype-tests.
69745         * modules/wctype-tests: Depend on it.
69746         Reported by Simon Josefsson.
69748 2010-03-28  Bruno Haible  <bruno@clisp.org>
69750         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
69751         * gnulib-tool (func_exists_module): New function, extracted from
69752         func_verify_module.
69753         (func_verify_module): Use it.
69754         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
69755         'foo' only if 'foo' exists.
69756         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
69757         module.
69759 2010-03-28  Bruno Haible  <bruno@clisp.org>
69761         gnulib-tool: Add support for special categories of tests.
69762         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
69763         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
69764         (func_usage): Document them.
69765         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
69766         inc_unportable_tests, inc_all_tests): New variables.
69767         (func_acceptable): Consider these variables.
69768         (func_modules_transitive_closure): Make it work when the 'Status' field
69769         consists of multiple words.
69770         (func_import): Store and restore the values of inc_cxx_tests,
69771         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
69772         inc_all_tests in gnulib-comp.m4.
69773         (func_create_testdir): Set inc_all_tests to true.
69774         * doc/gnulib.texi (Extra tests modules): New section.
69775         Suggested by Jim Meyering.
69777 2010-03-28  Bruno Haible  <bruno@clisp.org>
69779         ansi-c++-opt: Allow turning off the C++ build by default.
69780         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
69781         gl_CXX_CHOICE_DEFAULT_NO is defined.
69782         Requested by Eric Blake.
69784 2010-03-28  Bruno Haible  <bruno@clisp.org>
69786         unistd: Avoid #define replacements in C++ mode.
69787         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
69788         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
69789         setsockopt, shutdown, select): In C++, attach a warning to the function
69790         if possible, rather than #defining the symbol to a dysfunctional alias.
69791         Reported by John W. Eaton <jwe@gnu.org>.
69793 2010-03-28  Bruno Haible  <bruno@clisp.org>
69795         Fix link errors on mingw.
69796         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
69797         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
69798         $(LIBSOCKET).
69799         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
69800         $(LIBSOCKET).
69802 2010-03-28  Bruno Haible  <bruno@clisp.org>
69803             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69805         lib-ignore: Determine different options for different compilers.
69806         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
69807         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
69808         Add comments.
69809         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
69810         * NEWS: Mention the change.
69812 2010-03-27  Bruno Haible  <bruno@clisp.org>
69814         Remove unused GNULIB_XYZ macro definitions.
69815         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
69816         * modules/fseek (configure.ac): Likewise.
69817         * modules/ioctl (configure.ac): Likewise.
69818         * modules/open (configure.ac): Likewise.
69819         * modules/stdlib-safer (configure.ac): Likewise.
69821 2010-03-27  Bruno Haible  <bruno@clisp.org>
69823         Add a remark about certain modules.
69824         * modules/malloc (Comment): New section.
69825         * modules/realloc (Comment): Likewise.
69826         * modules/sigpipe (Comment): Likewise.
69828 2010-03-27  Bruno Haible  <bruno@clisp.org>
69830         Resolve conflict between the two kinds of module indicators.
69831         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
69832         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
69833         * modules/canonicalize (configure.ac): Invoke
69834         gl_MODULE_INDICATOR_FOR_TESTS.
69835         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
69836         GNULIB_XYZ.
69837         * tests/test-dirent-c++.cc: Likewise.
69838         * tests/test-dirent-safer.c: Likewise.
69839         * tests/test-dup2.c: Likewise.
69840         * tests/test-fchdir.c: Likewise.
69841         * tests/test-fcntl-h-c++.cc: Likewise.
69842         * tests/test-getopt.c: Likewise.
69843         * tests/test-getopt.h: Likewise.
69844         * tests/test-langinfo-c++.cc: Likewise.
69845         * tests/test-locale-c++.cc: Likewise.
69846         * tests/test-math-c++.cc: Likewise.
69847         * tests/test-pty-c++.cc: Likewise.
69848         * tests/test-search-c++.cc: Likewise.
69849         * tests/test-signal-c++.cc: Likewise.
69850         * tests/test-spawn-c++.cc: Likewise.
69851         * tests/test-stdio-c++.cc: Likewise.
69852         * tests/test-stdlib-c++.cc: Likewise.
69853         * tests/test-string-c++.cc: Likewise.
69854         * tests/test-sys_ioctl-c++.cc: Likewise.
69855         * tests/test-sys_select-c++.cc: Likewise.
69856         * tests/test-sys_socket-c++.cc: Likewise.
69857         * tests/test-sys_stat-c++.cc: Likewise.
69858         * tests/test-sys_time-c++.cc: Likewise.
69859         * tests/test-time-c++.cc: Likewise.
69860         * tests/test-unistd-c++.cc: Likewise.
69861         * tests/test-wchar-c++.cc: Likewise.
69862         * tests/uninorm/test-u8-nfc.c: Likewise.
69863         * tests/uninorm/test-u8-nfd.c: Likewise.
69864         * tests/uninorm/test-u8-nfkc.c: Likewise.
69865         * tests/uninorm/test-u8-nfkd.c: Likewise.
69866         * tests/uninorm/test-u16-nfc.c: Likewise.
69867         * tests/uninorm/test-u16-nfd.c: Likewise.
69868         * tests/uninorm/test-u16-nfkc.c: Likewise.
69869         * tests/uninorm/test-u16-nfkd.c: Likewise.
69870         * tests/uninorm/test-u32-nfc.c: Likewise.
69871         * tests/uninorm/test-u32-nfc-big.c: Likewise.
69872         * tests/uninorm/test-u32-nfd.c: Likewise.
69873         * tests/uninorm/test-u32-nfd-big.c: Likewise.
69874         * tests/uninorm/test-u32-nfkc.c: Likewise.
69875         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
69876         * tests/uninorm/test-u32-nfkd.c: Likewise.
69877         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
69878         * tests/uninorm/test-u32-normalize-big.c: Likewise.
69880 2010-03-27  Bruno Haible  <bruno@clisp.org>
69882         Distinguish two kinds of module indicators.
69883         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
69884         gl_MODULE_INDICATOR.
69885         (gl_MODULE_INDICATOR): New macro.
69886         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
69887         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
69888         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
69889         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
69890         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
69891         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
69892         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
69893         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
69894         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
69895         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
69896         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
69897         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
69898         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
69899         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
69900         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
69901         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
69902         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
69903         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
69904         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
69905         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
69906         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
69907         * modules/cloexec (configure.ac): Likewise.
69908         * modules/getopt-gnu (configure.ac): Likewise.
69909         * modules/uninorm/u8-normalize (configure.ac): Likewise.
69910         * modules/uninorm/u16-normalize (configure.ac): Likewise.
69911         * modules/uninorm/u32-normalize (configure.ac): Likewise.
69912         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
69914 2010-03-27  Bruno Haible  <bruno@clisp.org>
69916         New module description field 'Comment'.
69917         * gnulib-tool: New option --extract-comment.
69918         (func_usage): Document it.
69919         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
69920         (func_get_comment): New function.
69921         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
69923 2010-03-27  Bruno Haible  <bruno@clisp.org>
69925         Addendum to 2010-02-07 commit.
69926         * gnulib-tool (func_usage): Document --extract-applicability option.
69928 2010-03-27  Bruno Haible  <bruno@clisp.org>
69930         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
69931         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
69932         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
69933         rather than link errors.
69935 2010-03-27  Bruno Haible  <bruno@clisp.org>
69937         Avoid side effects from tests-related modules on the compilation of lib.
69938         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
69939         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
69940         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
69941         parameter. Emit into AM_CPPFLAGS a definition of the designated C
69942         macro.
69943         (func_import): Define a witness macro. Assign it a value that depends
69944         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
69945         tests-related modules.
69946         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
69947         Reported by Jim Meyering.
69949 2010-03-27  Bruno Haible  <bruno@clisp.org>
69951         Factorize common .m4 code.
69952         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
69953         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
69954         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
69955         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
69956         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
69957         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
69958         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
69959         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
69960         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
69961         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
69962         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
69963         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
69964         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
69965         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
69966         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
69967         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
69968         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
69969         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
69970         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
69971         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
69972         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
69973         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
69974         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
69975         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
69976         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
69977         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
69978         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
69979         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
69980         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
69981         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
69982         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
69983         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
69985 2010-03-27  Bruno Haible  <bruno@clisp.org>
69987         Fix a compilation error on Cygwin with g++ >= 4.3.
69988         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
69989         if it is undefined or if we alias it to chmod.
69990         (lstat): Don't warn about the use of this function if it is undefined
69991         or if we alias it to stat.
69992         Reported by Simon Josefsson.
69994 2010-03-27  Bruno Haible  <bruno@clisp.org>
69996         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
69997         * modules/getlogin (configure.ac): Update.
69999         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
70000         * modules/getlogin_r (configure.ac): Update.
70002         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
70003         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
70004         * modules/inet_ntop (configure.ac): Update.
70006         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
70007         * modules/inet_pton (configure.ac): Update.
70009         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
70010         * modules/mbslen (configure.ac): Update.
70012         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
70013         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
70014         * modules/forkpty (configure.ac): Update.
70015         * modules/openpty (configure.ac): Update.
70017 2010-03-26  Simon Josefsson  <simon@josefsson.org>
70019         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
70020         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
70022 2010-03-25  Eric Blake  <eblake@redhat.com>
70024         maint: use pragma consistently across replacement headers
70025         * lib/ctype.in.h (system_header): Hoist for consistent placement.
70026         * lib/dirent.in.h (system_header): Likewise.
70027         * lib/errno.in.h (system_header): Likewise.
70028         * lib/float.in.h (system_header): Likewise.
70029         * lib/getopt.in.h (system_header): Likewise.
70030         * lib/iconv.in.h (system_header): Likewise.
70031         * lib/inttypes.in.h (system_header): Likewise.
70032         * lib/langinfo.in.h (system_header): Likewise.
70033         * lib/locale.in.h (system_header): Likewise.
70034         * lib/math.in.h (system_header): Likewise.
70035         * lib/netdb.in.h (system_header): Likewise.
70036         * lib/netinet_in.in.h (system_header): Likewise.
70037         * lib/pty.in.h (system_header): Likewise.
70038         * lib/sched.in.h (system_header): Likewise.
70039         * lib/se-selinux.in.h (system_header): Likewise.
70040         * lib/search.in.h (system_header): Likewise.
70041         * lib/spawn.in.h (system_header): Likewise.
70042         * lib/stdarg.in.h (system_header): Likewise.
70043         * lib/stdint.in.h (system_header): Likewise.
70044         * lib/string.in.h (system_header): Likewise.
70045         * lib/strings.in.h (system_header): Likewise.
70046         * lib/sys_file.in.h (system_header): Likewise.
70047         * lib/sys_ioctl.in.h (system_header): Likewise.
70048         * lib/sys_socket.in.h (system_header): Likewise.
70049         * lib/sys_times.in.h (system_header): Likewise.
70050         * lib/sys_utsname.in.h (system_header): Likewise.
70051         * lib/sys_wait.in.h (system_header): Likewise.
70052         * lib/sysexits.in.h (system_header): Likewise.
70053         * lib/unistd.in.h (system_header): Likewise.
70054         * lib/wctype.in.h (system_header): Likewise.
70056         arpa/inet: fix mingw compilation warning
70057         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
70058         Reported by Matthew Bolte.
70060 2010-03-25  Bruno Haible  <bruno@clisp.org>
70062         Avoid collision between gnulib wrapper and libintl wrapper.
70063         * lib/printf.c (printf): Don't define if a printf wrapper is already
70064         defined in intl/printf.c.
70065         Reported by Michel Boaventura <michel@michelboaventura.com>.
70067 2010-03-25  Bruno Haible  <bruno@clisp.org>
70069         Use ANSI C.
70070         * lib/readutmp.h (getutent): Provide ANSI C prototype.
70072 2010-03-25  Bruno Haible  <bruno@clisp.org>
70074         Minor formatting changes.
70075         * lib/acosl.c: Insert space before function argument list.
70076         * lib/argz.c: Likewise.
70077         * lib/asinl.c: Likewise.
70078         * lib/expl.c: Likewise.
70079         * lib/gen-uni-tables.c: Likewise.
70080         * lib/gettext.h: Likewise.
70081         * lib/glthread/lock.h: Likewise.
70082         * lib/tanl.c: Likewise.
70083         * lib/uniname/uniname.c: Likewise.
70084         * tests/test-idpriv-drop.c: Likewise.
70085         * tests/test-idpriv-droptemp.c: Likewise.
70086         * tests/test-lock.c: Likewise.
70087         * tests/test-tls.c: Likewise.
70088         * lib/argp-help.c: Insert space before function-like macro argument
70089         list.
70090         * lib/memcmp.c: Likewise.
70091         * tests/test-base64.c: Likewise.
70092         * lib/localename.c: Insert space before sizeof's argument list.
70093         * lib/safe-alloc.h: Likewise.
70094         * lib/file-set.h: Insert space before macro argument list.
70095         * tests/test-argp.c: Likewise.
70096         * lib/argp-namefrob.h: Insert space before function parameter list.
70097         * lib/getaddrinfo.c: Likewise.
70098         * lib/netdb.in.h: Likewise.
70099         * lib/parse-duration.h: Likewise.
70100         * lib/parse-duration.c: Likewise.
70101         * lib/poll.c: Likewise.
70102         * lib/select.c: Likewise.
70103         * lib/trim.h: Likewise.
70104         * tests/test-usleep.c: Likewise.
70105         * lib/ldexpl.c: Insert space before function parameter list and before
70106         function argument list.
70107         * lib/logl.c: Likewise.
70108         * lib/sqrtl.c: Likewise.
70109         * lib/trim.c: Likewise.
70110         * lib/cosl.c: Use GNU style indentation. Insert space before function
70111         argument list.
70112         * lib/sinl.c: Likewise.
70113         * lib/tsearch.c: Insert space after 'for'.
70114         Reported by Jim Meyering.
70116 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
70118         * maint.mk (sc_Wundef_boolean): Check for the presence of the
70119         config header before grepping, as it's not present before
70120         autoreconf/configure are run.  Reported by Simon Josefsson.
70122 2010-03-23  Bruno Haible  <bruno@clisp.org>
70124         pt_chown: Make it work with automake < 1.11.
70125         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
70126         Reported by Simon Josefsson.
70128 2010-03-23  Bruno Haible  <bruno@clisp.org>
70130         pt_chown: Don't depend on GPLed modules.
70131         * lib/pt_chown.c: Don't include idpriv.h.
70132         (main): Don't drop privileges.
70133         * modules/pt_chown (Depends-on): Remove idpriv-drop.
70134         Reported by Simon Josefsson.
70136 2010-03-24  Simon Josefsson  <simon@josefsson.org>
70138         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
70139         suggestions from karl@freefriends.org (Karl Berry).
70141 2010-03-22  Eric Blake  <eblake@redhat.com>
70143         gethostname: further tweaks
70144         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
70145         are overriding gethostname.
70146         Suggested by Bruno Haible.
70148 2010-03-21  Bruno Haible  <bruno@clisp.org>
70150         Fix comments.
70151         * lib/forkpty.c (rpl_forkpty): Fix comment.
70152         * lib/openpty.c (rpl_openpty): Likewise.
70153         Reported by Eric Blake.
70155 2010-03-22  Eric Blake  <eblake@redhat.com>
70157         gethostname: fix build on mingw
70158         * lib/unistd.in.h (includes): Work around fact that mingw
70159         <winsock2.h> re-includes <unistd.h>, by avoiding any
70160         redeclarations if we are being included by <winsock2.h>.
70161         Reported by Matthias Bolte.
70163 2010-03-21  Bruno Haible  <bruno@clisp.org>
70165         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70166         * lib/forkpty.c (forkpty): New replacement function, from glibc with
70167         modifications.
70168         * lib/pty.in.h (forkpty): Update declaration. Add comments.
70169         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
70170         provide the replacement.
70171         * modules/forkpty (Depends-on): Add openpty, login_tty.
70172         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
70173         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
70174         * doc/glibc-functions/forkpty.texi: More supported platforms.
70175         * config/srclist.txt: Add forkpty.c (commented).
70177 2010-03-21  Bruno Haible  <bruno@clisp.org>
70179         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
70180         (Makefile.am): Verify that PTY_LIB is defined.
70182         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
70184 2010-03-21  Bruno Haible  <bruno@clisp.org>
70186         Tests for module 'login_tty'.
70187         * modules/login_tty-tests: New file.
70188         * tests/test-login_tty.c: New file.
70190         New module 'login_tty'.
70191         * lib/login_tty.c: New file.
70192         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
70193         * modules/login_tty: New file.
70194         * doc/glibc-functions/login_tty.texi: Mention the new module.
70196 2010-03-21  Bruno Haible  <bruno@clisp.org>
70198         login_tty: Documentation.
70199         * doc/glibc-functions/login_tty.texi: New file.
70200         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
70202 2010-03-21  Bruno Haible  <bruno@clisp.org>
70204         pty: Consistent macro naming.
70205         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
70206         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
70207         * modules/pty (configure.ac): Update.
70209 2010-03-21  Bruno Haible  <bruno@clisp.org>
70211         Tests for openpty: Make stricter.
70212         * tests/test-openpty.c (main): Add test of canonical processing and
70213         erase.
70214         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
70216         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70217         * lib/openpty.c (openpty): New replacement function.
70218         * lib/pty.in.h: Include <termios.h>.
70219         (openpty): Update declaration. Add comments.
70220         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
70221         is not declared, arrange to provide the replacement. Check for _getpty
70222         and posix_openpt.
70223         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
70224         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
70225         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
70226         * modules/pty-tests (test_pty_c___LDADD): New variable.
70227         * doc/glibc-functions/openpty.texi: More supported platforms.
70229 2010-03-21  Bruno Haible  <bruno@clisp.org>
70231         setenv: Tweaks.
70232         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
70233         the test program.
70234         * doc/posix-functions/setenv.texi: Update platforms list.
70236 2010-03-21  Bruno Haible  <bruno@clisp.org>
70238         New module 'unlockpt'.
70239         * lib/unlockpt.c: New file, from glibc with modifications.
70240         * m4/unlockpt.m4: New file.
70241         * modules/unlockpt: New file.
70242         * lib/stdlib.in.h (unlockpt): New declaration.
70243         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
70244         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
70245         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
70246         HAVE_UNLOCKPT.
70247         * doc/posix-functions/unlockpt.texi: Mention the new module.
70248         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
70249         * config/srclist.txt: Add unlockpt.c (commented).
70251 2010-03-21  Jim Meyering  <meyering@redhat.com>
70253         maint.mk: prohibit inclusion of "intprops.h" without use
70254         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
70256 2010-03-21  Bruno Haible  <bruno@clisp.org>
70258         New module 'grantpt'.
70259         * lib/grantpt.c: New file, from glibc with modifications.
70260         * m4/grantpt.m4: New file.
70261         * modules/grantpt: New file.
70262         * lib/stdlib.in.h (grantpt): New declaration.
70263         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
70264         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
70265         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
70266         HAVE_GRANTPT.
70267         * doc/posix-functions/grantpt.texi: Mention the new module.
70268         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
70269         * config/srclist.txt: Add grantpt.c (commented).
70271 2010-03-21  Bruno Haible  <bruno@clisp.org>
70273         New module 'pt_chown'.
70274         * lib/pt_chown.c: New file, from glibc with modifications.
70275         * lib/pty-private.h: New file, from glibc with modifications.
70276         * modules/pt_chown: New file.
70277         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
70279 2010-03-21  Bruno Haible  <bruno@clisp.org>
70281         Tests for module 'ptsname'.
70282         * modules/ptsname-tests: New file.
70283         * tests/test-ptsname.c: New file.
70285         New module 'ptsname'.
70286         * lib/ptsname.c: New file, from glibc with modifications.
70287         * m4/ptsname.m4: New file.
70288         * modules/ptsname: New file.
70289         * lib/stdlib.in.h (ptsname): New declaration.
70290         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
70291         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
70292         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
70293         HAVE_PTSNAME.
70294         * doc/posix-functions/ptsname.texi: Mention the new module.
70295         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
70296         * config/srclist.txt: Add ptsname.c (commented).
70298 2010-03-21  Bruno Haible  <bruno@clisp.org>
70300         Tests for module 'ttyname_r'.
70301         * modules/ttyname_r-tests: New file.
70302         * tests/test-ttyname_r.c: New file.
70304         New module 'ttyname_r'.
70305         * lib/ttyname_r.c: New file.
70306         * m4/ttyname_r.m4: New file.
70307         * modules/ttyname_r: New file.
70308         * lib/unistd.in.h (ttyname_r): New declaration.
70309         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
70310         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
70311         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
70312         HAVE_TTYNAME_R.
70313         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
70314         * doc/posix-functions/ttyname_r.texi: Mention the new module.
70316 2010-03-20  Bruno Haible  <bruno@clisp.org>
70318         signal: Undefine macro definitions in C++ mode.
70319         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
70320         sigfillset): Undefine macro definitions from the system header in C++
70321         mode.
70322         Reported by John W. Eaton <jwe@gnu.org>.
70324 2010-03-20  Bruno Haible  <bruno@clisp.org>
70326         Ensure no #include statements inside extern "C" { ... }.
70327         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
70328         contain #include statements.
70329         * lib/time.in.h: Likewise.
70331 2010-03-20  Bruno Haible  <bruno@clisp.org>
70333         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
70334         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
70335         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
70336         Reported by John W. Eaton <jwe@gnu.org>.
70338 2010-03-20  Bruno Haible  <bruno@clisp.org>
70340         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
70341         Reported by Jim Meyering.
70343 2010-03-20  Bruno Haible  <bruno@clisp.org>
70345         pipe: Set errno upon failure.
70346         * lib/pipe.h: Specify that when -1 is returned, errno is set.
70347         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
70348         errno value in error message.
70350 2010-03-20  Bruno Haible  <bruno@clisp.org>
70351             Jim Meyering  <meyering@redhat.com>
70353         lchown: Avoid "unused variable" warning.
70354         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
70356 2010-03-20  Bruno Haible  <bruno@clisp.org>
70358         Work around unlink() bug on MacOS X 10.5.6.
70359         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
70360         attempting to unlink a parent directory.
70361         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
70362         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
70363         activate for the replacement function.
70364         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
70366 2010-03-20  Bruno Haible  <bruno@clisp.org>
70368         Fix link errors on Solaris 8.
70369         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
70370         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
70372 2010-03-19  Jim Meyering  <meyering@redhat.com>
70374         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
70375         The _LIBC implementation of build_range_exp correctly honors the
70376         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
70377         However, the non-_LIBC implementation would ignore that syntax-bit
70378         flag and return REG_ERANGE unconditionally.
70379         This change makes it honor that flag.
70380         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
70381         Make two pointer parameters "const".
70382         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
70383         (parse_bracket_exp): Update caller.
70385         regex.m4: correct the reversed range endpoint ([b-a]) test
70386         * m4/regex.m4: When requiring that [b-a] evoke failure,
70387         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
70388         test pass once again for x86-based systems.
70390 2010-03-19  Bruno Haible  <bruno@clisp.org>
70392         scandir: Fix link error on Solaris 8.
70393         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
70394         macros.
70396 2010-03-19  Bruno Haible  <bruno@clisp.org>
70398         getusershell: Fix documentation.
70399         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
70400         module.
70401         * doc/glibc-functions/setusershell.texi: Likewise.
70403         getusershell: Provide declaration, missing on Solaris 9.
70404         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
70405         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
70406         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
70407         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
70408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70409         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
70410         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
70411         HAVE_GETUSERSHELL.
70412         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
70414 2010-03-19  Bruno Haible  <bruno@clisp.org>
70416         wctype: Provide iswblank function.
70417         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
70418         exists and is fine.
70419         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
70420         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
70421         * tests/test-wctype.c (main): Re-enable the iswblank tests.
70422         * doc/posix-functions/iswblank.texi: Update.
70424 2010-03-19  Bruno Haible  <bruno@clisp.org>
70426         Tests of module 'pty' in C++ mode.
70427         * modules/pty-tests: New file.
70428         * tests/test-pty-c++.cc: New file.
70429         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70431 2010-03-19  Eric Blake  <eblake@redhat.com>
70433         logb: fix documentation
70434         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
70435         1.5 declaration bug.
70437         forkpty, openpty: prefer glibc's const-safe prototype
70438         * lib/forkpty.c (rpl_forkpty): New file.
70439         * lib/openpty.c (rpl_openpty): Likewise.
70440         * modules/forkpty (Files): Distribute it.
70441         * modules/openpty (Files): Likewise.
70442         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
70443         check...
70444         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
70445         replacement for non-const BSD signature.
70446         * modules/pty (Makefile.am): Substitute witnesses.
70447         * lib/pty.in.h (forkpty, openpty): Declare replacements.
70448         * tests/test-forkpty.c: Update signature check.
70449         * tests/test-openpty.c: Likewise.
70450         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
70451         * doc/glibc-functions/openpty.texi (openpty): Likewise.
70453         forkpty, openpty: split functions into new modules
70454         * modules/pty (Makefile.am): Substitute new witnesses.
70455         (Libraries): Move library detection...
70456         * modules/forkpty: ...into new module.
70457         * modules/openpty: Another new module.
70458         * modules/pty-tests: Rename and split...
70459         * modules/forkpty-tests: ...to this...
70460         * modules/openpty-tests: ...and this.
70461         * tests/test-pty.c: Rename and split...
70462         * tests/test-forkpty.c: ...to this...
70463         * tests/test-openpty.c: ...and this.
70464         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
70465         (gl_PTY): Split library searching...
70466         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
70467         (gl_FORKPTY, gl_OPENPTY): New macros.
70468         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
70469         * NEWS: Mention the split.
70470         * MODULES.html.sh (Misc): Document the modules.
70471         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
70472         * doc/glibc-functions/openpty.texi (openpty): Likewise.
70474         pty: improve replacement header
70475         * lib/pty.in.h: New file.
70476         * modules/pty (Files): Ship it.
70477         (Makefile.am): Always build replacement.
70478         * m4/pty.m4: Rename...
70479         * m4/pty_h.m4: ...to this.
70480         (gl_PTY): Modernize setting of witness macros; update check of
70481         forkpty to take proper advantage of cache.
70482         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
70484         getopt: avoid compiler warning
70485         * lib/getopt.c (attribute_hidden): Remove unused macro.
70487 2010-03-18  Bruno Haible  <bruno@clisp.org>
70489         Fix link errors on Solaris 8.
70490         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
70491         * modules/search-tests (test_search_c___LDADD): Likewise.
70492         * modules/signal-tests (test_signal_c___LDADD): Likewise.
70493         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
70494         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
70495         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
70496         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
70497         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
70498         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
70500 2010-03-18  Bruno Haible  <bruno@clisp.org>
70502         Fix bug introduced on 2010-03-14.
70503         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
70504         (gl_SPAWN_H): Require it.
70505         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
70506         Reported by Simon Josefsson.
70508 2010-03-18  Bruno Haible  <bruno@clisp.org>
70510         Fix typo introduced on 2009-12-31.
70511         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
70512         posix_spawn_file_actions_adddup2.
70514 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
70515         and Eric Blake  <eblake@redhat.com>
70517         test-vc-list-files-git: make more robust
70518         * tests/test-vc-list-files-git.sh: Unset problematic environment
70519         variables.  Chain commands together.
70521 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
70523         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
70524         `AC_CHECK_DECL' invocation.
70526 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
70528         * lib/inttostr.c (inttostr): Make sure the invocation of verify
70529         appears before executable statements. Suggested by Petr Sumbera
70530         <Petr.Sumbera@Sun.COM>.
70532 2010-03-14  Bruno Haible  <bruno@clisp.org>
70534         * tests/test-flock.c (test_exclusive): Comment out a test that causes
70535         portability problems. Instead use a simpler test.
70536         (main): Check that invalid arguments are rejected only on Linux.
70538 2010-03-14  Bruno Haible  <bruno@clisp.org>
70540         Fix bug introduced on 2009-12-31.
70541         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
70542         gl_PREREQ_SYS_H_WINSOCK2 always.
70543         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
70544         SYS_SOCKET_H variable.
70545         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
70546         Update comments.
70547         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
70548         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
70549         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
70550         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
70551         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
70553 2010-03-14  Bruno Haible  <bruno@clisp.org>
70555         Fix values returned by sinl, cosl.
70556         * lib/trigl.h: Add specification comments.
70557         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
70558         that combines the values from the precomputed table with the values of
70559         the Chebyshev polynomials.
70561 2010-03-14  Bruno Haible  <bruno@clisp.org>
70563         Fix compilation error when modules 'posix_spawn[p]' are not used.
70564         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
70565         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
70567 2010-03-14  Bruno Haible  <bruno@clisp.org>
70569         Fix compilation error on mingw when module 'time_r' is not used.
70570         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
70571         is 1.
70572         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
70573         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
70574         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
70575         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
70577 2010-03-14  Bruno Haible  <bruno@clisp.org>
70579         Fix compilation error with Sun C.
70580         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
70581         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
70582         instead of GCC specific ULONG_LONG_MAX.
70583         * lib/xstrtoll.c: Likewise.
70584         * lib/xstrtoull.c: Likewise.
70586 2010-03-13  Bruno Haible  <bruno@clisp.org>
70588         Allow the user to disable C++ code and tests.
70589         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
70590         (gl_PROG_ANSI_CXX): Require it.
70592 2010-03-13  Bruno Haible  <bruno@clisp.org>
70594         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
70595         cases.
70597 2010-03-13  Bruno Haible  <bruno@clisp.org>
70599         Test that gnulib does not break the standard C++ headers.
70600         * tests/test-locale-c++2.cc: New file.
70601         * modules/locale-tests (Files): Add it.
70602         (Makefile.am): Compile it for test-locale-c++.
70603         * tests/test-math-c++2.cc: New file.
70604         * modules/math-tests (Files): Add it.
70605         (Makefile.am): Compile it for test-math-c++.
70606         * tests/test-signal-c++2.cc: New file.
70607         * modules/signal-tests (Files): Add it.
70608         (Makefile.am): Compile it for test-signal-c++.
70609         * tests/test-stdio-c++2.cc: New file.
70610         * modules/stdio-tests (Files): Add it.
70611         (Makefile.am): Compile it for test-stdio-c++.
70612         * tests/test-stdlib-c++2.cc: New file.
70613         * modules/stdlib-tests (Files): Add it.
70614         (Makefile.am): Compile it for test-stdlib-c++.
70615         * tests/test-string-c++2.cc: New file.
70616         * modules/string-tests (Files): Add it.
70617         (Makefile.am): Compile it for test-string-c++.
70618         * tests/test-time-c++2.cc: New file.
70619         * modules/time-tests (Files): Add it.
70620         (Makefile.am): Compile it for test-time-c++.
70621         Reported by John W. Eaton <jwe@gnu.org>.
70623 2010-03-13  Bruno Haible  <bruno@clisp.org>
70625         * gnulib-tool (func_usage): Clarify which options are available for
70626         --create-testdir and --create-megatestdir.
70628 2010-03-13  Bruno Haible  <bruno@clisp.org>
70630         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
70631         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
70632         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
70633         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
70634         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
70635         when appropriate.
70636         Reported by Jim Meyering.
70638 2010-03-12  Simon Josefsson  <simon@josefsson.org>
70640         * gnulib-tool (func_import): Explain origin of code.
70642 2010-03-12  Bruno Haible  <bruno@clisp.org>
70644         Fix problem with automake's definition of CXXLINK.
70645         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
70646         Reported by Simon Josefsson and Ludovic Courtès.
70648 2010-03-12  Bruno Haible  <bruno@clisp.org>
70650         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
70651         stable releases.
70653 2010-03-11  Bruno Haible  <bruno@clisp.org>
70655         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
70656         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
70657         whether the system provides one variant or multiple variants of the
70658         function.
70659         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
70660         C++ compilers.
70661         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
70662         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
70663         Reported by Jim Meyering.
70665 2010-03-09  Simon Josefsson  <simon@josefsson.org>
70667         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
70669 2010-03-08  Bruno Haible  <bruno@clisp.org>
70671         gnulib-tool: Add support for --libtool in --create-testdir.
70672         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
70673         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
70675 2010-03-08  Eric Blake  <eblake@redhat.com>
70677         gnulib-tool.texi: mention possibility of git submodule
70678         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
70679         submodules.
70680         * doc/.gitignore: Ignore another generated file.
70682 2010-03-08  Karl Berry  <karl@gnu.org>
70684         * doc/gnulib-tool.texi (VCS Issues): Mention third option
70685         of committing gnulib files while skipping others.
70687 2010-03-07  Bruno Haible  <bruno@clisp.org>
70689         Tests of module 'wctype' in C++ mode.
70690         * tests/test-wctype-c++.cc: New file.
70691         * modules/wctype-tests (Files): Add it and tests/signature.h.
70692         (Depends-on): Add ansi-c++-opt.
70693         (Makefile.am): Arrange to compile and run test-wctype-c++.
70695         Tests of module 'wchar' in C++ mode.
70696         * tests/test-wchar-c++.cc: New file.
70697         * modules/wchar-tests (Files): Add it and tests/signature.h.
70698         (Depends-on): Add ansi-c++-opt.
70699         (Makefile.am): Arrange to compile and run test-wchar-c++.
70700         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
70701         gl_MODULE_INDICATOR.
70703         Tests of module 'unistd' in C++ mode.
70704         * tests/test-unistd-c++.cc: New file.
70705         * modules/unistd-tests (Files): Add it and tests/signature.h.
70706         (Depends-on): Add ansi-c++-opt.
70707         (Makefile.am): Arrange to compile and run test-unistd-c++.
70708         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
70709         gl_MODULE_INDICATOR.
70711         Tests of module 'time' in C++ mode.
70712         * tests/test-time-c++.cc: New file.
70713         * modules/time-tests (Files): Add it and tests/signature.h.
70714         (Depends-on): Add ansi-c++-opt.
70715         (Makefile.am): Arrange to compile and run test-time-c++.
70716         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70718         Tests of module 'sys_time' in C++ mode.
70719         * tests/test-sys_time-c++.cc: New file.
70720         * modules/sys_time-tests (Files): Add it and tests/signature.h.
70721         (Depends-on): Add ansi-c++-opt.
70722         (Makefile.am): Arrange to compile and run test-sys_time-c++.
70723         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
70724         gl_MODULE_INDICATOR.
70726         Tests of module 'sys_stat' in C++ mode.
70727         * tests/test-sys_stat-c++.cc: New file.
70728         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
70729         (Depends-on): Add ansi-c++-opt.
70730         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
70731         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
70732         gl_MODULE_INDICATOR.
70734         Tests of module 'sys_socket' in C++ mode.
70735         * tests/test-sys_socket-c++.cc: New file.
70736         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
70737         (Depends-on): Add ansi-c++-opt.
70738         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
70739         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
70740         gl_MODULE_INDICATOR.
70742         Tests of module 'sys_select' in C++ mode.
70743         * tests/test-sys_select-c++.cc: New file.
70744         * modules/sys_select-tests (Files): Add it and tests/signature.h.
70745         (Depends-on): Add ansi-c++-opt.
70746         (Makefile.am): Arrange to compile and run test-sys_select-c++.
70747         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
70748         gl_MODULE_INDICATOR.
70750         Tests of module 'sys_ioctl' in C++ mode.
70751         * tests/test-sys_ioctl-c++.cc: New file.
70752         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
70753         (Depends-on): Add ansi-c++-opt.
70754         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
70755         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
70756         gl_MODULE_INDICATOR.
70758         Tests of module 'string' in C++ mode.
70759         * tests/test-string-c++.cc: New file.
70760         * modules/string-tests (Files): Add it and tests/signature.h.
70761         (Depends-on): Add ansi-c++-opt.
70762         (Makefile.am): Arrange to compile and run test-string-c++.
70763         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
70764         gl_MODULE_INDICATOR.
70766         Tests of module 'stdlib' in C++ mode.
70767         * tests/test-stdlib-c++.cc: New file.
70768         * modules/stdlib-tests (Files): Add it and tests/signature.h.
70769         (Depends-on): Add ansi-c++-opt.
70770         (Makefile.am): Arrange to compile and run test-stdlib-c++.
70771         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
70772         gl_MODULE_INDICATOR.
70774         Tests of module 'stdio' in C++ mode.
70775         * tests/test-stdio-c++.cc: New file.
70776         * modules/stdio-tests (Files): Add it and tests/signature.h.
70777         (Depends-on): Add ansi-c++-opt.
70778         (Makefile.am): Arrange to compile and run test-stdio-c++.
70779         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
70780         gl_MODULE_INDICATOR.
70782         Tests of module 'spawn' in C++ mode.
70783         * tests/test-spawn-c++.cc: New file.
70784         * modules/spawn-tests (Files): Add it and tests/signature.h.
70785         (Depends-on): Add ansi-c++-opt.
70786         (Makefile.am): Arrange to compile and run test-spawn-c++.
70787         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
70788         gl_MODULE_INDICATOR.
70790         Tests of module 'signal' in C++ mode.
70791         * tests/test-signal-c++.cc: New file.
70792         * modules/signal-tests (Files): Add it and tests/signature.h.
70793         (Depends-on): Add ansi-c++-opt.
70794         (Makefile.am): Arrange to compile and run test-signal-c++.
70795         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
70796         gl_MODULE_INDICATOR.
70798         Tests of module 'search' in C++ mode.
70799         * tests/test-search-c++.cc: New file.
70800         * modules/search-tests (Files): Add it and tests/signature.h.
70801         (Depends-on): Add ansi-c++-opt.
70802         (Makefile.am): Arrange to compile and run test-search-c++.
70803         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
70804         gl_MODULE_INDICATOR.
70806         Tests of module 'math' in C++ mode.
70807         * tests/test-math-c++.cc: New file.
70808         * modules/math-tests (Files): Add it and tests/signature.h.
70809         (Depends-on): Add ansi-c++-opt.
70810         (Makefile.am): Arrange to compile and run test-math-c++.
70811         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70813         Tests of module 'locale' in C++ mode.
70814         * tests/test-locale-c++.cc: New file.
70815         * modules/locale-tests (Files): Add it and tests/signature.h.
70816         (Depends-on): Add ansi-c++-opt.
70817         (Makefile.am): Arrange to compile and run test-locale-c++.
70818         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
70819         gl_MODULE_INDICATOR.
70821         Tests of module 'langinfo' in C++ mode.
70822         * tests/test-langinfo-c++.cc: New file.
70823         * modules/langinfo-tests (Files): Add it and tests/signature.h.
70824         (Depends-on): Add ansi-c++-opt.
70825         (Makefile.am): Arrange to compile and run test-langinfo-c++.
70826         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
70827         gl_MODULE_INDICATOR.
70829         Tests of module 'iconv-h' in C++ mode.
70830         * tests/test-iconv-h-c++.cc: New file.
70831         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
70832         (Depends-on): Add ansi-c++-opt.
70833         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
70835         Tests of module 'glob' in C++ mode.
70836         * tests/test-glob-c++.cc: New file.
70837         * modules/glob-tests (Files): Add it.
70838         (Depends-on): Add ansi-c++-opt.
70839         (Makefile.am): Arrange to compile and run test-glob-c++.
70841         Tests of module 'fcntl-h' in C++ mode.
70842         * tests/test-fcntl-h-c++.cc: New file.
70843         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
70844         (Depends-on): Add ansi-c++-opt.
70845         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
70846         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
70847         gl_MODULE_INDICATOR.
70849         Tests of module 'dirent' in C++ mode.
70850         * tests/test-dirent-c++.cc: New file.
70851         * modules/dirent-tests (Files): Add it and tests/signature.h.
70852         (Depends-on): Add ansi-c++-opt.
70853         (Makefile.am): Arrange to compile and run test-dirent-c++.
70854         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
70855         gl_MODULE_INDICATOR.
70857         New module 'ansi-c++-opt'.
70858         * modules/ansi-c++-opt: New file.
70859         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
70861         Document C++ namespace mode.
70862         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
70864         wctype: Avoid #define replacements in C++ mode.
70865         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
70866         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
70867         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
70868         In C++, define a namespaced alias symbol.
70869         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
70870         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
70871         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
70872         rule.
70874         wchar: Avoid #define replacements in C++ mode.
70875         * lib/wchar.in.h: Include c++defs.h.
70876         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
70877         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
70878         symbol.
70879         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
70880         * modules/wchar (Depends-on): Add c++defs.
70881         (Makefile.am): Update wchar.h rule.
70883         unistd: Avoid #define replacements in C++ mode.
70884         * lib/unistd.in.h: Include c++defs.h.
70885         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
70886         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
70887         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
70888         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
70889         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
70890         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
70891         symbol.
70892         (environ): Update.
70893         * modules/unistd (Depends-on): Add c++defs.
70894         (Makefile.am): Update unistd.h rule.
70896         time: Avoid #define replacements in C++ mode.
70897         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
70898         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
70899         define a namespaced alias symbol.
70900         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
70901         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
70902         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
70903         * modules/time (Depends-on): Add c++defs, warn-on-use.
70904         (Makefile.am): Update time.h rule.
70905         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
70906         * modules/nanosleep (configure.ac): Likewise.
70907         * modules/strptime (configure.ac): Likewise.
70908         * modules/timegm (configure.ac): Likewise.
70910         sys_time: Avoid #define replacements in C++ mode.
70911         * lib/sys_time.in.h: Include c++defs.h.
70912         (gettimeofday): In C++, define a namespaced alias symbol.
70913         * modules/sys_time (Depends-on): Add c++defs.
70914         (Makefile.am): Update sys/time.h rule.
70916         sys_stat: Avoid #define replacements in C++ mode.
70917         * lib/sys_stat.in.h: Include c++defs.h.
70918         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
70919         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
70920         namespaced alias symbol.
70921         In C++, define a namespaced alias symbol.
70922         * modules/sys_stat (Depends-on): Add c++defs.
70923         (Makefile.am): Update sys/stat.h rule.
70925         sys_socket: Avoid #define replacements in C++ mode.
70926         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
70927         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
70928         definitions also when the system has a <sys/socket.h>.
70929         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
70930         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
70931         In C++, define a namespaced alias symbol.
70932         * modules/sys_socket (Depends-on): Add c++defs.
70933         (Makefile.am): Update sys/socket.h rule.
70935         sys_select: Avoid #define replacements in C++ mode.
70936         * lib/sys_select.in.h: Include c++defs.h. Enable the function
70937         definitions also when the system has a <sys/select.h>.
70938         (select): In C++, define a namespaced alias symbol.
70939         * modules/sys_select (Depends-on): Add c++defs.
70940         (Makefile.am): Update sys/select.h rule.
70942         sys_ioctl: Avoid #define replacements in C++ mode.
70943         * lib/sys_ioctl.in.h: Include c++defs.h.
70944         (ioctl): In C++, define a namespaced alias symbol.
70945         * modules/sys_ioctl (Depends-on): Add c++defs.
70946         (Makefile.am): Update sys/ioctl.h rule.
70948         string: Avoid #define replacements in C++ mode.
70949         * lib/string.in.h: Include c++defs.h.
70950         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
70951         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
70952         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
70953         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
70954         strsignal, strverscmp): In C++, define a namespaced alias symbol.
70955         * modules/string (Depends-on): Add c++defs.
70956         (Makefile.am): Update string.h rule.
70958         stdlib: Avoid #define replacements in C++ mode.
70959         * lib/stdlib.in.h: Include c++defs.h.
70960         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
70961         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
70962         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
70963         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
70964         symbol.
70965         * modules/stdlib (Depends-on): Add c++defs.
70966         (Makefile.am): Update stdlib.h rule.
70968         stdio: Avoid #define replacements in C++ mode.
70969         * lib/stdio.in.h: Include c++defs.h.
70970         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
70971         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
70972         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
70973         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
70974         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
70975         namespaced alias symbol.
70976         * modules/stdio (Depends-on): Add c++defs.
70977         (Makefile.am): Update stdio.h rule.
70979         spawn: Avoid #define replacements in C++ mode.
70980         * lib/spawn.in.h: Include c++defs.h.
70981         (posix_spawn, posix_spawnp, posix_spawnattr_init,
70982         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
70983         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
70984         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
70985         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
70986         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
70987         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
70988         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
70989         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
70990         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
70991         In C++, define a namespaced alias symbol.
70992         * modules/spawn (Depends-on): Add c++defs.
70993         (Makefile.am): Update spawn.h rule.
70995         signal: Avoid #define replacements in C++ mode.
70996         * lib/signal.in.h: Include c++defs.h.
70997         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
70998         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
70999         namespaced alias symbol.
71000         * modules/signal (Depends-on): Add c++defs.
71001         (Makefile.am): Update signal.h rule.
71003         search: Avoid #define replacements in C++ mode.
71004         * lib/search.in.h: Include c++defs.h.
71005         (_gl_search_compar_fn, _gl_search_action_fn): New types.
71006         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
71007         symbol.
71008         * modules/search (Depends-on): Add c++defs.
71009         (Makefile.am): Update search.h rule.
71011         math: Avoid #define replacements in C++ mode.
71012         * lib/math.in.h: Include c++defs.h.
71013         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
71014         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
71015         trunc, truncl): In C++, define a namespaced alias symbol.
71016         * modules/math (Depends-on): Add c++defs.
71017         (Makefile.am): Update math.h rule.
71019         locale: Avoid #define replacements in C++ mode.
71020         * lib/locale.in.h: Include c++defs.h.
71021         (duplocale): In C++, define a namespaced alias symbol.
71022         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
71023         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
71024         * modules/locale (Depends-on): Add c++defs.
71025         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
71027         langinfo: Avoid #define replacements in C++ mode.
71028         * lib/langinfo.in.h: Include c++defs.h.
71029         (nl_langinfo): In C++, define a namespaced alias symbol.
71030         * modules/langinfo (Depends-on): Add c++defs.
71031         (Makefile.am): Update langinfo.h rule.
71033         iconv-h: Avoid #define replacements in C++ mode.
71034         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
71035         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
71036         symbol.
71037         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
71038         whenever iconv is present.
71039         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
71040         (Makefile.am): Update iconv.h rule.
71042         glob: Avoid #define replacements in C++ mode.
71043         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
71044         (_gl_glob_errfunc_fn): New type.
71045         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
71046         symbol.
71047         * modules/glob (Depends-on): Add c++defs, warn-on-use.
71048         (Makefile.am): Update glob.h rule.
71050         fcntl-h: Avoid #define replacements in C++ mode.
71051         * lib/fcntl.in.h: Include c++defs.h.
71052         (fcntl, open, openat): In C++, define a namespaced alias symbol.
71053         * modules/fcntl-h (Depends-on): Add c++defs.
71054         (Makefile.am): Update fcntl.h rule.
71056         dirent: Avoid #define replacements in C++ mode.
71057         * lib/dirent.in.h: Include c++defs.h.
71058         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
71059         namespaced alias symbol.
71060         (dirfd): Update declaration.
71061         * modules/dirent (Depends-on): Add c++defs.
71062         (Makefile.am): Update dirent.h rule.
71064         ctype: Make it usable in C++ code.
71065         * lib/ctype.in.h: Include c++defs.h.
71066         (isblank): Declare as extern "C".
71067         * modules/ctype (Depends-on): Add c++defs.
71068         (Makefile.am): Update ctype.h rule.
71070         New module 'c++defs'.
71071         * modules/c++defs: New file.
71072         * build-aux/c++defs.h: New file.
71073         Reported by John W. Eaton <jwe@gnu.org>.
71075 2010-03-07  Bruno Haible  <bruno@clisp.org>
71077         logb: Provide missing declaration for Cygwin.
71078         * lib/math.in.h (logb): New declaration.
71079         * m4/logb.m4: New file.
71080         * modules/logb (Files): Add m4/logb.m4.
71081         (Depends-on): Add math.
71082         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
71083         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
71084         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
71085         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
71086         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
71088 2010-03-07  Bruno Haible  <bruno@clisp.org>
71090         Fix test-cond link error.
71091         * tests/test-cond.c: Include <stdio.h>.
71093 2010-03-07  Bruno Haible  <bruno@clisp.org>
71095         Fix test-dirent-safer link error.
71096         * modules/dirent-safer-tests (Makefile.am): Define
71097         test_dirent_safer_LDADD.
71099 2010-03-07  Bruno Haible  <bruno@clisp.org>
71101         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
71102         among default module list.
71104 2010-03-07  Bruno Haible  <bruno@clisp.org>
71106         Fix link error on platforms with GNU libiconv.
71107         * modules/unistr/u8-strcoll-tests (Makefile): Define
71108         test_u8_strcoll_LDADD.
71109         * modules/unistr/u16-strcoll-tests (Makefile): Define
71110         test_u16_strcoll_LDADD.
71111         * modules/unistr/u32-strcoll-tests (Makefile): Define
71112         test_u32_strcoll_LDADD.
71114 2010-03-07  Bruno Haible  <bruno@clisp.org>
71116         Use POSIX declarations for socket functions.
71117         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
71118         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
71119         rpl_sendto): Change declaration to match POSIX.
71120         * lib/connect.c (rpl_connect): Likewise.
71121         * lib/accept.c (rpl_accept): Likewise.
71122         * lib/bind.c (rpl_bind): Likewise.
71123         * lib/getpeername.c (rpl_getpeername): Likewise.
71124         * lib/getsockname.c (rpl_getsockname): Likewise.
71125         * lib/recv.c (rpl_recv): Likewise.
71126         * lib/send.c (rpl_send): Likewise.
71127         * lib/recvfrom.c (rpl_recvfrom): Likewise.
71128         * lib/sendto.c (rpl_sendto): Likewise.
71130 2010-03-06  Bruno Haible  <bruno@clisp.org>
71132         Clarify access, euidaccess, faccessat.
71133         * doc/posix-functions/faccessat.texi: Mention security problem under
71134         "Other problems", not "Portability problems".
71135         * doc/posix-functions/access.texi: Likewise. Mention a related security
71136         problem.
71137         * doc/glibc-functions/euidaccess.texi: Mention security problems.
71138         * lib/euidaccess.c: Add comments about platforms.
71139         * lib/unistd.in.h (access, euidaccess): Add warnings.
71141 2010-03-07  Bruno Haible  <bruno@clisp.org>
71143         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
71144         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
71145         (POSIX_SPAWN_SETSCHEDULER): Likewise.
71146         (POSIX_SPAWN_USEVFORK): Define in a way that works when
71147         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
71148         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
71149         declare when POSIX_SPAWN_SETSCHEDULER is zero.
71150         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
71151         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
71152         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
71153         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
71154         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
71155         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
71156         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
71157         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
71158         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
71159         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
71160         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
71161         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
71162         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
71163         Likewise.
71164         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
71165         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
71166         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
71167         Likewise.
71168         * tests/test-spawn.c (main): Make it work when
71169         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
71171 2010-03-07  Bruno Haible  <bruno@clisp.org>
71173         Fix incorrect Makefile.am generation in German locale.
71174         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71175         Execute sed command with character range in C locale.
71177 2010-03-06  Bruno Haible  <bruno@clisp.org>
71179         Tests for module 'iconv-h'.
71180         * modules/iconv-h-tests: New file.
71181         * tests/test-iconv-h.c: New file.
71183         New module 'iconv-h'.
71184         * modules/iconv-h: New file.
71185         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
71186         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
71187         (configure.ac): Remove gl_ICONV_H.
71188         (Makefile.am): Remove rule for iconv.h.
71190 2010-03-06  Bruno Haible  <bruno@clisp.org>
71192         More consistent naming of *.m4 files.
71193         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
71194         * modules/wctype (Files): Update.
71196         More consistent naming of *.m4 files.
71197         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
71198         * modules/wchar (Files): Update.
71200 2010-03-06  Jim Meyering  <meyering@redhat.com>
71202         euidaccess: relax license to LGPLv2+
71203         * modules/euidaccess (License): Relax to LGPLv2+.
71205 2010-03-06  Bruno Haible  <bruno@clisp.org>
71207         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
71208         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
71209         (Makefile.am): Augment lib_SOURCES instead.
71211 2010-03-04  Jim Meyering  <meyering@redhat.com>
71213         utime: remove obsolete module
71214         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
71215         unnecessary for years, and has been marked as obsolete for 10 months.
71216         * modules/utime: Remove file.
71217         * lib/utime.c: Remove file.
71218         * m4/utime.m4: Remove file.
71219         * m4/utimes-null.m4: Remove file.
71220         * doc/posix-functions/utime.texi (utime): Remove reference to
71221         the module.  Move the sole "fixed by gnulib" item into the
71222         "problems not fixed by Gnulib" list.
71223         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
71225 2010-03-05  Simon Josefsson  <simon@josefsson.org>
71227         * modules/exit (License): Relax license to LGPLv2+.
71228         (Status): Mark as obsolete.
71229         * NEWS: Mention deprecated 'exit' module.
71230         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
71231         of now obsolete 'exit'.
71233 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71235         fts-lgpl: remove unused module
71236         * modules/fts-lgpl: Remove.
71237         * MODULES.html.sh (func_all_modules): Adjust.
71238         * check-module (find_included_lib_files): Adjust.
71239         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
71241 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
71243         copy-acl: enhance Solaris ACL error handling
71244         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
71245         * lib/set-mode-acl.c (qset_acl): Likewise.
71247 2010-03-02  Bruno Haible  <bruno@clisp.org>
71249         spawn: Don't override the system defined values on FreeBSD 8.
71250         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
71251         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
71252         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
71253         if HAVE_POSIX_SPAWN is 1.
71254         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
71256 2010-03-01  Bruno Haible  <bruno@clisp.org>
71258         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
71259         regarding Automake.
71261 2010-02-25  Bruno Haible  <bruno@clisp.org>
71263         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
71264         * gnulib-tool: Define 'echo' as a function only before the ksh alias
71265         setting, not afterwards.
71266         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
71268 2010-02-24  Eric Blake  <eblake@redhat.com>
71270         bootstrap, git-version-gen: use timestamp
71271         * build-aux/git-version-gen (scriptversion): Force UTC.
71272         * build-aux/bootstrap (scriptversion): New variable.
71274         bootstrap: allow older git
71275         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
71276         older than 1.6.4.  Requested by the libvirt project.
71278 2010-02-23  Eric Blake  <eblake@redhat.com>
71280         warn-on-use: work with old autoconf
71281         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
71282         AS_VAR semantics of autoconf 2.60.
71283         Reported by Bruno Haible.
71285         bootstrap: improve some comments
71286         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
71287         clarification comments.
71289         gettimeofday: provide correct function
71290         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
71291         when replacement is declared, otherwise provide gettimeofday.
71292         Reported by Michael Goffioul.
71294 2010-02-23  Jim Meyering  <meyering@redhat.com>
71296         lib-ignore: relax license to "unlimited", not LGPLv2+
71297         * modules/lib-ignore (License): Relax to "unlimited".
71299 2010-02-23  Jim Meyering  <meyering@redhat.com>
71301         lib-ignore: relax license to LGPLv2+
71302         * modules/lib-ignore (License): Relax to LGPLv2+.
71304 2010-02-22  Eric Blake  <eblake@redhat.com>
71306         lseek: avoid bash 3.2 broken pipe bug
71307         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
71308         warning from bash 3.2.
71309         Reported by Ben Pfaff, with analysis from Bruno Haible.
71311         bootstrap: support non-FSF copyright holder
71312         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
71313         bootstrap.conf override of COPYRIGHT_HOLDER.
71314         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
71316         bootstrap: interoperate with gettext 0.14.1
71317         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
71319         bootstrap: allow for alternate submodule location
71320         * build-aux/bootstrap (gnulib_path): New variable; use instead of
71321         hardcoding submodule location.
71322         (gnulib_mk): Allow direct use of Makefile.am.
71324         bootstrap: use GNULIB_SRCDIR to reduce disk usage
71325         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
71326         rather than reconfiguring where the submodule points.
71328         gettimeofday: restore support for platforms that lack function
71329         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
71330         replacement if function is missing.
71331         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
71332         * modules/sys_time (Makefile.am): Substitute it.
71333         * lib/sys_time.in.h (gettimeofday): Check it.
71334         Reported by Michael Goffioul.
71336 2010-02-21  Bruno Haible  <bruno@clisp.org>
71338         * lib/stdio.in.h (obstack_printf): Fix typo.
71340 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
71342         vc-list-files: use bzr ls's -R option
71343         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
71344         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
71346 2010-02-21  Jim Meyering  <meyering@redhat.com>
71348         init.sh: fix EXEEXT shims to work also for names like test-prog
71349         * tests/init.sh: Re-exec a better shell, when needed.
71350         If the current shell lacks support for posix $(...), an init.sh-using
71351         test will now try to find a shell that supports that.  If EXEEXT is
71352         nonempty, we also require support for hyphen-in-alias-name and shell
71353         substitutions like ${var#glob}.  Failure to find such a shell results
71354         in a skipped test.
71356 2010-02-21  Bruno Haible  <bruno@clisp.org>
71358         Really work around "broken pipe" error message from bash 3.2.
71359         * gnulib-tool (func_reset_sigpipe): Remove function.
71360         (echo): In bash 3.2, define to a function that uses printf.
71361         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
71363 2010-02-20  Bruno Haible  <bruno@clisp.org>
71365         Restore support for automake 1.9.6 with autoconf 2.61.
71366         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
71367         Reported by James Youngman <jay@gnu.org>.
71369 2010-02-20  Bruno Haible  <bruno@clisp.org>
71371         Improve *printf warning condition.
71372         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
71373         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
71374         and the function is overridden due to SIGPIPE emulation.
71376 2010-02-20  Bruno Haible  <bruno@clisp.org>
71378         * lib/stdio.in.h: Tweak comments.
71380 2010-02-19  Bruno Haible  <bruno@clisp.org>
71382         Make it easier to find modules. New gnulib-tool option '--find'.
71383         * gnulib-tool: New option --find.
71384         (func_usage): Document it.
71385         (func_sanitize_modulelist): New function, extracted from
71386         func_all_modules.
71387         (func_all_modules): Invoke it.
71388         * doc/gnulib-tool.texi (Which modules?): New node.
71390 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
71392         * lib/sys_select.in.h: Provide select replacement even if
71393         sys/select.h exists on a system, for Interix.
71395 2010-02-18  Jim Meyering  <meyering@redhat.com>
71397         init.sh: don't use $(...) just yet
71398         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
71399         to accommodate e.g., Solaris' /bin/sh.
71401 2010-02-17  Bruno Haible  <bruno@clisp.org>
71403         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
71404         Reported by Ludovic Courtès <ludo@gnu.org>.
71406 2010-02-16  Simon Josefsson  <simon@josefsson.org>
71408         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
71409         linking with -lintl.
71411 2010-02-17  Simon Josefsson  <simon@josefsson.org>
71413         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
71414         if not provided by the system's netdb.h.  Reported by
71415         ludo@gnu.org (Ludovic Courtès).
71417 2010-02-15  Jim Meyering  <meyering@redhat.com>
71419         init.sh: improve portability and efficiency
71420         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
71421         "dummy" in a for loop.
71422         Use '!', not '^' to select the complement of a character set used
71423         in a "case" statement.
71424         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
71425         Suggestions from Eric Blake.
71427         init.sh: automatically accommodate programs with the .exe suffix
71428         Automatically arrange for an invocation of "prog" to execute the
71429         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
71430         may use the simpler "prog", yet still work when built on a system
71431         that requires specifying the added suffix.
71432         Do this by constructing a function named "prog" that invokes
71433         "prog.exe" for each .exe file in selected directories.
71434         * tests/init.sh (find_exe_basenames_): New function.
71435         (create_exe_shim_functions_): New function.
71436         (path_prepend_): Use it.
71438         maint.mk: mark syntax-check sc_*.m rules as .PHONY
71439         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
71440         "make -t syntax-check" doesn't create a ton of sc_*.m files.
71442 2010-02-14  Jim Meyering  <meyering@redhat.com>
71444         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
71445         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
71446         (sc_prohibit_hash_pjw_without_use): New rule.
71448         maint.mk: allow the default upload destination dir to be overridden
71449         * top/maint.mk (upload_dest_dir_): Define with a default that
71450         preserves the status quo.
71451         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
71452         Reported by Peter Simons.
71454         maint.mk: prohibit inclusion of "hash.h" without_use
71455         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
71457 2010-02-10  Jim Meyering  <meyering@redhat.com>
71459         maint.mk: prohibit inclusion of "ignore-value.h" without_use
71460         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
71462 2010-02-09  Eric Blake  <ebb9@byu.net>
71463         and Bruno Haible  <bruno@clisp.org>
71465         obstack-printf-posix: ensure declaration
71466         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
71467         extracted from gl_FUNC_OBSTACK_PRINTF.
71468         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
71469         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
71470         Likewise.
71471         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
71472         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
71473         0.
71475 2010-02-08  Bruno Haible  <bruno@clisp.org>
71477         gnulib-tool: Fix typo in 2010-02-07 commit.
71478         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
71479         Reported by Eric Blake.
71481 2010-02-07  Bruno Haible  <bruno@clisp.org>
71483         gnulib-tool: Fix up caching patches.
71484         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
71485         option --no-cache. Use associative arrays when supported by the shell.
71486         (sed_comments): New variable.
71487         (modcache): Renamed from do_cache.
71488         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
71489         abbreviate unnecessarily.
71490         (have_associative): New variable.
71491         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
71492         way also for ksh and zsh.
71493         (func_init_sed_convert_to_cache_statements): New function, extracted
71494         from func_cache_lookup_module. Add support for associative arrays.
71495         Don't set the c_MODULE_cached variable here. Ignore all lines before
71496         the first field header. Remove only the final newline, not all trailing
71497         newlines. Support empty fields correctly. Limit the use of 'eval' to
71498         assignments.
71499         (func_get_description, func_get_status, func_get_notice,
71500         func_get_applicability, func_get_filelist, func_get_dependencies,
71501         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
71502         func_get_automake_snippet, func_get_include_directive,
71503         func_get_link_directive, func_get_license, func_get_maintainer):
71504         Update documentation. List the unoptimized code first. Add support for
71505         associative arrays. Limit the use of 'eval' to assignments.
71506         (func_get_applicability): Undo stylistic pessimisations.
71507         (func_get_automake_snippet, func_get_include_directive): Reduce code
71508         duplication.
71509         (func_modules_transitive_closure, func_modules_add_dummy,
71510         func_modules_notice, func_modules_to_filelist, func_add_file,
71511         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
71512         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
71513         func_create_testdir, func_create_megatestdir): Update documentation.
71515 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71517         * gnulib-tool (func_cache_lookup_module): Store the module name
71518         belonging to the cache variable; error out if two different
71519         module names map to the same cache variable name.
71521 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71523         gnulib-tool: Make caching optional.
71524         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
71525         Update matching short versions of --no-changelog.
71526         (func_usage): Update.
71527         (sed_extract_cache_prog): Renamed from ...
71528         (sed_extract_prog): ... this; revert to old extraction script.
71529         (func_get_description, func_get_status)
71530         (func_get_notice, func_get_applicability, func_get_filelist)
71531         (func_get_dependencies, func_get_autoconf_early_snippet)
71532         (func_get_autoconf_snippet, func_get_automake_snippet)
71533         (func_get_include_directive, func_get_link_directive)
71534         (func_get_license, func_get_maintainer): If $do_cache is false,
71535         use old, non-caching extraction scripts.
71536         Suggestion by Bruno Haible.
71538 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71540         gnulib-tool: cache module metainformation.
71541         * gnulib-tool (sed_extract_prog): Match newline before each
71542         header, and rewrite header to a shell variable suffix.
71543         (func_cache_var, func_cache_lookup_module): New functions,
71544         to turn a module name into a cache variable prefix, and to
71545         look up and cache module metainformation.
71546         (func_get_description, func_get_status)
71547         (func_get_notice, func_get_applicability, func_get_filelist)
71548         (func_get_dependencies, func_get_autoconf_early_snippet)
71549         (func_get_autoconf_snippet, func_get_automake_snippet)
71550         (func_get_include_directive, func_get_link_directive)
71551         (func_get_license, func_get_maintainer): Use
71552         func_cache_lookup_module.
71554 2010-02-07  Bruno Haible  <bruno@clisp.org>
71556         fnctl: Fix missing dependency.
71557         * modules/fcntl (Depends-on): Add getdtablesize.
71558         Reported by John W. Eaton <jwe@gnu.org>.
71560 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
71562         Argp: fix recognition of short alias options.
71564         * lib/argp-parse.c (convert_options): Fix improper use of
71565         `|' between character values.
71566         * tests/test-argp.c (group1_option): New alias option
71567         --read (-r).
71568         (group1_parser): Special handling for 'r'.
71569         (test15): New test case.
71570         (test_fun): Add test15.
71571         * tests/test-argp-2.sh: Update expected --help and --usage
71572         outputs.
71574 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
71576         * tests/test-argp.c: Fix indentation.
71578 2010-02-04  Eric Blake  <ebb9@byu.net>
71580         gettimeofday: expose type of second argument
71581         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
71582         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
71583         * tests/test-gettimeofday.c: Use it to silence warning.
71584         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
71585         the issue.
71587 2010-02-03  Jim Meyering  <meyering@redhat.com>
71589         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
71590         * lib/regcomp.c (TYPE_SIGNED): Define.
71591         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
71593         regcomp.c: avoid a new -Wshadow warning
71594         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
71596 2010-02-01  Jim Meyering  <meyering@redhat.com>
71598         removing useless parentheses in cpp #define directives
71599         For motivation, see commit c0221df4, "define STREQ(a,b)
71600         consistently, removing useless parentheses"
71601         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
71602         * lib/mountlist.c (MNT_IGNORE): Likewise.
71603         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
71605 2010-02-01  Eric Blake  <ebb9@byu.net>
71607         sys_time: use link-warning
71608         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
71609         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
71610         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
71611         * modules/sys_time (Depends-on): Add warn-on-use.
71612         (Makefile.am): Always build replacement.
71613         (configure.ac): Update substitutions.
71614         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
71615         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
71616         bother with SYS_TIME_H.
71617         * modules/gettimeofday (configure.ac): Declare indicator.
71618         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
71619         in use.
71621         closein-tests: silence compiler warning
71622         * tests/test-closein.c (main): Ignore fread result.
71623         * modules/closein-tests (Depends-on): Add ignore-value.
71625         tests: silence warning about system return
71626         * tests/test-areadlink-with-size.c (main): Ignore system result.
71627         * tests/test-areadlink.c (main): Likewise.
71628         * tests/test-areadlinkat-with-size.c (main): Likewise.
71629         * tests/test-areadlinkat.c (main): Likewise.
71630         * tests/test-canonicalize-lgpl.c (main): Likewise.
71631         * tests/test-canonicalize.c (main): Likewise.
71632         * tests/test-chown.c (main): Likewise.
71633         * tests/test-fchownat.c (main): Likewise.
71634         * tests/test-fdutimensat.c (main): Likewise.
71635         * tests/test-fstatat.c (main): Likewise.
71636         * tests/test-futimens.c (main): Likewise.
71637         * tests/test-lchown.c (main): Likewise.
71638         * tests/test-link.c (main): Likewise.
71639         * tests/test-linkat.c (main): Likewise.
71640         * tests/test-lstat.c (main): Likewise.
71641         * tests/test-mkdir.c (main): Likewise.
71642         * tests/test-mkdirat.c (main): Likewise.
71643         * tests/test-mkfifo.c (main): Likewise.
71644         * tests/test-mkfifoat.c (main): Likewise.
71645         * tests/test-mknod.c (main): Likewise.
71646         * tests/test-readlink.c (main): Likewise.
71647         * tests/test-remove.c (main): Likewise.
71648         * tests/test-rename.c (main): Likewise.
71649         * tests/test-renameat.c (main): Likewise.
71650         * tests/test-rmdir.c (main): Likewise.
71651         * tests/test-symlink.c (main): Likewise.
71652         * tests/test-symlinkat.c (main): Likewise.
71653         * tests/test-unlink.c (main): Likewise.
71654         * tests/test-unlinkat.c (main): Likewise.
71655         * tests/test-utimens.c (main): Likewise.
71656         * tests/test-utimensat.c (main): Likewise.
71657         * modules/areadlink-tests (Depends-on): Add ignore-value.
71658         * modules/areadlink-with-size-tests (Depends-on): Likewise.
71659         * modules/areadlinkat-tests (Depends-on): Likewise.
71660         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
71661         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
71662         * modules/canonicalize-tests (Depends-on): Likewise.
71663         * modules/chown-tests (Depends-on): Likewise.
71664         * modules/fdutimensat-tests (Depends-on): Likewise.
71665         * modules/futimens-tests (Depends-on): Likewise.
71666         * modules/lchown-tests (Depends-on): Likewise.
71667         * modules/link-tests (Depends-on): Likewise.
71668         * modules/linkat-tests (Depends-on): Likewise.
71669         * modules/lstat-tests (Depends-on): Likewise.
71670         * modules/mkdir-tests (Depends-on): Likewise.
71671         * modules/mkfifo-tests (Depends-on): Likewise.
71672         * modules/mkfifoat-tests (Depends-on): Likewise.
71673         * modules/mknod-tests (Depends-on): Likewise.
71674         * modules/openat-tests (Depends-on): Likewise.
71675         * modules/readlink-tests (Depends-on): Likewise.
71676         * modules/remove-tests (Depends-on): Likewise.
71677         * modules/rename-tests (Depends-on): Likewise.
71678         * modules/renameat-tests (Depends-on): Likewise.
71679         * modules/rmdir-tests (Depends-on): Likewise.
71680         * modules/symlink-tests (Depends-on): Likewise.
71681         * modules/symlinkat-tests (Depends-on): Likewise.
71682         * modules/unlink-tests (Depends-on): Likewise.
71683         * modules/utimens-tests (Depends-on): Likewise.
71684         * modules/utimensat-tests (Depends-on): Likewise.
71686 2010-01-31  Bruno Haible  <bruno@clisp.org>
71688         Perform the same test for many <math.h> functions.
71689         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
71690         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
71691         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
71692         of gl_MATHFUNC.
71693         * modules/acos (configure.ac): Likewise.
71694         * modules/asin (configure.ac): Likewise.
71695         * modules/atan (configure.ac): Likewise.
71696         * modules/atan2 (configure.ac): Likewise.
71697         * modules/cbrt (configure.ac): Likewise.
71698         * modules/copysign (configure.ac): Likewise.
71699         * modules/cos (configure.ac): Likewise.
71700         * modules/cosh (configure.ac): Likewise.
71701         * modules/erf (configure.ac): Likewise.
71702         * modules/erfc (configure.ac): Likewise.
71703         * modules/exp (configure.ac): Likewise.
71704         * modules/fmod (configure.ac): Likewise.
71705         * modules/hypot (configure.ac): Likewise.
71706         * modules/j0 (configure.ac): Likewise.
71707         * modules/j1 (configure.ac): Likewise.
71708         * modules/jn (configure.ac): Likewise.
71709         * modules/lgamma (configure.ac): Likewise.
71710         * modules/log (configure.ac): Likewise.
71711         * modules/log10 (configure.ac): Likewise.
71712         * modules/log1p (configure.ac): Likewise.
71713         * modules/pow (configure.ac): Likewise.
71714         * modules/remainder (configure.ac): Likewise.
71715         * modules/sin (configure.ac): Likewise.
71716         * modules/sinh (configure.ac): Likewise.
71717         * modules/tan (configure.ac): Likewise.
71718         * modules/tanh (configure.ac): Likewise.
71719         * modules/y0 (configure.ac): Likewise.
71720         * modules/y1 (configure.ac): Likewise.
71721         * modules/yn (configure.ac): Likewise.
71722         Suggested by Paolo Bonzini.
71724 2010-01-31  Bruno Haible  <bruno@clisp.org>
71726         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
71728 2010-01-31  Bruno Haible  <bruno@clisp.org>
71730         Work around getdelim() bug on FreeBSD 8.0.
71731         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
71732         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
71733         not work.
71734         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
71735         is 1.
71736         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
71737         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
71738         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
71739         a non-zero size.
71740         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
71742 2010-01-31  Bruno Haible  <bruno@clisp.org>
71744         Work around getline() bug on FreeBSD 8.0.
71745         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
71746         and a non-zero size.
71747         * tests/test-getline.c (main): Likewise.
71748         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
71749         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
71751 2010-01-28  Eric Blake  <ebb9@byu.net>
71753         regex: fix build failure
71754         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
71755         platforms.
71757 2010-01-28  Jim Meyering  <meyering@redhat.com>
71759         regex: do not ignore memory allocation failure
71760         * lib/regex_internal.c (create_cd_newstate): Detect
71761         re_node_set_init_copy failure.   Extracted from glibc commit
71762         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
71764         regex: sync more white-space changes from libc
71765         * lib/regex_internal.c: White-space only changes.
71766         * lib/regexec.c: Likewise.
71768         regex: add many uses of __attribute_warn_unused_result__
71769         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
71770         * lib/regexec.c: Likewise.
71771         Extracted from a messy glibc commit.
71773         regcomp.c: spelling and merge-artifact from glibc
71774         * lib/regcomp.c: Merge remainder of glibc's
71775         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
71777         regcomp.c: sync white-space changes from glibc
71778         * lib/regcomp.c: Merge to accommodate white space
71779         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
71781         regcomp.c: do not ignore internal return values
71782         * lib/regcomp.c: Do not ignore internal return values.
71783         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
71784         but without its white-space changes and spelling fixes.
71786         regex_internal.h: define __attribute_warn_unused_result__
71787         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
71789         maint: add a syntax-check rule to check for vulnerable Makefile.in
71790         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
71792 2010-01-27  Jim Meyering  <meyering@redhat.com>
71794         ncftpput-ftp: clean up spaces
71795         * build-aux/ncftpput-ftp: Make Copyright line consistent.
71796         Remove trailing blanks.
71798 2010-01-27  Simon Josefsson  <simon@josefsson.org>
71800         * build-aux/git-version-gen: Fix copyright statement.
71801         * build-aux/gnupload: Likewise.
71802         * tests/test-arcfour.c: Likewise.
71803         * tests/test-arctwo.c: Likewise.
71804         * tests/test-count-one-bits.c: Likewise.
71805         * tests/test-crc.c: Likewise.
71806         * tests/test-des.c: Likewise.
71807         * tests/test-gc-arcfour.c: Likewise.
71808         * tests/test-gc-arctwo.c: Likewise.
71809         * tests/test-gc-des.c: Likewise.
71810         * tests/test-gc-hmac-md5.c: Likewise.
71811         * tests/test-gc-hmac-sha1.c: Likewise.
71812         * tests/test-gc-md2.c: Likewise.
71813         * tests/test-gc-md4.c: Likewise.
71814         * tests/test-gc-md5.c: Likewise.
71815         * tests/test-gc-pbkdf2-sha1.c: Likewise.
71816         * tests/test-gc-rijndael.c: Likewise.
71817         * tests/test-gc-sha1.c: Likewise.
71818         * tests/test-gc.c: Likewise.
71819         * tests/test-gethostname.c: Likewise.
71820         * tests/test-gettimeofday.c: Likewise.
71821         * tests/test-hash.c: Likewise.
71822         * tests/test-hmac-md5.c: Likewise.
71823         * tests/test-hmac-sha1.c: Likewise.
71824         * tests/test-md2.c: Likewise.
71825         * tests/test-md4.c: Likewise.
71826         * tests/test-md5.c: Likewise.
71827         * tests/test-memchr.c: Likewise.
71828         * tests/test-memchr2.c: Likewise.
71829         * tests/test-memcmp.c: Likewise.
71830         * tests/test-memmem.c: Likewise.
71831         * tests/test-memrchr.c: Likewise.
71832         * tests/test-rawmemchr.c: Likewise.
71833         * tests/test-read-file.c: Likewise.
71834         * tests/test-rijndael.c: Likewise.
71835         * tests/test-sockets.c: Likewise.
71836         * tests/test-strchrnul.c: Likewise.
71837         * tests/test-strstr.c: Likewise.
71838         * tests/test-strtod.c: Likewise.
71839         * build-aux/ncftpput-ftp: Likewise.
71841 2010-01-26  Eric Blake  <ebb9@byu.net>
71843         ignore-value: update recommended header name
71844         * modules/ignore-value (Include): Only use <> for headers that
71845         exist in glibc.
71847 2010-01-26  Jim Meyering  <meyering@redhat.com>
71849         test-userspec.c: avoid compiler warnings
71850         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
71851         and "initialization discards qualifiers..." warnings.
71852         Put the first "uid" in its own scope, and make char* members "const".
71854 2010-01-25  Bruno Haible  <bruno@clisp.org>
71856         gnulib-tool: Make warning diagnostics consistent.
71857         * gnulib-tool (func_warning): New function.
71858         Use it everywhere where gnulib-tool produces output to stderr and it is
71859         not a fatal error.
71861 2010-01-25  Bruno Haible  <bruno@clisp.org>
71863         Fix test dependencies.
71864         * modules/xstrtol-tests (Depends-on): Add inttypes.
71865         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
71867 2010-01-25  Pádraig Brady  <P@draigBrady.com>
71869         syntax-check: detect incorrect boolean macro values in config.h
71870         * modules/maintainer-makefile (configure.ac): Parameterize the location
71871         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
71872         The logic is from Eric Blake and the location indicated by Jim Meyering.
71873         Note the more natural CONFIG_HEADER name is prohibited by automake
71874         for backwards compatibility reasons.
71875         * top/maint.mk (sc_Wundef_boolean): New rule.
71877 2010-01-25  Jim Meyering  <meyering@redhat.com>
71879         bootstrap: detect MacOS 10.6's shasum, too
71880         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
71881         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
71883 2010-01-23  Jim Meyering  <meyering@redhat.com>
71885         xstrtoll: new module
71886         * modules/xstrtoll: New file.
71887         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
71888         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
71889         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
71890         ./configure fails if you use this module and lack "long long".
71891         * modules/xstrtoll-tests: New module.
71892         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
71893         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
71894         new init.sh-based test framework.
71896 2010-01-24  Bruno Haible  <bruno@clisp.org>
71898         Tests for module 'yn'.
71899         * modules/yn-tests: New file.
71900         * tests/test-yn.c: New file.
71902         Tests for module 'y1'.
71903         * modules/y1-tests: New file.
71904         * tests/test-y1.c: New file.
71906         Tests for module 'y0'.
71907         * modules/y0-tests: New file.
71908         * tests/test-y0.c: New file.
71910         Tests for module 'tanh'.
71911         * modules/tanh-tests: New file.
71912         * tests/test-tanh.c: New file.
71914         Tests for module 'tan'.
71915         * modules/tan-tests: New file.
71916         * tests/test-tan.c: New file.
71918         Tests for module 'sqrt'.
71919         * modules/sqrt-tests: New file.
71920         * tests/test-sqrt.c: New file.
71922         Tests for module 'sinh'.
71923         * modules/sinh-tests: New file.
71924         * tests/test-sinh.c: New file.
71926         Tests for module 'sin'.
71927         * modules/sin-tests: New file.
71928         * tests/test-sin.c: New file.
71930         Tests for module 'rint'.
71931         * modules/rint-tests: New file.
71932         * tests/test-rint.c: New file.
71934         Tests for module 'remainder'.
71935         * modules/remainder-tests: New file.
71936         * tests/test-remainder.c: New file.
71938         Tests for module 'pow'.
71939         * modules/pow-tests: New file.
71940         * tests/test-pow.c: New file.
71942         Tests for module 'nextafter'.
71943         * modules/nextafter-tests: New file.
71944         * tests/test-nextafter.c: New file.
71946         Tests for module 'modf'.
71947         * modules/modf-tests: New file.
71948         * tests/test-modf.c: New file.
71950         Tests for module 'logb'.
71951         * modules/logb-tests: New file.
71952         * tests/test-logb.c: New file.
71954         Tests for module 'log1p'.
71955         * modules/log1p-tests: New file.
71956         * tests/test-log1p.c: New file.
71958         Tests for module 'log10'.
71959         * modules/log10-tests: New file.
71960         * tests/test-log10.c: New file.
71962         Tests for module 'log'.
71963         * modules/log-tests: New file.
71964         * tests/test-log.c: New file.
71966         Tests for module 'lgamma'.
71967         * modules/lgamma-tests: New file.
71968         * tests/test-lgamma.c: New file.
71970         Tests for module 'ldexp'.
71971         * modules/ldexp-tests: New file.
71972         * tests/test-ldexp.c: New file.
71974         Tests for module 'jn'.
71975         * modules/jn-tests: New file.
71976         * tests/test-jn.c: New file.
71978         Tests for module 'j1'.
71979         * modules/j1-tests: New file.
71980         * tests/test-j1.c: New file.
71982         Tests for module 'j0'.
71983         * modules/j0-tests: New file.
71984         * tests/test-j0.c: New file.
71986         Tests for module 'hypot'.
71987         * modules/hypot-tests: New file.
71988         * tests/test-hypot.c: New file.
71990         Tests for module 'fmod'.
71991         * modules/fmod-tests: New file.
71992         * tests/test-fmod.c: New file.
71994         Tests for module 'fabs'.
71995         * modules/fabs-tests: New file.
71996         * tests/test-fabs.c: New file.
71998         Tests for module 'exp'.
71999         * modules/exp-tests: New file.
72000         * tests/test-exp.c: New file.
72002         Tests for module 'erfc'.
72003         * modules/erfc-tests: New file.
72004         * tests/test-erfc.c: New file.
72006         Tests for module 'erf'.
72007         * modules/erf-tests: New file.
72008         * tests/test-erf.c: New file.
72010         Tests for module 'cosh'.
72011         * modules/cosh-tests: New file.
72012         * tests/test-cosh.c: New file.
72014         Tests for module 'cos'.
72015         * modules/cos-tests: New file.
72016         * tests/test-cos.c: New file.
72018         Tests for module 'copysign'.
72019         * modules/copysign-tests: New file.
72020         * tests/test-copysign.c: New file.
72022         Tests for module 'cbrt'.
72023         * modules/cbrt-tests: New file.
72024         * tests/test-cbrt.c: New file.
72026         Tests for module 'atan2'.
72027         * modules/atan2-tests: New file.
72028         * tests/test-atan2.c: New file.
72030         Tests for module 'atan'.
72031         * modules/atan-tests: New file.
72032         * tests/test-atan.c: New file.
72034         Tests for module 'asin'.
72035         * modules/asin-tests: New file.
72036         * tests/test-asin.c: New file.
72038         Tests for module 'acos'.
72039         * modules/acos-tests: New file.
72040         * tests/test-acos.c: New file.
72042 2010-01-24  Bruno Haible  <bruno@clisp.org>
72044         Fix tests for common <math.h> functions.
72045         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
72046         code snippet that references the function pointer, rather than merely
72047         calling the function. Substitute the FUNC_LIBM variable.
72048         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
72049         * modules/acos (configure.ac): Likewise.
72050         * modules/asin (configure.ac): Likewise.
72051         * modules/atan (configure.ac): Likewise.
72052         * modules/atan2 (configure.ac): Likewise.
72053         * modules/cbrt (configure.ac): Likewise.
72054         * modules/copysign (configure.ac): Likewise.
72055         * modules/cos (configure.ac): Likewise.
72056         * modules/cosh (configure.ac): Likewise.
72057         * modules/erf (configure.ac): Likewise.
72058         * modules/erfc (configure.ac): Likewise.
72059         * modules/exp (configure.ac): Likewise.
72060         * modules/fabs (configure.ac): Likewise.
72061         * modules/fmod (configure.ac): Likewise.
72062         * modules/hypot (configure.ac): Likewise.
72063         * modules/j0 (configure.ac): Likewise.
72064         * modules/j1 (configure.ac): Likewise.
72065         * modules/jn (configure.ac): Likewise.
72066         * modules/ldexp (configure.ac): Likewise.
72067         * modules/lgamma (configure.ac): Likewise.
72068         * modules/log (configure.ac): Likewise.
72069         * modules/log10 (configure.ac): Likewise.
72070         * modules/log1p (configure.ac): Likewise.
72071         * modules/logb (configure.ac): Likewise.
72072         * modules/modf (configure.ac): Likewise.
72073         * modules/nextafter (configure.ac): Likewise.
72074         * modules/pow (configure.ac): Likewise.
72075         * modules/remainder (configure.ac): Likewise.
72076         * modules/rint (configure.ac): Likewise.
72077         * modules/sin (configure.ac): Likewise.
72078         * modules/sinh (configure.ac): Likewise.
72079         * modules/tan (configure.ac): Likewise.
72080         * modules/tanh (configure.ac): Likewise.
72081         * modules/y0 (configure.ac): Likewise.
72082         * modules/y1 (configure.ac): Likewise.
72083         * modules/yn (configure.ac): Likewise.
72085 2010-01-24  Bruno Haible  <bruno@clisp.org>
72087         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
72088         * tests/test-acosl.c (x): New variable.
72089         (main): Store argument in x and fetch it from x.
72090         * tests/test-asinl.c (x): New variable.
72091         (main): Store argument in x and fetch it from x.
72092         * tests/test-atanl.c (x): New variable.
72093         (main): Store argument in x and fetch it from x.
72094         * tests/test-cosl.c (x): New variable.
72095         (main): Store argument in x and fetch it from x.
72096         * tests/test-expl.c (x): New variable.
72097         (main): Store argument in x and fetch it from x.
72098         * tests/test-logl.c (x): New variable.
72099         (main): Store argument in x and fetch it from x.
72100         * tests/test-sinl.c (x): New variable.
72101         (main): Store argument in x and fetch it from x.
72102         * tests/test-sqrtl.c (x): New variable.
72103         (main): Store argument in x and fetch it from x.
72104         * tests/test-tanl.c (x): New variable.
72105         (main): Store argument in x and fetch it from x.
72107 2010-01-24  Bruno Haible  <bruno@clisp.org>
72109         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
72110         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
72111         assignments to the initial TESTS_ENVIRONMENT.
72112         * doc/gnulib.texi (Unit test modules): Document it.
72113         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
72114         TESTS_ENVIRONMENT.
72115         * modules/btowc-tests (Makefile.am): Likewise.
72116         * modules/c-stack-tests (Makefile.am): Likewise.
72117         * modules/c-strcase-tests (Makefile.am): Likewise.
72118         * modules/copy-file-tests (Makefile.am): Likewise.
72119         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
72120         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
72121         * modules/mbrtowc-tests (Makefile.am): Likewise.
72122         * modules/mbscasecmp-tests (Makefile.am): Likewise.
72123         * modules/mbscasestr-tests (Makefile.am): Likewise.
72124         * modules/mbschr-tests (Makefile.am): Likewise.
72125         * modules/mbscspn-tests (Makefile.am): Likewise.
72126         * modules/mbsinit-tests (Makefile.am): Likewise.
72127         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
72128         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
72129         * modules/mbspbrk-tests (Makefile.am): Likewise.
72130         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
72131         * modules/mbsrchr-tests (Makefile.am): Likewise.
72132         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
72133         * modules/mbsspn-tests (Makefile.am): Likewise.
72134         * modules/mbsstr-tests (Makefile.am): Likewise.
72135         * modules/nl_langinfo-tests (Makefile.am): Likewise.
72136         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
72137         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
72138         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
72139         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
72140         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
72141         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
72142         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
72143         * modules/wcrtomb-tests (Makefile.am): Likewise.
72144         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
72145         * modules/wcsrtombs-tests (Makefile.am): Likewise.
72146         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
72147         assignments from TESTS_ENVIRONMENT.
72148         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
72149         augmentation.
72150         * modules/argp-version-etc-tests (Makefile.am): Likewise.
72151         * modules/atexit-tests (Makefile.am): Likewise.
72152         * modules/binary-io-tests (Makefile.am): Likewise.
72153         * modules/closein-tests (Makefile.am): Likewise.
72154         * modules/dprintf-posix-tests (Makefile.am): Likewise.
72155         * modules/exclude-tests (Makefile.am): Likewise.
72156         * modules/fflush-tests (Makefile.am): Likewise.
72157         * modules/fpending-tests (Makefile.am): Likewise.
72158         * modules/fprintf-posix-tests (Makefile.am): Likewise.
72159         * modules/freadahead-tests (Makefile.am): Likewise.
72160         * modules/freadptr-tests (Makefile.am): Likewise.
72161         * modules/freadseek-tests (Makefile.am): Likewise.
72162         * modules/fseek-tests (Makefile.am): Likewise.
72163         * modules/fseeko-tests (Makefile.am): Likewise.
72164         * modules/ftell-tests (Makefile.am): Likewise.
72165         * modules/ftello-tests (Makefile.am): Likewise.
72166         * modules/idpriv-drop-tests (Makefile.am): Likewise.
72167         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
72168         * modules/lseek-tests (Makefile.am): Likewise.
72169         * modules/parse-duration-tests (Makefile.am): Likewise.
72170         * modules/perror-tests (Makefile.am): Likewise.
72171         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
72172         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
72173         * modules/pipe-tests (Makefile.am): Likewise.
72174         * modules/pread-tests (Makefile.am): Likewise.
72175         * modules/printf-posix-tests (Makefile.am): Likewise.
72176         * modules/select-tests (Makefile.am): Likewise.
72177         * modules/sigpipe-tests (Makefile.am): Likewise.
72178         * modules/tsearch-tests (Makefile.am): Likewise.
72179         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
72180         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
72181         * modules/uniname/uniname-tests (Makefile.am): Likewise.
72182         * modules/uniwidth/width-tests (Makefile.am): Likewise.
72183         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
72184         * modules/version-etc-tests (Makefile.am): Likewise.
72185         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
72186         * modules/vprintf-posix-tests (Makefile.am): Likewise.
72187         * modules/xalloc-die-tests (Makefile.am): Likewise.
72188         * modules/xprintf-posix-tests (Makefile.am): Likewise.
72189         * modules/xstrtoimax-tests (Makefile.am): Likewise.
72190         * modules/xstrtol-tests (Makefile.am): Likewise.
72191         * modules/xstrtoumax-tests (Makefile.am): Likewise.
72192         * modules/yesno-tests (Makefile.am): Likewise.
72193         Suggested by Jim Meyering.
72195 2010-01-24  Bruno Haible  <bruno@clisp.org>
72197         More documentation.
72198         * doc/gnulib.texi (Writing modules): New chapter.
72199         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
72200         the new chapter.
72202 2010-01-24  Jim Meyering  <meyering@redhat.com>
72204         maint.mk: do not prepend "./" after filtering
72205         * top/maint.mk (_prepend_srcdir_prefix): New variable
72206         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
72207         "./" when $(srcdir) is ".".
72209         define STREQ(a,b) consistently, removing useless parentheses
72210         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
72211         since the only risk is that "a" or "b" contains an unparenthesized
72212         comma, but if either did that, STREQ would have 3 or more arguments.
72213         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
72214         * lib/fts.c (STREQ): Remove unnecessary parentheses.
72215         * lib/hash-triple.c (STREQ): Likewise.
72216         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
72217         * lib/getugroups.c (STREQ): Likewise.
72219 2010-01-23  Jim Meyering  <meyering@redhat.com>
72221         maint.mk: fix syntax-check in a non-srcdir build directory
72222         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
72223         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
72225 2010-01-22  Jim Meyering  <meyering@redhat.com>
72227         userspec: add unit tests
72228         * tests/test-userspec.c: New file.
72229         * modules/userspec-tests: Likewise.
72231 2010-01-21  Jim Meyering  <meyering@redhat.com>
72233         maint.mk: handle source file names containing "." robustly
72234         * top/maint.mk (_dot_escaped_srcdir): Define.
72235         (VC_LIST): Use it in LHS of sed substitution.
72237 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
72239         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
72240         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
72241         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
72242         from a non-srcdir build.
72244 2010-01-20  Eric Blake  <ebb9@byu.net>
72246         warn-on-use: use instead of link-warning
72247         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
72248         * modules/unistd (Depends-on, Makefile.am): Likewise.
72249         * modules/arpa_inet (Depends-on): Replace link-warning with
72250         warn-on-use.
72251         (Makefile.am): Update rules accordingly.
72252         * modules/ctype (Depends-on, Makefile.am): Likewise.
72253         * modules/dirent (Depends-on, Makefile.am): Likewise.
72254         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
72255         * modules/inttypes (Depends-on, Makefile.am): Likewise.
72256         * modules/langinfo (Depends-on, Makefile.am): Likewise.
72257         * modules/locale (Depends-on, Makefile.am): Likewise.
72258         * modules/math (Depends-on, Makefile.am): Likewise.
72259         * modules/search (Depends-on, Makefile.am): Likewise.
72260         * modules/signal (Depends-on, Makefile.am): Likewise.
72261         * modules/spawn (Depends-on, Makefile.am): Likewise.
72262         * modules/stdlib (Depends-on, Makefile.am): Likewise.
72263         * modules/string (Depends-on, Makefile.am): Likewise.
72264         * modules/strings (Depends-on, Makefile.am): Likewise.
72265         * modules/sys_file (Depends-on, Makefile.am): Likewise.
72266         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
72267         * modules/sys_select (Depends-on, Makefile.am): Likewise.
72268         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
72269         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
72270         * modules/sys_times (Depends-on, Makefile.am): Likewise.
72271         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
72272         * modules/wchar (Depends-on, Makefile.am): Likewise.
72273         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
72274         should be poisoned.
72275         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
72276         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
72277         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
72278         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
72279         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
72280         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
72281         * m4/math_h.m4 (gl_MATH_H): Likewise.
72282         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
72283         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
72284         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
72285         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
72286         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
72287         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
72288         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
72289         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
72290         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
72291         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
72292         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
72293         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
72294         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
72295         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
72296         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
72297         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
72298         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
72299         GL_LINK_WARNING.
72300         * lib/ctype.in.h: Likewise.
72301         * lib/dirent.in.h: Likewise.
72302         * lib/fcntl.in.h: Likewise.
72303         * lib/inttypes.in.h: Likewise.
72304         * lib/langinfo.in.h: Likewise.
72305         * lib/locale.in.h: Likewise.
72306         * lib/math.in.h: Likewise.
72307         * lib/search.in.h: Likewise.
72308         * lib/signal.in.h: Likewise.
72309         * lib/spawn.in.h: Likewise.
72310         * lib/stdio.in.h: Likewise.
72311         * lib/stdlib.in.h: Likewise.
72312         * lib/string.in.h: Likewise.
72313         * lib/strings.in.h: Likewise.
72314         * lib/sys_file.in.h: Likewise.
72315         * lib/sys_ioctl.in.h: Likewise.
72316         * lib/sys_select.in.h: Likewise.
72317         * lib/sys_socket.in.h: Likewise.
72318         * lib/sys_stat.in.h: Likewise.
72319         * lib/sys_times.in.h: Likewise.
72320         * lib/sys_utsname.in.h: Likewise.
72321         * lib/unistd.in.h: Likewise.
72322         * lib/wchar.in.h: Likewise.
72324 2010-01-20  Bruno Haible  <bruno@clisp.org>
72326         Avoid duplicate -lm.
72327         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
72328         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
72329         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
72330         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
72331         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
72332         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
72333         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
72334         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
72335         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
72336         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
72337         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
72338         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
72339         Reported by Paolo Bonzini.
72341 2010-01-19  Bruno Haible  <bruno@clisp.org>
72343         langinfo, nl_langinfo: Relicense under LGPLv2+.
72344         * modules/langinfo (License): Change to LGPLv2+.
72345         * modules/nl_langinfo (License): Likewise.
72346         Patch by David Lutterkort <lutter@redhat.com>.
72348 2010-01-19  Bruno Haible  <bruno@clisp.org>
72350         Avoid compilation error with cc on OSF/1 5.1.
72351         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
72352         statement, not before.
72353         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72355 2010-01-18  Bruno Haible  <bruno@clisp.org>
72357         Avoid a link error due to the __printf__ symbol.
72358         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
72359         and 2.6.x.
72360         (__format__, __printf__): Remove definitions.
72361         * lib/argp-fmtstream.h: Likewise.
72362         * lib/argp.h: Likewise.
72363         * lib/error.h: Likewise.
72364         * lib/vasnprintf.h: Likewise.
72365         * lib/xprintf.h: Likewise.
72366         * lib/xvasprintf.h: Likewise.
72367         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72369 2010-01-18  Bruno Haible  <bruno@clisp.org>
72371         Tests for module 'tanl'.
72372         * modules/tanl-tests: New file.
72373         * tests/test-tanl.c: New file.
72375         Tests for module 'sqrtl'.
72376         * modules/sqrtl-tests: New file.
72377         * tests/test-sqrtl.c: New file.
72379         Tests for module 'sinl'.
72380         * modules/sinl-tests: New file.
72381         * tests/test-sinl.c: New file.
72383         Tests for module 'logl'.
72384         * modules/logl-tests: New file.
72385         * tests/test-logl.c: New file.
72387         Tests for module 'expl'.
72388         * modules/expl-tests: New file.
72389         * tests/test-expl.c: New file.
72391         Tests for module 'cosl'.
72392         * modules/cosl-tests: New file.
72393         * tests/test-cosl.c: New file.
72395         Tests for module 'atanl'.
72396         * modules/atanl-tests: New file.
72397         * tests/test-atanl.c: New file.
72399         Tests for module 'asinl'.
72400         * modules/asinl-tests: New file.
72401         * tests/test-asinl.c: New file.
72403         Tests for module 'acosl'.
72404         * modules/acosl-tests: New file.
72405         * tests/test-acosl.c: New file.
72407         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
72408         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
72409         tanl): Use the standard gnulib idiom.
72410         * lib/cosl.c: Don't include trigl.c and sincosl.c.
72411         * lib/sinl.c: Likewise.
72412         * lib/tanl.c: Don't include trigl.c.
72413         (kernel_tanl): Make static.
72414         * lib/sincosl.c: Include trigl.h first.
72415         * lib/trigl.c: Likewise.
72416         * m4/acosl.m4: New file.
72417         * m4/asinl.m4: New file.
72418         * m4/atanl.m4: New file.
72419         * m4/cosl.m4: New file.
72420         * m4/expl.m4: New file.
72421         * m4/logl.m4: New file.
72422         * m4/sinl.m4: New file.
72423         * m4/sqrtl.m4: New file.
72424         * m4/tanl.m4: New file.
72425         * m4/mathl.m4: Remove file.
72426         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
72427         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
72428         Don't initialize GNULIB_MATHL.
72429         * modules/acosl: New file.
72430         * modules/asinl: New file.
72431         * modules/atanl: New file.
72432         * modules/cosl: New file.
72433         * modules/expl: New file.
72434         * modules/logl: New file.
72435         * modules/sinl: New file.
72436         * modules/sqrtl: New file.
72437         * modules/tanl: New file.
72438         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
72439         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
72440         substitute GNULIB_MATHL.
72441         * modules/mathl: Rewritten.
72442         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
72443         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
72444         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
72445         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
72446         * doc/posix-functions/expl.texi: Mention the 'expl' module.
72447         * doc/posix-functions/logl.texi: Mention the 'logl' module.
72448         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
72449         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
72450         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
72452 2010-01-18  Bruno Haible  <bruno@clisp.org>
72454         sqrt: Make gl_FUNC_SQRT requirable.
72455         * m4/sqrt.m4: New file.
72456         * modules/sqrt (Files): Add it.
72457         (configure.ac): Invoke gl_FUNC_SQRT.
72459 2010-01-18  Bruno Haible  <bruno@clisp.org>
72461         New modules for common <math.h> functions.
72462         * m4/mathfunc.m4: New file.
72463         * modules/acos: New file.
72464         * modules/asin: New file.
72465         * modules/atan: New file.
72466         * modules/atan2: New file.
72467         * modules/cbrt: New file.
72468         * modules/copysign: New file.
72469         * modules/cos: New file.
72470         * modules/cosh: New file.
72471         * modules/erf: New file.
72472         * modules/erfc: New file.
72473         * modules/exp: New file.
72474         * modules/fabs: New file.
72475         * modules/fmod: New file.
72476         * modules/hypot: New file.
72477         * modules/j0: New file.
72478         * modules/j1: New file.
72479         * modules/jn: New file.
72480         * modules/ldexp: New file.
72481         * modules/lgamma: New file.
72482         * modules/log: New file.
72483         * modules/log10: New file.
72484         * modules/log1p: New file.
72485         * modules/logb: New file.
72486         * modules/modf: New file.
72487         * modules/nextafter: New file.
72488         * modules/pow: New file.
72489         * modules/remainder: New file.
72490         * modules/rint: New file.
72491         * modules/sin: New file.
72492         * modules/sinh: New file.
72493         * modules/sqrt: New file.
72494         * modules/tan: New file.
72495         * modules/tanh: New file.
72496         * modules/y0: New file.
72497         * modules/y1: New file.
72498         * modules/yn: New file.
72499         * doc/posix-functions/acos.texi: Mention the 'acos' module.
72500         * doc/posix-functions/asin.texi: Mention the 'asin' module.
72501         * doc/posix-functions/atan.texi: Mention the 'atan' module.
72502         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
72503         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
72504         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
72505         * doc/posix-functions/cos.texi: Mention the 'cos' module.
72506         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
72507         * doc/posix-functions/erf.texi: Mention the 'erf' module.
72508         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
72509         * doc/posix-functions/exp.texi: Mention the 'exp' module.
72510         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
72511         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
72512         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
72513         * doc/posix-functions/j0.texi: Mention the 'j0' module.
72514         * doc/posix-functions/j1.texi: Mention the 'j1' module.
72515         * doc/posix-functions/jn.texi: Mention the 'jn' module.
72516         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
72517         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
72518         * doc/posix-functions/log.texi: Mention the 'log' module.
72519         * doc/posix-functions/log10.texi: Mention the 'log10' module.
72520         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
72521         * doc/posix-functions/logb.texi: Mention the 'logb' module.
72522         * doc/posix-functions/modf.texi: Mention the 'modf' module.
72523         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
72524         * doc/posix-functions/pow.texi: Mention the 'pow' module.
72525         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
72526         * doc/posix-functions/rint.texi: Mention the 'rint' module.
72527         * doc/posix-functions/sin.texi: Mention the 'sin' module.
72528         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
72529         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
72530         * doc/posix-functions/tan.texi: Mention the 'tan' module.
72531         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
72532         * doc/posix-functions/y0.texi: Mention the 'y0' module.
72533         * doc/posix-functions/y1.texi: Mention the 'y1' module.
72534         * doc/posix-functions/yn.texi: Mention the 'yn' module.
72536 2010-01-18  Jim Meyering  <meyering@redhat.com>
72538         ignore-value: relax license to LGPLv2+
72539         * modules/ignore-value (License): Relax to LGPLv2+.
72541         getdate: don't leak when TZ contains two or more '"'s
72542         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
72543         double quote in TZ after the first one.
72545         readtokens: do not leak internal token_lengths buffer
72546         * lib/readtokens.c (readtokens): Free the local, lengths,
72547         when the supplied "token_lengths" parameter is NULL.
72549 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72551         Fix a couple of missing LIBTHREAD link failures on AIX.
72552         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
72553         $(LIBTHREAD).
72554         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
72556         Link test-poll against INET_PTON_LIB.
72557         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
72558         for inet_pton on Solaris 10.
72560 2010-01-17  Bruno Haible  <bruno@clisp.org>
72562         unistdio/*-sprintf: Fix typo in module description.
72563         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
72564         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
72565         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
72566         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
72567         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
72568         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
72569         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
72570         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72572 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72574         gnulib-tool: fix filelist for AIX, HP-UX ksh.
72575         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
72576         variables in shell case patterns, for AIX and HP-UX ksh.
72578         Split large sed scripts, for HP-UX sed.
72579         * modules/stdio: Split sed scripts around 50 sed commands,
72580         to avoid HP-UX limit of 99 commands, in the near future.
72581         * modules/string: Likewise.
72582         * modules/unistd: Likewise.
72584         gnulib-tool: avoid writing in the current directory.
72585         * gnulib-tool (func_emit_lib_Makefile_am)
72586         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
72587         not in the current directory, so concurrent gnulib-tool
72588         instances do not interfere.
72590 2010-01-16  Jim Meyering  <meyering@redhat.com>
72592         doc: update users.txt
72593         * users.txt: Add grep.
72594         (diffutils, gzip): Update URLs.
72596 2010-01-12  Bruno Haible  <bruno@clisp.org>
72598         posix_spawn: Avoid test failure on Cygwin.
72599         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
72600         characters.
72601         Reported by Simon Josefsson.
72603 2010-01-12  Bruno Haible  <bruno@clisp.org>
72605         * tests/test-cond.c (main): When skipping the test, show the reason.
72607 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72609         * lib/striconv.c (str_cd_iconv): Avoid if before free.
72611 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72613         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
72614         VC_LIST_ALWAYS_EXCLUDE_REGEX.
72616 2010-01-12  Eric Blake  <ebb9@byu.net>
72618         build: guarantee AS_VAR_IF
72619         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
72620         (gl_AS_VAR_IF): Move...
72621         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
72622         Reported by Simon Josefsson.
72624 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72626         * lib/stdio.in.h: Fix typo.
72628 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72630         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
72631         libgpg-error.
72633 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72635         * tests/test-xalloc-die.sh: Use $EXEEXT.
72637 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72638             Bruno Haible  <bruno@clisp.org>
72640         getlogin, getlogin_r: Avoid test failure.
72641         * tests/test-getlogin.c: Include <stdio.h>.
72642         (main): Skip the test when the function fails because stdin is not a
72643         tty.
72644         * tests/test-getlogin_r.c: Include <stdio.h>.
72645         (main): Skip the test when the function fails because stdin is not a
72646         tty.
72648 2010-01-11  Eric Blake  <ebb9@byu.net>
72650         tests: avoid more large file warnings
72651         * tests/test-fflush.c: Avoid warning about ftell use.
72652         * tests/test-fseek.c: Avoid warning about fseek use.
72654 2010-01-10  Bruno Haible  <bruno@clisp.org>
72656         nproc: Work better on Linux when /proc and /sys are not mounted.
72657         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
72658         as lower bound when, on glibc/Linux systems,
72659         sysconf (_SC_NPROCESSORS_CONF) returns 1.
72660         Suggested by Pádraig Brady <P@draigbrady.com>.
72661         Reported by Dmitry V. Levin <ldv@altlinux.org>.
72663         nproc: Refactor.
72664         * lib/nproc.c (num_processors_via_affinity_mask): New function,
72665         extracted from num_processors.
72666         (num_processors): Call it.
72668 2010-01-11  Jim Meyering  <meyering@redhat.com>
72670         utimecmp: avoid new warning from upcoming gcc-4.5.0
72671         * lib/utimecmp.c (BILLION): Define using #define rather than an
72672         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
72674 2010-01-11  Eric Blake  <ebb9@byu.net>
72676         math: add portability warnings for classification macros
72677         * modules/math (Depends-on): Add warn-on-use.
72678         (Makefile.am): Provide new substitutions.
72679         * m4/math_h.m4 (gl_MATH_H): Require inline.
72680         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
72681         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
72682         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
72683         implement warnings.
72685         unistd: warn on use of environ without module
72686         * modules/unistd (Depends-on): Add warn-on-use.
72687         (Makefile.am): Provide new substitutions.
72688         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
72689         * lib/unistd.in.h (environ): Wrap with a warning helper function.
72691         stdio: warn on suspicious uses
72692         * modules/stdio (Depends-on): Add warn-on-use.
72693         (Makefile.am): Provide new substitutions.
72694         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
72695         fseeko.
72696         * lib/stdio.in.h (gets): Always warn on use.
72697         (fseek, ftell): Adjust when warnings are issued, and honor
72698         _GL_NO_LARGE_FILES as a way to silence the warning.
72699         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
72700         any warning about large file offsets.
72701         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
72702         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
72703         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
72704         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
72705         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
72706         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
72707         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
72708         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
72710         warn-on-use: new module
72711         * modules/warn-on-use: New file.
72712         * build-aux/warn-on-use.h: Likewise.
72713         * m4/warn-on-use.m4: Likewise.
72714         * MODULES.html.sh (Support for building): Mention it.
72716 2010-01-10  Bruno Haible  <bruno@clisp.org>
72718         Tests for module 'unistr/u32-strdup'.
72719         * modules/unistr/u32-strdup-tests: New file.
72720         * tests/unistr/test-u32-strdup.c: New file.
72722         Tests for module 'unistr/u16-strdup'.
72723         * modules/unistr/u16-strdup-tests: New file.
72724         * tests/unistr/test-u16-strdup.c: New file.
72726         Tests for module 'unistr/u8-strdup'.
72727         * modules/unistr/u8-strdup-tests: New file.
72728         * tests/unistr/test-u8-strdup.c: New file.
72729         * tests/unistr/test-strdup.h: New file.
72731         Tests for module 'unistr/u32-strncmp'.
72732         * modules/unistr/u32-strncmp-tests: New file.
72733         * tests/unistr/test-u32-strncmp.c: New file.
72735         Tests for module 'unistr/u16-strncmp'.
72736         * modules/unistr/u16-strncmp-tests: New file.
72737         * tests/unistr/test-u16-strncmp.c: New file.
72739         Tests for module 'unistr/u8-strncmp'.
72740         * modules/unistr/u8-strncmp-tests: New file.
72741         * tests/unistr/test-u8-strncmp.c: New file.
72742         * tests/unistr/test-strncmp.h: New file.
72744         Tests for module 'unistr/u32-strcoll'.
72745         * modules/unistr/u32-strcoll-tests: New file.
72746         * tests/unistr/test-u32-strcoll.c: New file.
72748         Tests for module 'unistr/u16-strcoll'.
72749         * modules/unistr/u16-strcoll-tests: New file.
72750         * tests/unistr/test-u16-strcoll.c: New file.
72752         Tests for module 'unistr/u8-strcoll'.
72753         * modules/unistr/u8-strcoll-tests: New file.
72754         * tests/unistr/test-u8-strcoll.c: New file.
72756         Tests for module 'unistr/u32-strcmp'.
72757         * modules/unistr/u32-strcmp-tests: New file.
72758         * tests/unistr/test-u32-strcmp.c: New file.
72759         * tests/unistr/test-u32-strcmp.h: New file.
72761         Tests for module 'unistr/u16-strcmp'.
72762         * modules/unistr/u16-strcmp-tests: New file.
72763         * tests/unistr/test-u16-strcmp.c: New file.
72764         * tests/unistr/test-u16-strcmp.h: New file.
72766         Tests for module 'unistr/u8-strcmp'.
72767         * modules/unistr/u8-strcmp-tests: New file.
72768         * tests/unistr/test-u8-strcmp.c: New file.
72769         * tests/unistr/test-u8-strcmp.h: New file.
72770         * tests/unistr/test-strcmp.h: New file.
72772         Tests for module 'unistr/u32-strncat'.
72773         * modules/unistr/u32-strncat-tests: New file.
72774         * tests/unistr/test-u32-strncat.c: New file.
72776         Tests for module 'unistr/u16-strncat'.
72777         * modules/unistr/u16-strncat-tests: New file.
72778         * tests/unistr/test-u16-strncat.c: New file.
72780         Tests for module 'unistr/u8-strncat'.
72781         * modules/unistr/u8-strncat-tests: New file.
72782         * tests/unistr/test-u8-strncat.c: New file.
72783         * tests/unistr/test-strncat.h: New file.
72785         Tests for module 'unistr/u32-strcat'.
72786         * modules/unistr/u32-strcat-tests: New file.
72787         * tests/unistr/test-u32-strcat.c: New file.
72789         Tests for module 'unistr/u16-strcat'.
72790         * modules/unistr/u16-strcat-tests: New file.
72791         * tests/unistr/test-u16-strcat.c: New file.
72793         Tests for module 'unistr/u8-strcat'.
72794         * modules/unistr/u8-strcat-tests: New file.
72795         * tests/unistr/test-u8-strcat.c: New file.
72796         * tests/unistr/test-strcat.h: New file.
72798         Tests for module 'unistr/u32-stpncpy'.
72799         * modules/unistr/u32-stpncpy-tests: New file.
72800         * tests/unistr/test-u32-stpncpy.c: New file.
72802         Tests for module 'unistr/u16-stpncpy'.
72803         * modules/unistr/u16-stpncpy-tests: New file.
72804         * tests/unistr/test-u16-stpncpy.c: New file.
72806         Tests for module 'unistr/u8-stpncpy'.
72807         * modules/unistr/u8-stpncpy-tests: New file.
72808         * tests/unistr/test-u8-stpncpy.c: New file.
72809         * tests/unistr/test-stpncpy.h: New file.
72811         Tests for module 'unistr/u32-strncpy'.
72812         * modules/unistr/u32-strncpy-tests: New file.
72813         * tests/unistr/test-u32-strncpy.c: New file.
72815         Tests for module 'unistr/u16-strncpy'.
72816         * modules/unistr/u16-strncpy-tests: New file.
72817         * tests/unistr/test-u16-strncpy.c: New file.
72819         Tests for module 'unistr/u8-strncpy'.
72820         * modules/unistr/u8-strncpy-tests: New file.
72821         * tests/unistr/test-u8-strncpy.c: New file.
72822         * tests/unistr/test-strncpy.h: New file.
72824         Tests for module 'unistr/u32-stpcpy'.
72825         * modules/unistr/u32-stpcpy-tests: New file.
72826         * tests/unistr/test-u32-stpcpy.c: New file.
72828         Tests for module 'unistr/u16-stpcpy'.
72829         * modules/unistr/u16-stpcpy-tests: New file.
72830         * tests/unistr/test-u16-stpcpy.c: New file.
72832         Tests for module 'unistr/u8-stpcpy'.
72833         * modules/unistr/u8-stpcpy-tests: New file.
72834         * tests/unistr/test-u8-stpcpy.c: New file.
72835         * tests/unistr/test-stpcpy.h: New file.
72837         Tests for module 'unistr/u32-strcpy'.
72838         * modules/unistr/u32-strcpy-tests: New file.
72839         * tests/unistr/test-u32-strcpy.c: New file.
72841         Tests for module 'unistr/u16-strcpy'.
72842         * modules/unistr/u16-strcpy-tests: New file.
72843         * tests/unistr/test-u16-strcpy.c: New file.
72845         Tests for module 'unistr/u8-strcpy'.
72846         * modules/unistr/u8-strcpy-tests: New file.
72847         * tests/unistr/test-u8-strcpy.c: New file.
72848         * tests/unistr/test-strcpy.h: New file.
72850         Tests for module 'unistr/u32-strnlen'.
72851         * modules/unistr/u32-strnlen-tests: New file.
72852         * tests/unistr/test-u32-strnlen.c: New file.
72854         Tests for module 'unistr/u16-strnlen'.
72855         * modules/unistr/u16-strnlen-tests: New file.
72856         * tests/unistr/test-u16-strnlen.c: New file.
72858         Tests for module 'unistr/u8-strnlen'.
72859         * modules/unistr/u8-strnlen-tests: New file.
72860         * tests/unistr/test-u8-strnlen.c: New file.
72861         * tests/unistr/test-strnlen.h: New file.
72863         Tests for module 'unistr/u32-strlen'.
72864         * modules/unistr/u32-strlen-tests: New file.
72865         * tests/unistr/test-u32-strlen.c: New file.
72867         Tests for module 'unistr/u16-strlen'.
72868         * modules/unistr/u16-strlen-tests: New file.
72869         * tests/unistr/test-u16-strlen.c: New file.
72871         Tests for module 'unistr/u8-strlen'.
72872         * modules/unistr/u8-strlen-tests: New file.
72873         * tests/unistr/test-u8-strlen.c: New file.
72875         Tests for module 'unistr/u32-prev'.
72876         * modules/unistr/u32-prev-tests: New file.
72877         * tests/unistr/test-u32-prev.c: New file.
72879         Tests for module 'unistr/u16-prev'.
72880         * modules/unistr/u16-prev-tests: New file.
72881         * tests/unistr/test-u16-prev.c: New file.
72883         Tests for module 'unistr/u8-prev'.
72884         * modules/unistr/u8-prev-tests: New file.
72885         * tests/unistr/test-u8-prev.c: New file.
72887         Tests for module 'unistr/u32-next'.
72888         * modules/unistr/u32-next-tests: New file.
72889         * tests/unistr/test-u32-next.c: New file.
72891         Tests for module 'unistr/u16-next'.
72892         * modules/unistr/u16-next-tests: New file.
72893         * tests/unistr/test-u16-next.c: New file.
72895         Tests for module 'unistr/u8-next'.
72896         * modules/unistr/u8-next-tests: New file.
72897         * tests/unistr/test-u8-next.c: New file.
72899         Tests for module 'unistr/u32-strmbtouc'.
72900         * modules/unistr/u32-strmbtouc-tests: New file.
72901         * tests/unistr/test-u32-strmbtouc.c: New file.
72903         Tests for module 'unistr/u16-strmbtouc'.
72904         * modules/unistr/u16-strmbtouc-tests: New file.
72905         * tests/unistr/test-u16-strmbtouc.c: New file.
72907         Tests for module 'unistr/u8-strmbtouc'.
72908         * modules/unistr/u8-strmbtouc-tests: New file.
72909         * tests/unistr/test-u8-strmbtouc.c: New file.
72911         Tests for module 'unistr/u32-strmblen'.
72912         * modules/unistr/u32-strmblen-tests: New file.
72913         * tests/unistr/test-u32-strmblen.c: New file.
72915         Tests for module 'unistr/u16-strmblen'.
72916         * modules/unistr/u16-strmblen-tests: New file.
72917         * tests/unistr/test-u16-strmblen.c: New file.
72919         Tests for module 'unistr/u8-strmblen'.
72920         * modules/unistr/u8-strmblen-tests: New file.
72921         * tests/unistr/test-u8-strmblen.c: New file.
72923         Tests for module 'unistr/u32-cpy-alloc'.
72924         * modules/unistr/u32-cpy-alloc-tests: New file.
72925         * tests/unistr/test-u32-cpy-alloc.c: New file.
72927         Tests for module 'unistr/u16-cpy-alloc'.
72928         * modules/unistr/u16-cpy-alloc-tests: New file.
72929         * tests/unistr/test-u16-cpy-alloc.c: New file.
72931         Tests for module 'unistr/u8-cpy-alloc'.
72932         * modules/unistr/u8-cpy-alloc-tests: New file.
72933         * tests/unistr/test-u8-cpy-alloc.c: New file.
72934         * tests/unistr/test-cpy-alloc.h: New file.
72936         Tests for module 'unistr/u32-mbsnlen'.
72937         * modules/unistr/u32-mbsnlen-tests: New file.
72938         * tests/unistr/test-u32-mbsnlen.c: New file.
72940         Tests for module 'unistr/u16-mbsnlen'.
72941         * modules/unistr/u16-mbsnlen-tests: New file.
72942         * tests/unistr/test-u16-mbsnlen.c: New file.
72944         Tests for module 'unistr/u8-mbsnlen'.
72945         * modules/unistr/u8-mbsnlen-tests: New file.
72946         * tests/unistr/test-u8-mbsnlen.c: New file.
72948         Tests for module 'unistr/u32-chr'.
72949         * modules/unistr/u32-chr-tests: New file.
72950         * tests/unistr/test-u32-chr.c: New file.
72952         Tests for module 'unistr/u16-chr'.
72953         * modules/unistr/u16-chr-tests: New file.
72954         * tests/unistr/test-u16-chr.c: New file.
72956         Tests for module 'unistr/u8-chr'.
72957         * modules/unistr/u8-chr-tests: New file.
72958         * tests/unistr/test-u8-chr.c: New file.
72959         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
72961         Tests for module 'unistr/u32-cmp2'.
72962         * modules/unistr/u32-cmp2-tests: New file.
72963         * tests/unistr/test-u32-cmp2.c: New file.
72965         Tests for module 'unistr/u16-cmp2'.
72966         * modules/unistr/u16-cmp2-tests: New file.
72967         * tests/unistr/test-u16-cmp2.c: New file.
72969         Tests for module 'unistr/u8-cmp2'.
72970         * modules/unistr/u8-cmp2-tests: New file.
72971         * tests/unistr/test-u8-cmp2.c: New file.
72972         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
72974         Tests for module 'unistr/u32-cmp'.
72975         * modules/unistr/u32-cmp-tests: New file.
72976         * tests/unistr/test-u32-cmp.c: New file.
72978         Tests for module 'unistr/u16-cmp'.
72979         * modules/unistr/u16-cmp-tests: New file.
72980         * tests/unistr/test-u16-cmp.c: New file.
72982         Tests for module 'unistr/u8-cmp'.
72983         * modules/unistr/u8-cmp-tests: New file.
72984         * tests/unistr/test-u8-cmp.c: New file.
72985         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
72987         Tests for module 'unistr/u32-set'.
72988         * modules/unistr/u32-set-tests: New file.
72989         * tests/unistr/test-u32-set.c: New file.
72991         Tests for module 'unistr/u16-set'.
72992         * modules/unistr/u16-set-tests: New file.
72993         * tests/unistr/test-u16-set.c: New file.
72995         Tests for module 'unistr/u8-set'.
72996         * modules/unistr/u8-set-tests: New file.
72997         * tests/unistr/test-u8-set.c: New file.
72998         * tests/unistr/test-set.h: New file.
73000         Tests for module 'unistr/u32-move'.
73001         * modules/unistr/u32-move-tests: New file.
73002         * tests/unistr/test-u32-move.c: New file.
73004         Tests for module 'unistr/u16-move'.
73005         * modules/unistr/u16-move-tests: New file.
73006         * tests/unistr/test-u16-move.c: New file.
73008         Tests for module 'unistr/u8-move'.
73009         * modules/unistr/u8-move-tests: New file.
73010         * tests/unistr/test-u8-move.c: New file.
73011         * tests/unistr/test-move.h: New file.
73013         Tests for module 'unistr/u32-cpy'.
73014         * modules/unistr/u32-cpy-tests: New file.
73015         * tests/unistr/test-u32-cpy.c: New file.
73017         Tests for module 'unistr/u16-cpy'.
73018         * modules/unistr/u16-cpy-tests: New file.
73019         * tests/unistr/test-u16-cpy.c: New file.
73021         Tests for module 'unistr/u8-cpy'.
73022         * modules/unistr/u8-cpy-tests: New file.
73023         * tests/unistr/test-u8-cpy.c: New file.
73024         * tests/unistr/test-cpy.h: New file.
73026 2010-01-09  Bruno Haible  <bruno@clisp.org>
73028         Tests for module 'unistr/u32-uctomb'.
73029         * modules/unistr/u32-uctomb-tests: New file.
73030         * tests/unistr/test-u32-uctomb.c: New file.
73032         Tests for module 'unistr/u16-uctomb'.
73033         * modules/unistr/u16-uctomb-tests: New file.
73034         * tests/unistr/test-u16-uctomb.c: New file.
73036         Tests for module 'unistr/u8-uctomb'.
73037         * modules/unistr/u8-uctomb-tests: New file.
73038         * tests/unistr/test-u8-uctomb.c: New file.
73040         Tests for module 'unistr/u32-mbtoucr'.
73041         * modules/unistr/u32-mbtoucr-tests: New file.
73042         * tests/unistr/test-u32-mbtoucr.c: New file.
73044         Tests for module 'unistr/u16-mbtoucr'.
73045         * modules/unistr/u16-mbtoucr-tests: New file.
73046         * tests/unistr/test-u16-mbtoucr.c: New file.
73048         Tests for module 'unistr/u8-mbtoucr'.
73049         * modules/unistr/u8-mbtoucr-tests: New file.
73050         * tests/unistr/test-u8-mbtoucr.c: New file.
73052         Tests for module 'unistr/u32-mbtouc'.
73053         * modules/unistr/u32-mbtouc-tests: New file.
73054         * tests/unistr/test-u32-mbtouc.c: New file.
73056         Tests for module 'unistr/u16-mbtouc'.
73057         * modules/unistr/u16-mbtouc-tests: New file.
73058         * tests/unistr/test-u16-mbtouc.c: New file.
73060         Tests for module 'unistr/u8-mbtouc'.
73061         * modules/unistr/u8-mbtouc-tests: New file.
73062         * tests/unistr/test-u8-mbtouc.c: New file.
73064         Tests for module 'unistr/u32-mbtouc-unsafe'.
73065         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
73066         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
73067         * tests/unistr/test-u32-mbtouc.h: New file.
73069         Tests for module 'unistr/u16-mbtouc-unsafe'.
73070         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
73071         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
73072         * tests/unistr/test-u16-mbtouc.h: New file.
73074         Tests for module 'unistr/u8-mbtouc-unsafe'.
73075         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
73076         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
73077         * tests/unistr/test-u8-mbtouc.h: New file.
73079         Tests for module 'unistr/u32-mblen'.
73080         * modules/unistr/u32-mblen-tests: New file.
73081         * tests/unistr/test-u32-mblen.c: New file.
73083         Tests for module 'unistr/u16-mblen'.
73084         * modules/unistr/u16-mblen-tests: New file.
73085         * tests/unistr/test-u16-mblen.c: New file.
73087         Tests for module 'unistr/u8-mblen'.
73088         * modules/unistr/u8-mblen-tests: New file.
73089         * tests/unistr/test-u8-mblen.c: New file.
73091         Tests for module 'unistr/u32-to-u16'.
73092         * modules/unistr/u32-to-u16-tests: New file.
73093         * tests/unistr/test-u32-to-u16.c: New file.
73095         Tests for module 'unistr/u32-to-u8'.
73096         * modules/unistr/u32-to-u8-tests: New file.
73097         * tests/unistr/test-u32-to-u8.c: New file.
73099         Tests for module 'unistr/u16-to-u32'.
73100         * modules/unistr/u16-to-u32-tests: New file.
73101         * tests/unistr/test-u16-to-u32.c: New file.
73103         Tests for module 'unistr/u16-to-u8'.
73104         * modules/unistr/u16-to-u8-tests: New file.
73105         * tests/unistr/test-u16-to-u8.c: New file.
73107         Tests for module 'unistr/u8-to-u32'.
73108         * modules/unistr/u8-to-u32-tests: New file.
73109         * tests/unistr/test-u8-to-u32.c: New file.
73111         Tests for module 'unistr/u8-to-u16'.
73112         * modules/unistr/u8-to-u16-tests: New file.
73113         * tests/unistr/test-u8-to-u16.c: New file.
73115         Tests for module 'unistr/u32-check'.
73116         * modules/unistr/u32-check-tests: New file.
73117         * tests/unistr/test-u32-check.c: New file.
73119         Tests for module 'unistr/u16-check'.
73120         * modules/unistr/u16-check-tests: New file.
73121         * tests/unistr/test-u16-check.c: New file.
73123         Tests for module 'unistr/u8-check'.
73124         * modules/unistr/u8-check-tests: New file.
73125         * tests/unistr/test-u8-check.c: New file.
73127         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
73128         (category_equals): New function.
73129         (main): Add more tests.
73130         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
73132         * tests/unictype/test-bidi_byname.c (main): Add more tests.
73134 2010-01-10  Bruno Haible  <bruno@clisp.org>
73136         unistr/u*-strcoll: Try harder to distinguish different strings.
73137         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
73138         compare s1 and s2 to see if they are different.
73140 2010-01-10  Bruno Haible  <bruno@clisp.org>
73142         unistr/u*-stpncpy: Fix the return value.
73143         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
73144         description of the return value consistent with stpncpy in glibc.
73145         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
73146         written non-NUL unit.
73148 2010-01-10  Bruno Haible  <bruno@clisp.org>
73150         unistr/u*-next: Add missing dependencies.
73151         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
73152         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
73153         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
73155 2010-01-10  Bruno Haible  <bruno@clisp.org>
73157         unistr/u8-mbsnlen: Fix return value for incomplete character.
73158         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
73159         u8_mblen.
73160         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
73161         Remove unistr/u8-mblen.
73162         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
73163         u16_mblen.
73164         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
73165         Remove unistr/u16-mblen.
73167 2010-01-10  Bruno Haible  <bruno@clisp.org>
73169         wchar: Fix compilation error when <wchar.h> is used from coreutils.
73170         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
73171         Reported by Brian Gough <bjg@gnu.org> and
73172         Chris Clayton <chris2553@googlemail.com> via
73173         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
73175 2010-01-09  Bruno Haible  <bruno@clisp.org>
73177         unistr/u16-to-u32: Reject invalid input.
73178         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
73179         u16_mbtouc.
73180         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
73181         Remove unistr/u16-mbtouc.
73183         unistr/u16-to-u8: Reject invalid input.
73184         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
73185         u16_mbtouc.
73186         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
73187         Remove unistr/u16-mbtouc.
73189         unistr/u8-to-u32: Reject invalid input.
73190         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
73191         u8_mbtouc.
73192         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
73193         Remove unistr/u8-mbtouc.
73195         unistr/u8-to-u16: Reject invalid input.
73196         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
73197         u8_mbtouc.
73198         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
73199         Remove unistr/u8-mbtouc.
73201 2010-01-09  Bruno Haible  <bruno@clisp.org>
73203         Tests for module 'getlogin'.
73204         * modules/getlogin-tests: New file.
73205         * tests/test-getlogin.c: New file.
73207         New module 'getlogin'.
73208         * lib/unistd.in.h (getlogin): New declaration.
73209         * lib/getlogin.c: New file.
73210         * m4/getlogin.m4: New file.
73211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
73212         HAVE_GETLOGIN.
73213         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
73214         HAVE_GETLOGIN.
73215         * modules/getlogin: New file.
73216         * doc/posix-functions/getlogin.texi: Mention the new module.
73217         Reported by John W. Eaton <jwe@gnu.org>.
73219 2010-01-09  Bruno Haible  <bruno@clisp.org>
73221         getlogin_r: Support for native Windows.
73222         * lib/getlogin_r.c: Include <windows.h>
73223         (getlogin_r): Implement for native Windows.
73224         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
73225         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
73226         via John W. Eaton <jwe@gnu.org>.
73228 2010-01-09  Bruno Haible  <bruno@clisp.org>
73230         getlogin_r: Small fixes.
73231         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
73232         succeeds.
73233         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
73234         before testing whether getlogin_r is declared. No need to set
73235         HAVE_DECL_GETLOGIN_R to 1.
73236         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
73238 2010-01-09  Bruno Haible  <bruno@clisp.org>
73240         * lib/unistd.in.h (getlogin_r): Add comment.
73242 2010-01-09  Bruno Haible  <bruno@clisp.org>
73244         Tests for module 'getlogin_r'.
73245         * modules/getlogin_r-tests: New file.
73246         * tests/test-getlogin_r.c: New file.
73248 2010-01-09  Jim Meyering  <meyering@redhat.com>
73250         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
73251         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
73252         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
73254 2010-01-08  Simon Josefsson  <simon@josefsson.org>
73256         * lib/dup2.c (rpl_dup2): Improve comment.
73258 2010-01-08  Eric Blake  <ebb9@byu.net>
73260         maint.mk: allow packages to add makefile @@ exceptions
73261         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
73262         (sc_makefile_check): Rename...
73263         (sc_makefile_at_at_check): ...to this, and use hook.
73265         dup2: work around mingw bug
73266         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
73267         Reported by Simon Josefsson.
73269 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
73271         glob: Fix C++ compilation.
73272         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
73273         C++.
73275 2010-01-07  Bruno Haible  <bruno@clisp.org>
73277         Fix indentation of wctype.in.h, broken since 2007-01-06.
73278         * lib/wctype.in.h: Fix indentation of preprocessor directives.
73280 2010-01-07  Bruno Haible  <bruno@clisp.org>
73282         mbslen: Avoid collision with system function.
73283         * lib/string.in.h [MirBSD]: Include <wchar.h>.
73284         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
73285         * m4/mbslen.m4: New file.
73286         * modules/mbslen (Files): Add it.
73287         (configure.ac): Invoke gl_MBSLEN.
73288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
73289         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
73290         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
73291         via Ian Beckwith <ianb@erislabs.net>.
73293 2010-01-07  Bruno Haible  <bruno@clisp.org>
73295         dirent: Document the last fix.
73296         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
73298 2010-01-07  Bruno Haible  <bruno@clisp.org>
73300         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
73301         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
73302         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
73303         va_list are defined.
73304         * doc/posix-headers/stdio.texi: Document the bug of missing types.
73305         Reported by Eric Blake.
73307 2010-01-07  Bruno Haible  <bruno@clisp.org>
73309         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
73310         * modules/xlist (Depends-on): Add 'list',
73311         * modules/xoset (Depends-on): Add 'oset'.
73312         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73314 2010-01-07  Bruno Haible  <bruno@clisp.org>
73316         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
73317         * doc/posix-functions/strncasecmp.texi: Likewise.
73319 2010-01-07  Bruno Haible  <bruno@clisp.org>
73321         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
73323 2010-01-07  John W. Eaton  <jwe@octave.org>
73325         wctype: allow C++ use
73326         * lib/wctype.in.h: Add extern "C" block for C++.
73328 2010-01-06  Eric Blake  <ebb9@byu.net>
73330         maint.mk: detect incorrect GFDL usage
73331         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
73333 2010-01-06  Jim Meyering  <meyering@redhat.com>
73334         and Eric Blake  <ebb9@byu.net>
73336         maint.mk: ignore multi-line copyright in NEWS
73337         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
73339 2010-01-06  Eric Blake  <ebb9@byu.net>
73341         select: add missing dependency
73342         * modules/select-tests (Depends-on): Move sockets dependency...
73343         * modules/select (Depends-on): ...here.
73344         Reported by Ian Beckwith.
73346         doc: regenerate INSTALL
73347         * doc/INSTALL: Reflect recent autoconf update.
73348         * doc/INSTALL.ISO: Likewise.
73349         * doc/INSTALL.UTF-8: Likewise.
73351         pread: fix compilation on glibc
73352         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
73353         Reported by Ralf Wildenhues.
73355         dirent: fix test failure
73356         * lib/dirent.in.h (includes): Guarantee ino_t.
73357         Reported by Ralf Wildenhues.
73359 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
73361         linkat, renameat: avoid bad free
73362         * lib/at-func2.c (at_func2): Fix typo.
73363         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
73365 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73367         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
73368         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
73369         to avoid failure of symlink test later.
73371 2010-01-06  Eric Blake  <ebb9@byu.net>
73373         stdio, unistd: guarantee ssize_t
73374         * lib/unistd.in.h (includes): Ensure that types required by POSIX
73375         2008 are exposed when needed.
73376         * lib/stdio.in.h (includes): Likewise.
73377         Reported by Ralf Wildenhues.
73379 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
73381         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
73382         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
73383         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
73385 2010-01-06  Jim Meyering  <meyering@redhat.com>
73387         readtokens: this module *does* require xalloc.h
73388         It uses only functions that were omitted by the old syntax-check rule.
73389         * lib/readtokens.c: Include "xalloc.h" once again.
73390         * modules/readtokens (Depends-on): Add xalloc.
73391         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
73393 2010-01-05  Eric Blake  <ebb9@byu.net>
73395         maint: support 'make announcement' from a VPATH build
73396         * top/maint.mk (announcement): Look for correct NEWS file.
73398 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
73400         utimens (fdutimens): ignore a negative FD, per contract
73401         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
73402         when we have a valid file descriptor.  Otherwise, using a brand
73403         new glibc (with just-patched futimens that now fails with EBADF)
73404         would cause this function to fail with ENOSYS.
73405         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
73406         See also http://bugzilla.redhat.com/552320.
73408 2010-01-05  Eric Blake  <ebb9@byu.net>
73410         strcase: document what it provides
73411         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
73412         gnulib module.
73413         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
73414         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
73416 2010-01-05  Jim Meyering  <meyering@redhat.com>
73418         maint: remove useless inclusions of "xalloc.h"
73419         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
73420         * lib/readtokens.c: Likewise.
73421         * lib/same.c: Likewise.
73422         * modules/getloadavg (Depends-on): Remove xalloc.
73423         * modules/readtokens: Likewise.
73424         * modules/same: Likewise.
73426         maint.mk: include 4 more function names in alloca.h-checking regexp
73427         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
73428         regexp.  Before, we would give a false-positive (saying alloca.h
73429         is included unnecessarily) when the only uses involved omitted symbols.
73431         xalloc.h: use consistent formatting
73432         * lib/xalloc.h: Move declarations to start in the first column.
73434 2010-01-05  Eric Blake  <ebb9@byu.net>
73436         mkdir: avoid xalloc
73437         * lib/mkdir.c (includes): Drop unused header.
73438         Reported by John W. Eaton.
73440 2010-01-04  Jim Meyering  <meyering@redhat.com>
73442         nl_langinfo: avoid configure-time syntax error
73443         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
73444         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
73445         the empty string.  Don't let that provoke a shell syntax error.
73447         regcomp, regexec, fnmatch: avoid array bounds read error
73448         * lib/regcomp.c (build_equiv_class): From glibc:
73449         Use only the low 24 bits of a findidx return value as an index
73450         into the weights array.  Patch by Ulrich Drepper:
73451         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
73452         * lib/regexec.c (check_node_accept_bytes): Likewise.
73453         * lib/fnmatch_loop.c (FCT): Likewise.
73455         regcomp: skip collseq lookup when there are no rules
73456         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
73457         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
73459         regcomp: recognize ill-formed { } expressions
73460         * lib/regcomp.c (parse_dup_op): From glibc:
73461         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
73463         regcomp: fix typo in comment
73464         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
73465         s/satisfy/satisfies/.
73467         regcomp: sync from glibc: remove dead store
73468         * lib/regcomp.c (duplicate_node_closure): Remove useless
73469         search_duplicated_node call and dead store.
73471         regcomp: sync from glibc; always use nl_langinfo
73472         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
73473         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
73474         * modules/regex (Depends-on): Add nl_langinfo.
73476 2010-01-04  Eric Blake  <ebb9@byu.net>
73478         fdopendir: fix configure test
73479         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
73481 2010-01-01  Bruno Haible  <bruno@clisp.org>
73483         wchar: Remove unused configure check.
73484         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
73486 2010-01-01  Eric Blake  <ebb9@byu.net>
73488         headers: make check of system header explicit
73489         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
73490         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
73491         ourselves.
73492         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73493         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73494         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
73495         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
73496         internals.
73497         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
73498         missing.
73499         Suggested by Bruno Haible.
73501 2010-01-01  Jim Meyering  <meyering@redhat.com>
73503         ChangeLog: tweak to eliminate unnecessary copyright line
73504         * ChangeLog: Remove a copyright line that was mistakenly updated
73505         by today's update-copyright run.  Reported by Eric Blake.
73507         test-update-copyright: don't let envvar setting cause test failure
73508         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
73510 2010-01-01  Bruno Haible  <bruno@clisp.org>
73512         localename: Avoid gcc warning.
73513         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
73514         function if it is not used.
73516 2010-01-01  Jim Meyering  <meyering@redhat.com>
73518         update nearly all FSF copyright year lists to include 2010
73519         Use the same procedure as for 2009, outlined in
73520         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
73522         version-etc: set COPYRIGHT_YEAR to 2010
73523         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
73525 2009-12-31  Eric Blake  <ebb9@byu.net>
73527         doc: correct availability of cygwin 1.5.x getopt
73528         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
73529         variables.
73530         * doc/posix-functions/opterr.texi (opterr): Likewise.
73531         * doc/posix-functions/optind.texi (optind): Likewise.
73532         * doc/posix-functions/optopt.texi (optopt): Likewise.
73533         * doc/posix-functions/tzname.texi (tzname): Likewise.
73535         openat: update maintainer
73536         * modules/openat (Maintainer): Add myself.
73538         utimens: avoid shadowing warning
73539         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
73540         buffers into one, to avoid shadowing, as well as avoiding a
73541         redundant stat.
73542         Reported by Jim Meyering.
73544         test-dup2: avoid compiler warning
73545         * tests/test-dup2.c (is_inheritable): Only define if used.
73547 2010-01-01  Bruno Haible  <bruno@clisp.org>
73549         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
73550         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
73551         defined, use wctomb instead of wcrtomb.
73553 2010-01-01  Bruno Haible  <bruno@clisp.org>
73555         iconv: Reject native Solaris iconv.
73556         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
73557         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
73559 2009-12-31  Bruno Haible  <bruno@clisp.org>
73561         * tests/test-signal.c (main): Remove test of 'SIG'.
73563 2009-12-31  Bruno Haible  <bruno@clisp.org>
73565         spawn: Fix incomplete fix.
73566         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
73567         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
73568         warnings for GNULIB_POSIXCHECK again.
73569         Reported by Eric Blake.
73571 2009-12-31  Bruno Haible  <bruno@clisp.org>
73573         Avoid namespace pollution on glibc systems.
73574         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
73575         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
73576         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
73577         glibc systems.
73579 2009-12-31  Bruno Haible  <bruno@clisp.org>
73581         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
73582         (gl_REPLACE_WCHAR_H): Turn into a no-op.
73583         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
73584         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
73585         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
73586         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
73587         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
73589 2009-12-31  Bruno Haible  <bruno@clisp.org>
73591         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
73592         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
73593         afterwards.
73595 2009-12-31  Bruno Haible  <bruno@clisp.org>
73597         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
73598         SYS_UTSNAME_H.
73600 2009-12-31  Bruno Haible  <bruno@clisp.org>
73602         spawn: Fix misapplied patch.
73603         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
73604         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
73605         warnings for GNULIB_POSIXCHECK.
73607 2009-12-31  Bruno Haible  <bruno@clisp.org>
73609         times: Update after sys_times changed.
73610         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
73611         * modules/times (Files): Add it.
73612         (configure.ac): Invoke gl_FUNC_TIMES.
73614 2009-12-31  Bruno Haible  <bruno@clisp.org>
73616         Use AC_C_INLINE where necessary.
73617         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
73618         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
73619         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73620         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
73621         * m4/mbfile.m4 (gl_MBFILE): Likewise.
73622         * m4/mbiter.m4 (gl_MBITER): Likewise.
73623         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73624         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
73625         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
73626         * modules/u64 (configure.ac): Likewise.
73628 2009-12-31  Bruno Haible  <bruno@clisp.org>
73630         Use AC_C_INLINE instead of module 'inline' where possible.
73631         * modules/inline (Description): Clarify purpose.
73632         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
73633         * modules/count-one-bits (Depends-on): Remove inline.
73634         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
73635         * modules/openat (Depends-on): Remove inline.
73636         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
73637         instead of depending on module 'inline'.
73638         * modules/filevercmp (Depends-on, configure.ac): Likewise.
73639         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
73640         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
73641         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
73642         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
73643         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
73644         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
73645         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
73646         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
73647         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
73648         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
73649         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
73650         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
73651         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
73652         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
73653         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
73654         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
73655         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
73656         Likewise.
73657         * modules/unictype/property-ascii-hex-digit (Depends-on,
73658         configure.ac): Likewise.
73659         * modules/unictype/property-bidi-arabic-digit (Depends-on,
73660         configure.ac): Likewise.
73661         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
73662         configure.ac): Likewise.
73663         * modules/unictype/property-bidi-block-separator (Depends-on,
73664         configure.ac): Likewise.
73665         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
73666         configure.ac): Likewise.
73667         * modules/unictype/property-bidi-common-separator (Depends-on,
73668         configure.ac): Likewise.
73669         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
73670         Likewise.
73671         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
73672         configure.ac): Likewise.
73673         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
73674         configure.ac): Likewise.
73675         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
73676         configure.ac): Likewise.
73677         * modules/unictype/property-bidi-european-digit (Depends-on,
73678         configure.ac): Likewise.
73679         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
73680         configure.ac): Likewise.
73681         * modules/unictype/property-bidi-left-to-right (Depends-on,
73682         configure.ac): Likewise.
73683         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
73684         configure.ac): Likewise.
73685         * modules/unictype/property-bidi-other-neutral (Depends-on,
73686         configure.ac): Likewise.
73687         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
73688         Likewise.
73689         * modules/unictype/property-bidi-segment-separator (Depends-on,
73690         configure.ac): Likewise.
73691         * modules/unictype/property-bidi-whitespace (Depends-on,
73692         configure.ac): Likewise.
73693         * modules/unictype/property-combining (Depends-on, configure.ac):
73694         Likewise.
73695         * modules/unictype/property-composite (Depends-on, configure.ac):
73696         Likewise.
73697         * modules/unictype/property-currency-symbol (Depends-on,
73698         configure.ac): Likewise.
73699         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
73700         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
73701         Likewise.
73702         * modules/unictype/property-default-ignorable-code-point (Depends-on,
73703         configure.ac): Likewise.
73704         * modules/unictype/property-deprecated (Depends-on, configure.ac):
73705         Likewise.
73706         * modules/unictype/property-diacritic (Depends-on, configure.ac):
73707         Likewise.
73708         * modules/unictype/property-extender (Depends-on, configure.ac):
73709         Likewise.
73710         * modules/unictype/property-format-control (Depends-on, configure.ac):
73711         Likewise.
73712         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
73713         Likewise.
73714         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
73715         Likewise.
73716         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
73717         Likewise.
73718         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
73719         Likewise.
73720         * modules/unictype/property-hyphen (Depends-on, configure.ac):
73721         Likewise.
73722         * modules/unictype/property-id-continue (Depends-on, configure.ac):
73723         Likewise.
73724         * modules/unictype/property-id-start (Depends-on, configure.ac):
73725         Likewise.
73726         * modules/unictype/property-ideographic (Depends-on, configure.ac):
73727         Likewise.
73728         * modules/unictype/property-ids-binary-operator (Depends-on,
73729         configure.ac): Likewise.
73730         * modules/unictype/property-ids-trinary-operator (Depends-on,
73731         configure.ac): Likewise.
73732         * modules/unictype/property-ignorable-control (Depends-on,
73733         configure.ac): Likewise.
73734         * modules/unictype/property-iso-control (Depends-on, configure.ac):
73735         Likewise.
73736         * modules/unictype/property-join-control (Depends-on, configure.ac):
73737         Likewise.
73738         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
73739         Likewise.
73740         * modules/unictype/property-line-separator (Depends-on, configure.ac):
73741         Likewise.
73742         * modules/unictype/property-logical-order-exception (Depends-on,
73743         configure.ac): Likewise.
73744         * modules/unictype/property-lowercase (Depends-on, configure.ac):
73745         Likewise.
73746         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
73747         * modules/unictype/property-non-break (Depends-on, configure.ac):
73748         Likewise.
73749         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
73750         Likewise.
73751         * modules/unictype/property-numeric (Depends-on, configure.ac):
73752         Likewise.
73753         * modules/unictype/property-other-alphabetic (Depends-on,
73754         configure.ac): Likewise.
73755         * modules/unictype/property-other-default-ignorable-code-point
73756         (Depends-on, configure.ac): Likewise.
73757         * modules/unictype/property-other-grapheme-extend (Depends-on,
73758         configure.ac): Likewise.
73759         * modules/unictype/property-other-id-continue (Depends-on,
73760         configure.ac): Likewise.
73761         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
73762         Likewise.
73763         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
73764         Likewise.
73765         * modules/unictype/property-other-math (Depends-on, configure.ac):
73766         Likewise.
73767         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
73768         Likewise.
73769         * modules/unictype/property-paired-punctuation (Depends-on,
73770         configure.ac): Likewise.
73771         * modules/unictype/property-paragraph-separator (Depends-on,
73772         configure.ac): Likewise.
73773         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
73774         Likewise.
73775         * modules/unictype/property-pattern-white-space (Depends-on,
73776         configure.ac): Likewise.
73777         * modules/unictype/property-private-use (Depends-on, configure.ac):
73778         Likewise.
73779         * modules/unictype/property-punctuation (Depends-on, configure.ac):
73780         Likewise.
73781         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
73782         Likewise.
73783         * modules/unictype/property-radical (Depends-on, configure.ac):
73784         Likewise.
73785         * modules/unictype/property-sentence-terminal (Depends-on,
73786         configure.ac): Likewise.
73787         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
73788         Likewise.
73789         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
73790         * modules/unictype/property-terminal-punctuation (Depends-on,
73791         configure.ac): Likewise.
73792         * modules/unictype/property-titlecase (Depends-on, configure.ac):
73793         Likewise.
73794         * modules/unictype/property-unassigned-code-value (Depends-on,
73795         configure.ac): Likewise.
73796         * modules/unictype/property-unified-ideograph (Depends-on,
73797         configure.ac): Likewise.
73798         * modules/unictype/property-uppercase (Depends-on, configure.ac):
73799         Likewise.
73800         * modules/unictype/property-variation-selector (Depends-on,
73801         configure.ac): Likewise.
73802         * modules/unictype/property-white-space (Depends-on, configure.ac):
73803         Likewise.
73804         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
73805         Likewise.
73806         * modules/unictype/property-xid-start (Depends-on, configure.ac):
73807         Likewise.
73808         * modules/unictype/property-zero-width (Depends-on, configure.ac):
73809         Likewise.
73810         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
73811         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
73812         Likewise.
73814 2009-12-31  Bruno Haible  <bruno@clisp.org>
73816         Remove unnecessary AC_C_INLINE invocation.
73817         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
73818         since 2009-08-21.
73820 2009-12-31  Jim Meyering  <meyering@redhat.com>
73822         maint.mk: don't require explicit gpg_key_ID in cfg.mk
73823         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
73824         With this change, we can all remove the gpg_key_ID = ... definition
73825         from our respective cfg.mk files.
73827         maint.mk: create announcement template in ~/, not in /tmp
73828         * top/maint.mk (emit_upload_commands): Adjust.
73829         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
73830         Remove temporary file, .ci-msg.
73832 2009-12-31  Eric Blake  <ebb9@byu.net>
73834         link-warning: always build headers with link warnings
73835         * modules/arpa_inet (Makefile.am): Always build replacement
73836         header.
73837         * modules/ctype (Makefile.am): Likewise.
73838         * modules/dirent (Makefile.am): Likewise.
73839         * modules/inttypes (Makefile.am): Likewise.
73840         * modules/langinfo (Makefile.am): Likewise.
73841         * modules/locale (Makefile.am): Likewise.
73842         * modules/spawn (Makefile.am): Likewise.
73843         * modules/sys_file (Makefile.am): Likewise.
73844         * modules/sys_ioctl (Makefile.am): Likewise.
73845         * modules/sys_select (Makefile.am): Likewise.
73846         * modules/sys_socket (Makefile.am): Likewise.
73847         * modules/sys_times (Makefile.am): Likewise.
73848         * modules/sys_utsname (Makefile.am): Likewise.
73849         * modules/sys_wait (Makefile.am): Likewise.
73850         * modules/wchar (Makefile.am): Likewise.
73851         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
73852         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
73853         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
73854         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
73855         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
73856         Likewise.
73857         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73858         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
73859         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
73860         Likewise.
73861         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
73862         Likewise.
73863         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
73864         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
73865         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
73866         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73867         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
73868         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
73869         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
73870         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
73871         (gl_WCHAR_H_DEFAULTS): Likewise.
73873 2009-12-31  Eric Blake  <ebb9@byu.net>
73875         signal, spawn: use link warnings
73876         * lib/signal.in.h (sigset_t): Make unconditional.
73877         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
73878         (sigpending, sigprocmask, sigaction): Add link warnings.
73879         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
73880         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
73881         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
73882         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
73883         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
73884         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
73885         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
73886         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
73887         (posix_spawn_file_actions_destroy)
73888         (posix_spawn_file_actions_addopen)
73889         (posix_spawn_file_actions_addclose)
73890         (posix_spawn_file_actions_adddup2): Likewise.
73891         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
73892         * tests/test-signal.c (main): Enhance test.
73894         spawn: improve wrapper support
73895         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
73896         (gl_SPAWN_H_DEFAULTS): New defaults.
73897         * modules/spawn (Makefile.am): Substitute them.
73898         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
73899         Only declare if missing or broken.
73901         sys_times, sys_utsname: use include_next
73902         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
73903         header.
73904         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
73905         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
73906         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
73907         * modules/sys_times (Depends-on): Add include_next.
73908         (Makefile.am): Substitute additional values.
73909         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
73910         * lib/sys_times.in.h (includes): Include native header, if
73911         available.
73912         * lib/sys_utsname.in.h (includes): Likewise.
73913         * tests/test-sys_times.c (main): Enhance test.
73915         fdutimensat: revert prior patch
73916         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
73917         utimens.h.
73918         Reported by Bruno Haible.
73920 2009-12-30  Eric Blake  <ebb9@byu.net>
73922         sys_wait: drop link-warning dependency
73923         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
73924         link-warning efforts.
73925         * lib/sys_wait.in.h: Likewise.
73927         fdutimensat: remove bogus dependency
73928         * modules/fdutimensat (Depends-on): Drop inline.
73930         unistd: fix typo
73931         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
73933 2009-12-30  Bruno Haible  <bruno@clisp.org>
73935         Fix compilation error with Solaris cc.
73936         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
73937         * lib/unicase/u16-is-invariant.c: Likewise.
73938         * lib/unicase/u32-is-invariant.c: Likewise.
73939         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73941 2009-12-30  Bruno Haible  <bruno@clisp.org>
73943         Fix test crash.
73944         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
73945         locales.
73946         Reported by Simon Josefsson <simon@josefsson.org>.
73948 2009-12-30  Bruno Haible  <bruno@clisp.org>
73950         Fix compilation error on most platforms.
73951         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
73952         Reported by Simon Josefsson <simon@josefsson.org>
73953         and Nelson H. F. Beebe <beebe@math.utah.edu>.
73955 2009-12-30  Eric Blake  <ebb9@byu.net>
73957         futimens, utimensat: work around ntfs-3g bug
73958         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
73959         a ctime bug is present, and expand workaround to cover ntfs-3g.
73960         * lib/utimens.c (fdutimens, lutimens): Likewise.
73961         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
73962         (validate_timespec): Adjust return value.
73963         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
73964         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
73965         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
73967 2009-12-29  Eric Blake  <ebb9@byu.net>
73969         link-warning: make usage consistent
73970         * modules/ctype (Depends-on): Add link-warning.
73971         (Makefile.am): Update rules accordingly.
73972         * modules/langinfo (Depends-on, Makefile.am): Likewise.
73973         * modules/locale (Depends-on, Makefile.am): Likewise.
73974         * modules/sys_file (Makefile.am): Likewise.
73975         * modules/getopt-posix (Makefile.am): Delete unused link warning
73976         efforts.
73977         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
73978         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
73979         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
73980         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
73982         stdio: remove unused variables
73983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
73984         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
73985         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
73987         tests: test more substitute headers
73988         * modules/ctype-tests: New file.
73989         * modules/dirent-tests: Likewise.
73990         * modules/spawn-tests: Likewise.
73991         * modules/sys_file-tests: Likewise.
73992         * modules/sys_ioctl-tests: Likewise.
73993         * modules/sys_wait-tests: Likewise.
73994         * tests/test-ctype.c: Likewise.
73995         * tests/test-dirent.c: Likewise.
73996         * tests/test-spawn.c: Likewise.
73997         * tests/test-sys_file.c: Likewise.
73998         * tests/test-sys_ioctl.c: Likewise.
73999         * tests/test-sys_wait.c: Likewise.
74000         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
74001         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
74002         whether or not flock is in use.
74004         tests: remove License section from module
74005         * modules/arpa_inet-tests: Remove unneeded section.
74006         * modules/byteswap-tests: Likewise.
74007         * modules/ceilf-tests: Likewise.
74008         * modules/ceill-tests: Likewise.
74009         * modules/crypto/des-tests: Likewise.
74010         * modules/crypto/gc-arcfour-tests: Likewise.
74011         * modules/crypto/gc-arctwo-tests: Likewise.
74012         * modules/crypto/gc-des-tests: Likewise.
74013         * modules/crypto/gc-hmac-md5-tests: Likewise.
74014         * modules/crypto/gc-hmac-sha1-tests: Likewise.
74015         * modules/crypto/gc-md2-tests: Likewise.
74016         * modules/crypto/gc-md4-tests: Likewise.
74017         * modules/crypto/gc-md5-tests: Likewise.
74018         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
74019         * modules/crypto/gc-rijndael-tests: Likewise.
74020         * modules/crypto/gc-sha1-tests: Likewise.
74021         * modules/crypto/gc-tests: Likewise.
74022         * modules/crypto/md2-tests: Likewise.
74023         * modules/crypto/md4-tests: Likewise.
74024         * modules/fcntl-h-tests: Likewise.
74025         * modules/floorf-tests: Likewise.
74026         * modules/floorl-tests: Likewise.
74027         * modules/frexp-nolibm-tests: Likewise.
74028         * modules/frexp-tests: Likewise.
74029         * modules/frexpl-nolibm-tests: Likewise.
74030         * modules/frexpl-tests: Likewise.
74031         * modules/getaddrinfo-tests: Likewise.
74032         * modules/inttypes-tests: Likewise.
74033         * modules/isfinite-tests: Likewise.
74034         * modules/isinf-tests: Likewise.
74035         * modules/ldexpl-tests: Likewise.
74036         * modules/locale-tests: Likewise.
74037         * modules/math-tests: Likewise.
74038         * modules/netdb-tests: Likewise.
74039         * modules/netinet_in-tests: Likewise.
74040         * modules/printf-frexp-tests: Likewise.
74041         * modules/printf-frexpl-tests: Likewise.
74042         * modules/priv-set-tests: Likewise.
74043         * modules/random_r-tests: Likewise.
74044         * modules/round-tests: Likewise.
74045         * modules/roundf-tests: Likewise.
74046         * modules/roundl-tests: Likewise.
74047         * modules/search-tests: Likewise.
74048         * modules/select-tests: Likewise.
74049         * modules/signal-tests: Likewise.
74050         * modules/stdbool-tests: Likewise.
74051         * modules/stddef-tests: Likewise.
74052         * modules/stdint-tests: Likewise.
74053         * modules/stdio-tests: Likewise.
74054         * modules/stdlib-tests: Likewise.
74055         * modules/string-tests: Likewise.
74056         * modules/strings-tests: Likewise.
74057         * modules/sys_select-tests: Likewise.
74058         * modules/sys_socket-tests: Likewise.
74059         * modules/sys_stat-tests: Likewise.
74060         * modules/sys_time-tests: Likewise.
74061         * modules/sys_utsname-tests: Likewise.
74062         * modules/sysexits-tests: Likewise.
74063         * modules/time-tests: Likewise.
74064         * modules/trunc-tests: Likewise.
74065         * modules/truncf-tests: Likewise.
74066         * modules/truncl-tests: Likewise.
74067         * modules/tsearch-tests: Likewise.
74068         * modules/unistd-tests: Likewise.
74069         * modules/wchar-tests: Likewise.
74070         * modules/wctype-tests: Likewise.
74072         tests: fix license on several tests
74073         * tests/test-des.c: Update to GPLv3+.
74074         * tests/test-flock.c: Likewise.
74075         * tests/test-fsync.c: Likewise.
74076         * tests/test-futimens.h: Likewise.
74077         * tests/test-gc-arcfour.c: Likewise.
74078         * tests/test-gc-arctwo.c: Likewise.
74079         * tests/test-gc-des.c: Likewise.
74080         * tests/test-gc-hmac-md5.c: Likewise.
74081         * tests/test-gc-hmac-sha1.c: Likewise.
74082         * tests/test-gc-md2.c: Likewise.
74083         * tests/test-gc-md4.c: Likewise.
74084         * tests/test-gc-md5.c: Likewise.
74085         * tests/test-gc-pbkdf2-sha1.c: Likewise.
74086         * tests/test-gc-rijndael.c: Likewise.
74087         * tests/test-gc-sha1.c: Likewise.
74088         * tests/test-gc.c: Likewise.
74089         * tests/test-getcwd.c: Likewise.
74090         * tests/test-link.c: Likewise.
74091         * tests/test-link.h: Likewise.
74092         * tests/test-lutimens.h: Likewise.
74093         * tests/test-md2.c: Likewise.
74094         * tests/test-md4.c: Likewise.
74095         * tests/test-mkdir.h: Likewise.
74096         * tests/test-rename.c: Likewise.
74097         * tests/test-rename.h: Likewise.
74098         * tests/test-safe-alloc.c: Likewise.
74099         * tests/test-utimens-common.h: Likewise.
74100         * tests/test-utimens.h: Likewise.
74102         maint: sync license texts
74103         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
74104         * doc/gpl-3.0.texi: Revert copyright year update.
74105         * doc/lgpl-3.0.texi: Likewise.
74107 2009-12-29  Jim Meyering  <meyering@redhat.com>
74109         update nearly all FSF copyright year lists to include 2009
74110         The files named by the following are exempted:
74111             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
74112               test -f "$dst" && { echo "$dst"; continue; }
74113               test -d "$dst" || continue
74114               echo "$dst"/$(basename "$src")
74115             done > exempt
74116             git ls-files tests/unictype >> exempt
74117         In the remaining files, convert to all-interval notation if
74118         - there is already at least one year interval like 2000-2003
74119         - the file is maintained by me
74120         - the file is in lib/uni*/, where that style already prevails
74121         Otherwise, use update-copyright's default.
74123 2009-12-29  Simon Josefsson  <simon@josefsson.org>
74124         and Eric Blake  <ebb9@byu.net>
74126         tests: don't require debug system() to pass
74127         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
74128         * tests/test-rmdir.h (test_rmdir_func): Likewise.
74129         * tests/test-unlink.h (test_unlink_func): Likewise.
74130         * tests/test-fstatat.c (main): ...into callers.
74131         * tests/test-lstat.c (main): Likewise.
74132         * tests/test-rmdir.c (main): Likewise.
74133         * tests/test-unlink.c (main): Likewise.
74134         * tests/test-unlinkat.c (main): Likewise.
74135         * tests/test-areadlink-with-size.c (main): Don't require a
74136         debug-only system call to pass, aiding cross-testing to mingw.
74137         * tests/test-areadlink.c (main): Likewise.
74138         * tests/test-areadlinkat-with-size.c (main): Likewise.
74139         * tests/test-areadlinkat.c (main): Likewise.
74140         * tests/test-canonicalize-lgpl.c (main): Likewise.
74141         * tests/test-canonicalize.c (main): Likewise.
74142         * tests/test-chown.c (main): Likewise.
74143         * tests/test-fchownat.c (main): Likewise.
74144         * tests/test-lchown.c (main): Likewise.
74145         * tests/test-fdutimensat.c (main): Likewise.
74146         * tests/test-futimens.c (main): Likewise.
74147         * tests/test-link.c (main): Likewise.
74148         * tests/test-linkat.c (main): Likewise.
74149         * tests/test-mkdir.c (main): Likewise.
74150         * tests/test-mkdirat.c (main): Likewise.
74151         * tests/test-mkfifo.c (main): Likewise.
74152         * tests/test-mkfifoat.c (main): Likewise.
74153         * tests/test-mknod.c (main): Likewise.
74154         * tests/test-readlink.c (main): Likewise.
74155         * tests/test-remove.c (main): Likewise.
74156         * tests/test-rename.c (main): Likewise.
74157         * tests/test-renameat.c (main): Likewise.
74158         * tests/test-symlink.c (main): Likewise.
74159         * tests/test-symlinkat.c (main): Likewise.
74160         * tests/test-utimens.c (main): Likewise.
74161         * tests/test-utimensat.c (main): Likewise.
74163 2009-12-29  Simon Josefsson  <simon@josefsson.org>
74165         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
74166         on $(UNUSED_PARAMETER_H) to avoid build failure.
74168 2009-12-28  Jim Meyering  <meyering@redhat.com>
74170         update-copyright: you may specify a max. line length other than 72
74171         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74173         maint: use consistent FSF copyright line syntax
74174         * lib/posixtm.c: Add missing comma in FSF copyright line.
74175         * lib/posixtm.h: Likewise.
74176         * lib/getugroups.c: Add missing ", Inc.".
74178         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
74179         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
74180         FSF copyright line.  Remove trailing blanks.
74182 2009-12-28  Eric Blake  <ebb9@byu.net>
74184         test-dup2: reduce dependencies
74185         * modules/cloexec (Configure.ac): Set witness.
74186         * modules/dup2-tests (Depends-on): Drop cloexec.
74187         * tests/test-dup2.c (main): Skip portion of test if cloexec module
74188         not present.
74189         Suggested by Bruno Haible.
74191 2009-12-26  Bruno Haible  <bruno@clisp.org>
74193         Remove an unneeded dependency.
74194         * modules/fseterr (Depends-on): Remove dup2.
74196 2009-12-26  Eric Blake  <ebb9@byu.net>
74198         tests: use macros.h in more places
74199         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
74200         (ASSERT_STREAM): Provide default of stderr.
74201         * tests/test-dirent-safer.c: Include macros.h, using alternate
74202         stream for assertions.
74203         * tests/test-dup-safer.c: Likewise.
74204         * tests/test-freopen-safer.c: Likewise.
74205         * tests/test-getopt.c: Likewise.
74206         * tests/test-openat-safer.c: Likewise.
74207         * tests/test-pipe.c: Likewise.
74208         * tests/test-popen-safer.c: Likewise.
74209         * modules/dirent-safer-tests (Files): Include macros.h.
74210         * modules/unistd-safer-tests (Files): Likewise.
74211         * modules/freopen-safer-tests (Files): Likewise.
74212         * modules/getopt-posix-tests (Files): Likewise.
74213         * modules/openat-safer-tests (Files): Likewise.
74214         * modules/pipe-tests (Files): Likewise.
74216 2009-12-26  Bruno Haible  <bruno@clisp.org>
74218         javacomp-script: Portability fix.
74219         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
74220         that it also works on Solaris.
74222 2009-12-26  Bruno Haible  <bruno@clisp.org>
74224         localename: Fix storage allocation of gl_locale_name_thread's result.
74225         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
74226         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
74227         all platforms that have 'uselocale'.
74228         (gl_locale_name_thread_unsafe): New function, extracted from
74229         gl_locale_name_thread.
74230         (gl_locale_name_thread): Call struniq on all platforms that have
74231         'uselocale'.
74232         * tests/test-localename.c (test_locale_name_thread): Check that the
74233         resulting strings are permanently allocated.
74234         * modules/localename-tests (Depends-on): Add strdup.
74236 2009-12-26  Bruno Haible  <bruno@clisp.org>
74238         * tests/test-localename.c (categories): Fill in the strings.
74240 2009-12-26  Jim Meyering  <meyering@redhat.com>
74242         isdir: complete the removal of m4/isdir.m4
74243         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
74245         isdir: clean up, since at least grep still uses it
74246         * lib/isdir.c: Include "isdir.h".
74247         (S_ISDIR): Remove now-unneeded definition.
74248         * modules/isdir (Files): Add lib/isdir.h.
74249         * lib/isdir.h: New file, with declaration.
74250         * m4/isdir.m4: Remove file -- unneeded.
74252 2009-12-25  Bruno Haible  <bruno@clisp.org>
74254         selinux-h: Make generated .h files standalone.
74255         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
74256         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
74257         * lib/se-selinux.in.h: Likewise.
74258         * modules/selinux-h (Depends-on): Add unused-parameter.
74259         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
74260         selinux/selinux.h and selinux/context.h.
74261         Suggested by Eric Blake.
74263 2009-12-25  Bruno Haible  <bruno@clisp.org>
74265         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
74266         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
74267         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
74268         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
74269         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
74271 2009-12-24  Bruno Haible  <bruno@clisp.org>
74273         openat: Fix warning.
74274         * lib/openat-proc.c: Include <unistd.h>.
74276 2009-12-24  Bruno Haible  <bruno@clisp.org>
74278         New module 'unused-parameter'.
74279         * build-aux/unused-parameter.h: New file, extracted from earlier
74280         gnulib-common.m4.
74281         * modules/unused-parameter: New file.
74282         * lib/unistr.h: Include unused-parameter.h.
74283         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
74284         _GL_UNUSED.
74285         * modules/unistr/base (Depends-on): Add unused-parameter.
74287 2009-12-24  Bruno Haible  <bruno@clisp.org>
74289         Add missing dependencies to 'extensions' module.
74290         * m4/extensions.m4: Add comment.
74291         * modules/accept4 (Depends-on): Add extensions.
74292         * modules/dup3 (Depends-on): Likewise.
74293         * modules/fcntl (Depends-on): Likewise.
74294         * modules/futimens (Depends-on): Likewise.
74295         * modules/mknod (Depends-on): Likewise.
74296         * modules/pipe2 (Depends-on): Likewise.
74297         * modules/stat-time (Depends-on): Likewise.
74298         * modules/strcasestr-simple (Depends-on): Likewise.
74299         * modules/strsignal (Depends-on): Likewise.
74300         * modules/utimensat (Depends-on): Likewise.
74301         * modules/localcharset (Depends-on): Likewise. Needed because of
74302         gl_FCNTL_O_FLAGS.
74303         * modules/wcrtomb (Depends-on): Likewise. Needed because of
74304         AC_TYPE_MBSTATE_T.
74305         * modules/wcsnrtombs (Depends-on): Likewise.
74306         * modules/wcsrtombs (Depends-on): Likewise.
74308 2009-12-24  Bruno Haible  <bruno@clisp.org>
74310         binary-io: Avoid gcc warning due to SET_BINARY.
74311         * lib/binary-io.h (SET_BINARY): Cast the result to void.
74312         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
74314 2009-12-24  Bruno Haible  <bruno@clisp.org>
74316         Avoid future namespace pollution on glibc systems.
74317         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
74318         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
74319         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
74320         glibc systems.
74322 2009-12-24  Bruno Haible  <bruno@clisp.org>
74324         Refactor common macros used in tests.
74325         * tests/macros.h: New file.
74326         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
74327         and/or <stdlib.h>, if appropriate.
74328         (ASSERT, SIZEOF): Remove macros.
74329         * tests/test-areadlink-with-size.c: Likewise.
74330         * tests/test-areadlinkat.c: Likewise.
74331         * tests/test-areadlinkat-with-size.c: Likewise.
74332         * tests/test-argmatch.c: Likewise.
74333         * tests/test-argv-iter.c: Likewise.
74334         * tests/test-array-mergesort.c: Likewise.
74335         * tests/test-array_list.c: Likewise.
74336         * tests/test-array_oset.c: Likewise.
74337         * tests/test-avltree_list.c: Likewise.
74338         * tests/test-avltree_oset.c: Likewise.
74339         * tests/test-avltreehash_list.c: Likewise.
74340         * tests/test-base64.c: Likewise.
74341         * tests/test-binary-io.c: Likewise.
74342         * tests/test-bitrotate.c: Likewise.
74343         * tests/test-btowc.c: Likewise.
74344         * tests/test-byteswap.c: Likewise.
74345         * tests/test-c-ctype.c: Likewise.
74346         * tests/test-c-stack.c: Likewise.
74347         * tests/test-c-strcasecmp.c: Likewise.
74348         * tests/test-c-strcasestr.c: Likewise.
74349         * tests/test-c-strncasecmp.c: Likewise.
74350         * tests/test-c-strstr.c: Likewise.
74351         * tests/test-canonicalize-lgpl.c: Likewise.
74352         * tests/test-canonicalize.c: Likewise.
74353         * tests/test-carray_list.c: Likewise.
74354         * tests/test-ceilf1.c: Likewise.
74355         * tests/test-ceilf2.c: Likewise.
74356         * tests/test-ceill.c: Likewise.
74357         * tests/test-chown.c: Likewise.
74358         * tests/test-cloexec.c: Likewise.
74359         * tests/test-copy-acl.c: Likewise.
74360         * tests/test-copy-file.c: Likewise.
74361         * tests/test-count-one-bits.c: Likewise.
74362         * tests/test-dprintf-posix.c: Likewise.
74363         * tests/test-dup2.c: Likewise.
74364         * tests/test-dup3.c: Likewise.
74365         * tests/test-duplocale.c: Likewise.
74366         * tests/test-fbufmode.c: Likewise.
74367         * tests/test-fchdir.c: Likewise.
74368         * tests/test-fchownat.c: Likewise.
74369         * tests/test-fcntl-safer.c: Likewise.
74370         * tests/test-fcntl.c: Likewise.
74371         * tests/test-fdopendir.c: Likewise.
74372         * tests/test-fdutimensat.c: Likewise.
74373         * tests/test-fflush2.c: Likewise.
74374         * tests/test-file-has-acl.c: Likewise.
74375         * tests/test-filevercmp.c: Likewise.
74376         * tests/test-flock.c: Likewise.
74377         * tests/test-floorf1.c: Likewise.
74378         * tests/test-floorf2.c: Likewise.
74379         * tests/test-floorl.c: Likewise.
74380         * tests/test-fnmatch.c: Likewise.
74381         * tests/test-fopen.h: Likewise.
74382         * tests/test-fpending.c: Likewise.
74383         * tests/test-fprintf-posix.c: Likewise.
74384         * tests/test-fpurge.c: Likewise.
74385         * tests/test-freadable.c: Likewise.
74386         * tests/test-freadahead.c: Likewise.
74387         * tests/test-freading.c: Likewise.
74388         * tests/test-freadptr.c: Likewise.
74389         * tests/test-freadptr2.c: Likewise.
74390         * tests/test-freadseek.c: Likewise.
74391         * tests/test-freopen.c: Likewise.
74392         * tests/test-frexp.c: Likewise.
74393         * tests/test-frexpl.c: Likewise.
74394         * tests/test-fseek.c: Likewise.
74395         * tests/test-fseeko.c: Likewise.
74396         * tests/test-fstatat.c: Likewise.
74397         * tests/test-fstrcmp.c: Likewise.
74398         * tests/test-fsync.c: Likewise.
74399         * tests/test-ftell.c: Likewise.
74400         * tests/test-ftello.c: Likewise.
74401         * tests/test-func.c: Likewise.
74402         * tests/test-futimens.c: Likewise.
74403         * tests/test-fwritable.c: Likewise.
74404         * tests/test-fwriting.c: Likewise.
74405         * tests/test-getcwd.c: Likewise.
74406         * tests/test-getdate.c: Likewise.
74407         * tests/test-getdelim.c: Likewise.
74408         * tests/test-getdtablesize.c: Likewise.
74409         * tests/test-getgroups.c: Likewise.
74410         * tests/test-getline.c: Likewise.
74411         * tests/test-getndelim2.c: Likewise.
74412         * tests/test-glob.c: Likewise.
74413         * tests/test-hash.c: Likewise.
74414         * tests/test-i-ring.c: Likewise.
74415         * tests/test-iconv-utf.c: Likewise.
74416         * tests/test-iconv.c: Likewise.
74417         * tests/test-idpriv-drop.c: Likewise.
74418         * tests/test-idpriv-droptemp.c: Likewise.
74419         * tests/test-inet_ntop.c: Likewise.
74420         * tests/test-inet_pton.c: Likewise.
74421         * tests/test-isblank.c: Likewise.
74422         * tests/test-isfinite.c: Likewise.
74423         * tests/test-isinf.c: Likewise.
74424         * tests/test-isnan.c: Likewise.
74425         * tests/test-isnand.h: Likewise.
74426         * tests/test-isnanf.h: Likewise.
74427         * tests/test-isnanl.h: Likewise.
74428         * tests/test-lchown.c: Likewise.
74429         * tests/test-ldexpl.c: Likewise.
74430         * tests/test-link.c: Likewise.
74431         * tests/test-linkat.c: Likewise.
74432         * tests/test-linked_list.c: Likewise.
74433         * tests/test-linkedhash_list.c: Likewise.
74434         * tests/test-localename.c: Likewise.
74435         * tests/test-lseek.c: Likewise.
74436         * tests/test-lstat.c: Likewise.
74437         * tests/test-mbmemcasecmp.c: Likewise.
74438         * tests/test-mbmemcasecoll.c: Likewise.
74439         * tests/test-mbrtowc.c: Likewise.
74440         * tests/test-mbscasecmp.c: Likewise.
74441         * tests/test-mbscasestr1.c: Likewise.
74442         * tests/test-mbscasestr2.c: Likewise.
74443         * tests/test-mbscasestr3.c: Likewise.
74444         * tests/test-mbscasestr4.c: Likewise.
74445         * tests/test-mbschr.c: Likewise.
74446         * tests/test-mbscspn.c: Likewise.
74447         * tests/test-mbsinit.c: Likewise.
74448         * tests/test-mbsncasecmp.c: Likewise.
74449         * tests/test-mbsnrtowcs.c: Likewise.
74450         * tests/test-mbspbrk.c: Likewise.
74451         * tests/test-mbspcasecmp.c: Likewise.
74452         * tests/test-mbsrchr.c: Likewise.
74453         * tests/test-mbsrtowcs.c: Likewise.
74454         * tests/test-mbsspn.c: Likewise.
74455         * tests/test-mbsstr1.c: Likewise.
74456         * tests/test-mbsstr2.c: Likewise.
74457         * tests/test-mbsstr3.c: Likewise.
74458         * tests/test-memchr.c: Likewise.
74459         * tests/test-memchr2.c: Likewise.
74460         * tests/test-memcmp.c: Likewise.
74461         * tests/test-memmem.c: Likewise.
74462         * tests/test-memrchr.c: Likewise.
74463         * tests/test-mkdir.c: Likewise.
74464         * tests/test-mkdirat.c: Likewise.
74465         * tests/test-mkfifo.c: Likewise.
74466         * tests/test-mkfifoat.c: Likewise.
74467         * tests/test-mknod.c: Likewise.
74468         * tests/test-nanosleep.c: Likewise.
74469         * tests/test-nl_langinfo.c: Likewise.
74470         * tests/test-obstack-printf.c: Likewise.
74471         * tests/test-open.c: Likewise.
74472         * tests/test-openat.c: Likewise.
74473         * tests/test-pipe-filter-gi1.c: Likewise.
74474         * tests/test-pipe-filter-gi2-main.c: Likewise.
74475         * tests/test-pipe-filter-ii1.c: Likewise.
74476         * tests/test-pipe-filter-ii2-main.c: Likewise.
74477         * tests/test-pipe2.c: Likewise.
74478         * tests/test-popen.h: Likewise.
74479         * tests/test-posixtm.c: Likewise.
74480         * tests/test-pread.c: Likewise.
74481         * tests/test-printf-frexp.c: Likewise.
74482         * tests/test-printf-frexpl.c: Likewise.
74483         * tests/test-printf-posix.c: Likewise.
74484         * tests/test-priv-set.c: Likewise.
74485         * tests/test-quotearg.c: Likewise.
74486         * tests/test-random_r.c: Likewise.
74487         * tests/test-rawmemchr.c: Likewise.
74488         * tests/test-rbtree_list.c: Likewise.
74489         * tests/test-rbtree_oset.c: Likewise.
74490         * tests/test-rbtreehash_list.c: Likewise.
74491         * tests/test-readlink.c: Likewise.
74492         * tests/test-remove.c: Likewise.
74493         * tests/test-rename.c: Likewise.
74494         * tests/test-renameat.c: Likewise.
74495         * tests/test-rmdir.c: Likewise.
74496         * tests/test-round1.c: Likewise.
74497         * tests/test-roundf1.c: Likewise.
74498         * tests/test-roundl.c: Likewise.
74499         * tests/test-safe-alloc.c: Likewise.
74500         * tests/test-sameacls.c: Likewise.
74501         * tests/test-set-mode-acl.c: Likewise.
74502         * tests/test-setenv.c: Likewise.
74503         * tests/test-sigaction.c: Likewise.
74504         * tests/test-signbit.c: Likewise.
74505         * tests/test-sleep.c: Likewise.
74506         * tests/test-snprintf-posix.c: Likewise.
74507         * tests/test-snprintf.c: Likewise.
74508         * tests/test-sprintf-posix.c: Likewise.
74509         * tests/test-stat-time.c: Likewise.
74510         * tests/test-stat.c: Likewise.
74511         * tests/test-strcasestr.c: Likewise.
74512         * tests/test-strchrnul.c: Likewise.
74513         * tests/test-strerror.c: Likewise.
74514         * tests/test-striconv.c: Likewise.
74515         * tests/test-striconveh.c: Likewise.
74516         * tests/test-striconveha.c: Likewise.
74517         * tests/test-strsignal.c: Likewise.
74518         * tests/test-strstr.c: Likewise.
74519         * tests/test-strtod.c: Likewise.
74520         * tests/test-strverscmp.c: Likewise.
74521         * tests/test-symlink.c: Likewise.
74522         * tests/test-symlinkat.c: Likewise.
74523         * tests/test-trunc1.c: Likewise.
74524         * tests/test-trunc2.c: Likewise.
74525         * tests/test-truncf1.c: Likewise.
74526         * tests/test-truncf2.c: Likewise.
74527         * tests/test-truncl.c: Likewise.
74528         * tests/test-uname.c: Likewise.
74529         * tests/test-unlink.c: Likewise.
74530         * tests/test-unlinkat.c: Likewise.
74531         * tests/test-unsetenv.c: Likewise.
74532         * tests/test-usleep.c: Likewise.
74533         * tests/test-utimens.c: Likewise.
74534         * tests/test-utimensat.c: Likewise.
74535         * tests/test-vasnprintf-posix.c: Likewise.
74536         * tests/test-vasnprintf-posix2.c: Likewise.
74537         * tests/test-vasnprintf.c: Likewise.
74538         * tests/test-vasprintf-posix.c: Likewise.
74539         * tests/test-vasprintf.c: Likewise.
74540         * tests/test-vdprintf-posix.c: Likewise.
74541         * tests/test-vfprintf-posix.c: Likewise.
74542         * tests/test-vprintf-posix.c: Likewise.
74543         * tests/test-vsnprintf-posix.c: Likewise.
74544         * tests/test-vsnprintf.c: Likewise.
74545         * tests/test-vsprintf-posix.c: Likewise.
74546         * tests/test-wcrtomb.c: Likewise.
74547         * tests/test-wcsnrtombs.c: Likewise.
74548         * tests/test-wcsrtombs.c: Likewise.
74549         * tests/test-wctype.c: Likewise.
74550         * tests/test-wcwidth.c: Likewise.
74551         * tests/test-xfprintf-posix.c: Likewise.
74552         * tests/test-xmemdup0.c: Likewise.
74553         * tests/test-xprintf-posix.c: Likewise.
74554         * tests/test-xvasprintf.c: Likewise.
74555         * tests/unicase/test-locale-language.c: Likewise.
74556         * tests/unicase/test-mapping-part1.h: Likewise.
74557         * tests/unicase/test-predicate-part1.h: Likewise.
74558         * tests/unicase/test-u8-casecmp.c: Likewise.
74559         * tests/unicase/test-u8-casecoll.c: Likewise.
74560         * tests/unicase/test-u8-casefold.c: Likewise.
74561         * tests/unicase/test-u8-is-cased.c: Likewise.
74562         * tests/unicase/test-u8-is-casefolded.c: Likewise.
74563         * tests/unicase/test-u8-is-lowercase.c: Likewise.
74564         * tests/unicase/test-u8-is-titlecase.c: Likewise.
74565         * tests/unicase/test-u8-is-uppercase.c: Likewise.
74566         * tests/unicase/test-u8-tolower.c: Likewise.
74567         * tests/unicase/test-u8-totitle.c: Likewise.
74568         * tests/unicase/test-u8-toupper.c: Likewise.
74569         * tests/unicase/test-u16-casecmp.c: Likewise.
74570         * tests/unicase/test-u16-casecoll.c: Likewise.
74571         * tests/unicase/test-u16-casefold.c: Likewise.
74572         * tests/unicase/test-u16-is-cased.c: Likewise.
74573         * tests/unicase/test-u16-is-casefolded.c: Likewise.
74574         * tests/unicase/test-u16-is-lowercase.c: Likewise.
74575         * tests/unicase/test-u16-is-titlecase.c: Likewise.
74576         * tests/unicase/test-u16-is-uppercase.c: Likewise.
74577         * tests/unicase/test-u16-tolower.c: Likewise.
74578         * tests/unicase/test-u16-totitle.c: Likewise.
74579         * tests/unicase/test-u16-toupper.c: Likewise.
74580         * tests/unicase/test-u32-casecmp.c: Likewise.
74581         * tests/unicase/test-u32-casecoll.c: Likewise.
74582         * tests/unicase/test-u32-casefold.c: Likewise.
74583         * tests/unicase/test-u32-is-cased.c: Likewise.
74584         * tests/unicase/test-u32-is-casefolded.c: Likewise.
74585         * tests/unicase/test-u32-is-lowercase.c: Likewise.
74586         * tests/unicase/test-u32-is-titlecase.c: Likewise.
74587         * tests/unicase/test-u32-is-uppercase.c: Likewise.
74588         * tests/unicase/test-u32-tolower.c: Likewise.
74589         * tests/unicase/test-u32-totitle.c: Likewise.
74590         * tests/unicase/test-u32-toupper.c: Likewise.
74591         * tests/unicase/test-ulc-casecmp.c: Likewise.
74592         * tests/unicase/test-ulc-casecoll.c: Likewise.
74593         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
74594         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
74595         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
74596         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
74597         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
74598         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
74599         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
74600         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
74601         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
74602         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
74603         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
74604         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
74605         * tests/unictype/test-bidi_byname.c: Likewise.
74606         * tests/unictype/test-bidi_name.c: Likewise.
74607         * tests/unictype/test-bidi_of.c: Likewise.
74608         * tests/unictype/test-bidi_test.c: Likewise.
74609         * tests/unictype/test-block_list.c: Likewise.
74610         * tests/unictype/test-block_of.c: Likewise.
74611         * tests/unictype/test-block_test.c: Likewise.
74612         * tests/unictype/test-categ_and.c: Likewise.
74613         * tests/unictype/test-categ_and_not.c: Likewise.
74614         * tests/unictype/test-categ_byname.c: Likewise.
74615         * tests/unictype/test-categ_name.c: Likewise.
74616         * tests/unictype/test-categ_none.c: Likewise.
74617         * tests/unictype/test-categ_of.c: Likewise.
74618         * tests/unictype/test-categ_or.c: Likewise.
74619         * tests/unictype/test-categ_test_withtable.c: Likewise.
74620         * tests/unictype/test-combining.c: Likewise.
74621         * tests/unictype/test-decdigit.c: Likewise.
74622         * tests/unictype/test-digit.c: Likewise.
74623         * tests/unictype/test-mirror.c: Likewise.
74624         * tests/unictype/test-numeric.c: Likewise.
74625         * tests/unictype/test-pr_byname.c: Likewise.
74626         * tests/unictype/test-pr_test.c: Likewise.
74627         * tests/unictype/test-predicate-part1.h: Likewise.
74628         * tests/unictype/test-scripts.c: Likewise.
74629         * tests/unictype/test-sy_c_ident.c: Likewise.
74630         * tests/unictype/test-sy_java_ident.c: Likewise.
74631         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
74632         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
74633         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
74634         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
74635         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
74636         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
74637         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
74638         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
74639         * tests/uninorm/test-canonical-decomposition.c: Likewise.
74640         * tests/uninorm/test-compat-decomposition.c: Likewise.
74641         * tests/uninorm/test-composition.c: Likewise.
74642         * tests/uninorm/test-decomposing-form.c: Likewise.
74643         * tests/uninorm/test-decomposition.c: Likewise.
74644         * tests/uninorm/test-u8-nfc.c: Likewise.
74645         * tests/uninorm/test-u8-nfd.c: Likewise.
74646         * tests/uninorm/test-u8-nfkc.c: Likewise.
74647         * tests/uninorm/test-u8-nfkd.c: Likewise.
74648         * tests/uninorm/test-u8-normcmp.c: Likewise.
74649         * tests/uninorm/test-u8-normcoll.c: Likewise.
74650         * tests/uninorm/test-u16-nfc.c: Likewise.
74651         * tests/uninorm/test-u16-nfd.c: Likewise.
74652         * tests/uninorm/test-u16-nfkc.c: Likewise.
74653         * tests/uninorm/test-u16-nfkd.c: Likewise.
74654         * tests/uninorm/test-u16-normcmp.c: Likewise.
74655         * tests/uninorm/test-u16-normcoll.c: Likewise.
74656         * tests/uninorm/test-u32-nfc.c: Likewise.
74657         * tests/uninorm/test-u32-nfd.c: Likewise.
74658         * tests/uninorm/test-u32-nfkc.c: Likewise.
74659         * tests/uninorm/test-u32-nfkd.c: Likewise.
74660         * tests/uninorm/test-u32-normalize-big.c: Likewise.
74661         * tests/uninorm/test-u32-normcmp.c: Likewise.
74662         * tests/uninorm/test-u32-normcoll.c: Likewise.
74663         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
74664         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
74665         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
74666         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
74667         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
74668         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
74669         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
74670         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
74671         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
74672         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
74673         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
74674         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
74675         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
74676         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
74677         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
74678         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
74679         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
74680         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
74681         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
74682         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
74683         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
74684         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
74685         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
74686         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
74687         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
74688         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
74689         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
74690         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
74691         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
74692         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
74693         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
74694         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
74695         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
74696         * tests/uniwidth/test-u8-strwidth.c: Likewise.
74697         * tests/uniwidth/test-u8-width.c: Likewise.
74698         * tests/uniwidth/test-u16-strwidth.c: Likewise.
74699         * tests/uniwidth/test-u16-width.c: Likewise.
74700         * tests/uniwidth/test-u32-strwidth.c: Likewise.
74701         * tests/uniwidth/test-u32-width.c: Likewise.
74702         * tests/uniwidth/test-uc_width.c: Likewise.
74703         * tests/uniwidth/test-uc_width2.c: Likewise.
74704         * modules/acl-tests (Files): Add tests/macros.h.
74705         * modules/areadlink-tests (Files): Likewise.
74706         * modules/areadlink-with-size-tests (Files): Likewise.
74707         * modules/areadlinkat-tests (Files): Likewise.
74708         * modules/areadlinkat-with-size-tests (Files): Likewise.
74709         * modules/argmatch-tests (Files): Likewise.
74710         * modules/argv-iter-tests (Files): Likewise.
74711         * modules/array-list-tests (Files): Likewise.
74712         * modules/array-mergesort-tests (Files): Likewise.
74713         * modules/array-oset-tests (Files): Likewise.
74714         * modules/avltree-list-tests (Files): Likewise.
74715         * modules/avltree-oset-tests (Files): Likewise.
74716         * modules/avltreehash-list-tests (Files): Likewise.
74717         * modules/base64-tests (Files): Likewise.
74718         * modules/binary-io-tests (Files): Likewise.
74719         * modules/bitrotate-tests (Files): Likewise.
74720         * modules/btowc-tests (Files): Likewise.
74721         * modules/byteswap-tests (Files): Likewise.
74722         * modules/c-ctype-tests (Files): Likewise.
74723         * modules/c-stack-tests (Files): Likewise.
74724         * modules/c-strcase-tests (Files): Likewise.
74725         * modules/c-strcasestr-tests (Files): Likewise.
74726         * modules/c-strstr-tests (Files): Likewise.
74727         * modules/canonicalize-lgpl-tests (Files): Likewise.
74728         * modules/canonicalize-tests (Files): Likewise.
74729         * modules/carray-list-tests (Files): Likewise.
74730         * modules/ceilf-tests (Files): Likewise.
74731         * modules/ceill-tests (Files): Likewise.
74732         * modules/chown-tests (Files): Likewise.
74733         * modules/cloexec-tests (Files): Likewise.
74734         * modules/copy-file-tests (Files): Likewise.
74735         * modules/count-one-bits-tests (Files): Likewise.
74736         * modules/dprintf-posix-tests (Files): Likewise.
74737         * modules/dup2-tests (Files): Likewise.
74738         * modules/dup3-tests (Files): Likewise.
74739         * modules/duplocale-tests (Files): Likewise.
74740         * modules/fbufmode-tests (Files): Likewise.
74741         * modules/fchdir-tests (Files): Likewise.
74742         * modules/fcntl-safer-tests (Files): Likewise.
74743         * modules/fcntl-tests (Files): Likewise.
74744         * modules/fdopendir-tests (Files): Likewise.
74745         * modules/fdutimensat-tests (Files): Likewise.
74746         * modules/fflush-tests (Files): Likewise.
74747         * modules/filevercmp-tests (Files): Likewise.
74748         * modules/flock-tests (Files): Likewise.
74749         * modules/floorf-tests (Files): Likewise.
74750         * modules/floorl-tests (Files): Likewise.
74751         * modules/fnmatch-tests (Files): Likewise.
74752         * modules/fopen-safer-tests (Files): Likewise.
74753         * modules/fopen-tests (Files): Likewise.
74754         * modules/fpending-tests (Files): Likewise.
74755         * modules/fprintf-posix-tests (Files): Likewise.
74756         * modules/fpurge-tests (Files): Likewise.
74757         * modules/freadable-tests (Files): Likewise.
74758         * modules/freadahead-tests (Files): Likewise.
74759         * modules/freading-tests (Files): Likewise.
74760         * modules/freadptr-tests (Files): Likewise.
74761         * modules/freadseek-tests (Files): Likewise.
74762         * modules/freopen-tests (Files): Likewise.
74763         * modules/frexp-nolibm-tests (Files): Likewise.
74764         * modules/frexp-tests (Files): Likewise.
74765         * modules/frexpl-nolibm-tests (Files): Likewise.
74766         * modules/frexpl-tests (Files): Likewise.
74767         * modules/fseek-tests (Files): Likewise.
74768         * modules/fseeko-tests (Files): Likewise.
74769         * modules/fstrcmp-tests (Files): Likewise.
74770         * modules/fsync-tests (Files): Likewise.
74771         * modules/ftell-tests (Files): Likewise.
74772         * modules/ftello-tests (Files): Likewise.
74773         * modules/func-tests (Files): Likewise.
74774         * modules/futimens-tests (Files): Likewise.
74775         * modules/fwritable-tests (Files): Likewise.
74776         * modules/fwriting-tests (Files): Likewise.
74777         * modules/getcwd-tests (Files): Likewise.
74778         * modules/getdate-tests (Files): Likewise.
74779         * modules/getdelim-tests (Files): Likewise.
74780         * modules/getdtablesize-tests (Files): Likewise.
74781         * modules/getgroups-tests (Files): Likewise.
74782         * modules/getline-tests (Files): Likewise.
74783         * modules/getndelim2-tests (Files): Likewise.
74784         * modules/glob-tests (Files): Likewise.
74785         * modules/hash-tests (Files): Likewise.
74786         * modules/i-ring-tests (Files): Likewise.
74787         * modules/iconv-tests (Files): Likewise.
74788         * modules/iconv_open-utf-tests (Files): Likewise.
74789         * modules/idpriv-drop-tests (Files): Likewise.
74790         * modules/idpriv-droptemp-tests (Files): Likewise.
74791         * modules/inet_ntop-tests (Files): Likewise.
74792         * modules/inet_pton-tests (Files): Likewise.
74793         * modules/isblank-tests (Files): Likewise.
74794         * modules/isfinite-tests (Files): Likewise.
74795         * modules/isinf-tests (Files): Likewise.
74796         * modules/isnan-tests (Files): Likewise.
74797         * modules/isnand-nolibm-tests (Files): Likewise.
74798         * modules/isnand-tests (Files): Likewise.
74799         * modules/isnanf-nolibm-tests (Files): Likewise.
74800         * modules/isnanf-tests (Files): Likewise.
74801         * modules/isnanl-nolibm-tests (Files): Likewise.
74802         * modules/isnanl-tests (Files): Likewise.
74803         * modules/lchown-tests (Files): Likewise.
74804         * modules/ldexpl-tests (Files): Likewise.
74805         * modules/link-tests (Files): Likewise.
74806         * modules/linkat-tests (Files): Likewise.
74807         * modules/linked-list-tests (Files): Likewise.
74808         * modules/linkedhash-list-tests (Files): Likewise.
74809         * modules/localename-tests (Files): Likewise.
74810         * modules/lseek-tests (Files): Likewise.
74811         * modules/lstat-tests (Files): Likewise.
74812         * modules/mbmemcasecmp-tests (Files): Likewise.
74813         * modules/mbmemcasecoll-tests (Files): Likewise.
74814         * modules/mbrtowc-tests (Files): Likewise.
74815         * modules/mbscasecmp-tests (Files): Likewise.
74816         * modules/mbscasestr-tests (Files): Likewise.
74817         * modules/mbschr-tests (Files): Likewise.
74818         * modules/mbscspn-tests (Files): Likewise.
74819         * modules/mbsinit-tests (Files): Likewise.
74820         * modules/mbsncasecmp-tests (Files): Likewise.
74821         * modules/mbsnrtowcs-tests (Files): Likewise.
74822         * modules/mbspbrk-tests (Files): Likewise.
74823         * modules/mbspcasecmp-tests (Files): Likewise.
74824         * modules/mbsrchr-tests (Files): Likewise.
74825         * modules/mbsrtowcs-tests (Files): Likewise.
74826         * modules/mbsspn-tests (Files): Likewise.
74827         * modules/mbsstr-tests (Files): Likewise.
74828         * modules/memchr-tests (Files): Likewise.
74829         * modules/memchr2-tests (Files): Likewise.
74830         * modules/memcmp-tests (Files): Likewise.
74831         * modules/memmem-tests (Files): Likewise.
74832         * modules/memrchr-tests (Files): Likewise.
74833         * modules/mkdir-tests (Files): Likewise.
74834         * modules/mkfifo-tests (Files): Likewise.
74835         * modules/mkfifoat-tests (Files): Likewise.
74836         * modules/mknod-tests (Files): Likewise.
74837         * modules/nanosleep-tests (Files): Likewise.
74838         * modules/nl_langinfo-tests (Files): Likewise.
74839         * modules/obstack-printf-tests (Files): Likewise.
74840         * modules/open-tests (Files): Likewise.
74841         * modules/openat-tests (Files): Likewise.
74842         * modules/pipe-filter-gi-tests (Files): Likewise.
74843         * modules/pipe-filter-ii-tests (Files): Likewise.
74844         * modules/pipe2-tests (Files): Likewise.
74845         * modules/popen-safer-tests (Files): Likewise.
74846         * modules/popen-tests (Files): Likewise.
74847         * modules/posixtm-tests (Files): Likewise.
74848         * modules/pread-tests (Files): Likewise.
74849         * modules/printf-frexp-tests (Files): Likewise.
74850         * modules/printf-frexpl-tests (Files): Likewise.
74851         * modules/printf-posix-tests (Files): Likewise.
74852         * modules/priv-set-tests (Files): Likewise.
74853         * modules/quotearg-tests (Files): Likewise.
74854         * modules/random_r-tests (Files): Likewise.
74855         * modules/rawmemchr-tests (Files): Likewise.
74856         * modules/rbtree-list-tests (Files): Likewise.
74857         * modules/rbtree-oset-tests (Files): Likewise.
74858         * modules/rbtreehash-list-tests (Files): Likewise.
74859         * modules/readlink-tests (Files): Likewise.
74860         * modules/remove-tests (Files): Likewise.
74861         * modules/rename-tests (Files): Likewise.
74862         * modules/renameat-tests (Files): Likewise.
74863         * modules/rmdir-tests (Files): Likewise.
74864         * modules/round-tests (Files): Likewise.
74865         * modules/roundf-tests (Files): Likewise.
74866         * modules/roundl-tests (Files): Likewise.
74867         * modules/safe-alloc-tests (Files): Likewise.
74868         * modules/setenv-tests (Files): Likewise.
74869         * modules/sigaction-tests (Files): Likewise.
74870         * modules/signbit-tests (Files): Likewise.
74871         * modules/sleep-tests (Files): Likewise.
74872         * modules/snprintf-posix-tests (Files): Likewise.
74873         * modules/snprintf-tests (Files): Likewise.
74874         * modules/sprintf-posix-tests (Files): Likewise.
74875         * modules/stat-tests (Files): Likewise.
74876         * modules/stat-time-tests (Files): Likewise.
74877         * modules/strcasestr-tests (Files): Likewise.
74878         * modules/strchrnul-tests (Files): Likewise.
74879         * modules/strerror-tests (Files): Likewise.
74880         * modules/striconv-tests (Files): Likewise.
74881         * modules/striconveh-tests (Files): Likewise.
74882         * modules/striconveha-tests (Files): Likewise.
74883         * modules/strsignal-tests (Files): Likewise.
74884         * modules/strstr-tests (Files): Likewise.
74885         * modules/strtod-tests (Files): Likewise.
74886         * modules/strverscmp-tests (Files): Likewise.
74887         * modules/symlink-tests (Files): Likewise.
74888         * modules/symlinkat-tests (Files): Likewise.
74889         * modules/trunc-tests (Files): Likewise.
74890         * modules/truncf-tests (Files): Likewise.
74891         * modules/truncl-tests (Files): Likewise.
74892         * modules/uname-tests (Files): Likewise.
74893         * modules/unicase/cased-tests (Files): Likewise.
74894         * modules/unicase/ignorable-tests (Files): Likewise.
74895         * modules/unicase/locale-language-tests (Files): Likewise.
74896         * modules/unicase/tolower-tests (Files): Likewise.
74897         * modules/unicase/totitle-tests (Files): Likewise.
74898         * modules/unicase/toupper-tests (Files): Likewise.
74899         * modules/unicase/u8-casecmp-tests (Files): Likewise.
74900         * modules/unicase/u8-casecoll-tests (Files): Likewise.
74901         * modules/unicase/u8-casefold-tests (Files): Likewise.
74902         * modules/unicase/u8-is-cased-tests (Files): Likewise.
74903         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
74904         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
74905         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
74906         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
74907         * modules/unicase/u8-tolower-tests (Files): Likewise.
74908         * modules/unicase/u8-totitle-tests (Files): Likewise.
74909         * modules/unicase/u8-toupper-tests (Files): Likewise.
74910         * modules/unicase/u16-casecmp-tests (Files): Likewise.
74911         * modules/unicase/u16-casecoll-tests (Files): Likewise.
74912         * modules/unicase/u16-casefold-tests (Files): Likewise.
74913         * modules/unicase/u16-is-cased-tests (Files): Likewise.
74914         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
74915         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
74916         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
74917         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
74918         * modules/unicase/u16-tolower-tests (Files): Likewise.
74919         * modules/unicase/u16-totitle-tests (Files): Likewise.
74920         * modules/unicase/u16-toupper-tests (Files): Likewise.
74921         * modules/unicase/u32-casecmp-tests (Files): Likewise.
74922         * modules/unicase/u32-casecoll-tests (Files): Likewise.
74923         * modules/unicase/u32-casefold-tests (Files): Likewise.
74924         * modules/unicase/u32-is-cased-tests (Files): Likewise.
74925         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
74926         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
74927         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
74928         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
74929         * modules/unicase/u32-tolower-tests (Files): Likewise.
74930         * modules/unicase/u32-totitle-tests (Files): Likewise.
74931         * modules/unicase/u32-toupper-tests (Files): Likewise.
74932         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
74933         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
74934         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
74935         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
74936         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
74937         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
74938         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
74939         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
74940         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
74941         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
74942         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
74943         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
74944         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
74945         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
74946         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
74947         * modules/unictype/bidicategory-name-tests (Files): Likewise.
74948         * modules/unictype/bidicategory-of-tests (Files): Likewise.
74949         * modules/unictype/bidicategory-test-tests (Files): Likewise.
74950         * modules/unictype/block-list-tests (Files): Likewise.
74951         * modules/unictype/block-of-tests (Files): Likewise.
74952         * modules/unictype/block-test-tests (Files): Likewise.
74953         * modules/unictype/category-C-tests (Files): Likewise.
74954         * modules/unictype/category-Cc-tests (Files): Likewise.
74955         * modules/unictype/category-Cf-tests (Files): Likewise.
74956         * modules/unictype/category-Cn-tests (Files): Likewise.
74957         * modules/unictype/category-Co-tests (Files): Likewise.
74958         * modules/unictype/category-Cs-tests (Files): Likewise.
74959         * modules/unictype/category-L-tests (Files): Likewise.
74960         * modules/unictype/category-Ll-tests (Files): Likewise.
74961         * modules/unictype/category-Lm-tests (Files): Likewise.
74962         * modules/unictype/category-Lo-tests (Files): Likewise.
74963         * modules/unictype/category-Lt-tests (Files): Likewise.
74964         * modules/unictype/category-Lu-tests (Files): Likewise.
74965         * modules/unictype/category-M-tests (Files): Likewise.
74966         * modules/unictype/category-Mc-tests (Files): Likewise.
74967         * modules/unictype/category-Me-tests (Files): Likewise.
74968         * modules/unictype/category-Mn-tests (Files): Likewise.
74969         * modules/unictype/category-N-tests (Files): Likewise.
74970         * modules/unictype/category-Nd-tests (Files): Likewise.
74971         * modules/unictype/category-Nl-tests (Files): Likewise.
74972         * modules/unictype/category-No-tests (Files): Likewise.
74973         * modules/unictype/category-P-tests (Files): Likewise.
74974         * modules/unictype/category-Pc-tests (Files): Likewise.
74975         * modules/unictype/category-Pd-tests (Files): Likewise.
74976         * modules/unictype/category-Pe-tests (Files): Likewise.
74977         * modules/unictype/category-Pf-tests (Files): Likewise.
74978         * modules/unictype/category-Pi-tests (Files): Likewise.
74979         * modules/unictype/category-Po-tests (Files): Likewise.
74980         * modules/unictype/category-Ps-tests (Files): Likewise.
74981         * modules/unictype/category-S-tests (Files): Likewise.
74982         * modules/unictype/category-Sc-tests (Files): Likewise.
74983         * modules/unictype/category-Sk-tests (Files): Likewise.
74984         * modules/unictype/category-Sm-tests (Files): Likewise.
74985         * modules/unictype/category-So-tests (Files): Likewise.
74986         * modules/unictype/category-Z-tests (Files): Likewise.
74987         * modules/unictype/category-Zl-tests (Files): Likewise.
74988         * modules/unictype/category-Zp-tests (Files): Likewise.
74989         * modules/unictype/category-Zs-tests (Files): Likewise.
74990         * modules/unictype/category-and-not-tests (Files): Likewise.
74991         * modules/unictype/category-and-tests (Files): Likewise.
74992         * modules/unictype/category-byname-tests (Files): Likewise.
74993         * modules/unictype/category-name-tests (Files): Likewise.
74994         * modules/unictype/category-none-tests (Files): Likewise.
74995         * modules/unictype/category-of-tests (Files): Likewise.
74996         * modules/unictype/category-or-tests (Files): Likewise.
74997         * modules/unictype/category-test-withtable-tests (Files): Likewise.
74998         * modules/unictype/combining-class-tests (Files): Likewise.
74999         * modules/unictype/ctype-alnum-tests (Files): Likewise.
75000         * modules/unictype/ctype-alpha-tests (Files): Likewise.
75001         * modules/unictype/ctype-blank-tests (Files): Likewise.
75002         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
75003         * modules/unictype/ctype-digit-tests (Files): Likewise.
75004         * modules/unictype/ctype-graph-tests (Files): Likewise.
75005         * modules/unictype/ctype-lower-tests (Files): Likewise.
75006         * modules/unictype/ctype-print-tests (Files): Likewise.
75007         * modules/unictype/ctype-punct-tests (Files): Likewise.
75008         * modules/unictype/ctype-space-tests (Files): Likewise.
75009         * modules/unictype/ctype-upper-tests (Files): Likewise.
75010         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
75011         * modules/unictype/decimal-digit-tests (Files): Likewise.
75012         * modules/unictype/digit-tests (Files): Likewise.
75013         * modules/unictype/mirror-tests (Files): Likewise.
75014         * modules/unictype/numeric-tests (Files): Likewise.
75015         * modules/unictype/property-alphabetic-tests (Files): Likewise.
75016         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
75017         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
75018         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
75019         Likewise.
75020         * modules/unictype/property-bidi-block-separator-tests (Files):
75021         Likewise.
75022         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
75023         Likewise.
75024         * modules/unictype/property-bidi-common-separator-tests (Files):
75025         Likewise.
75026         * modules/unictype/property-bidi-control-tests (Files): Likewise.
75027         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
75028         Likewise.
75029         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
75030         Likewise.
75031         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
75032         Likewise.
75033         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
75034         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
75035         Likewise.
75036         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
75037         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
75038         Likewise.
75039         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
75040         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
75041         * modules/unictype/property-bidi-segment-separator-tests (Files):
75042         Likewise.
75043         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
75044         * modules/unictype/property-byname-tests (Files): Likewise.
75045         * modules/unictype/property-combining-tests (Files): Likewise.
75046         * modules/unictype/property-composite-tests (Files): Likewise.
75047         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
75048         * modules/unictype/property-dash-tests (Files): Likewise.
75049         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
75050         * modules/unictype/property-default-ignorable-code-point-tests (Files):
75051         Likewise.
75052         * modules/unictype/property-deprecated-tests (Files): Likewise.
75053         * modules/unictype/property-diacritic-tests (Files): Likewise.
75054         * modules/unictype/property-extender-tests (Files): Likewise.
75055         * modules/unictype/property-format-control-tests (Files): Likewise.
75056         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
75057         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
75058         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
75059         * modules/unictype/property-hex-digit-tests (Files): Likewise.
75060         * modules/unictype/property-hyphen-tests (Files): Likewise.
75061         * modules/unictype/property-id-continue-tests (Files): Likewise.
75062         * modules/unictype/property-id-start-tests (Files): Likewise.
75063         * modules/unictype/property-ideographic-tests (Files): Likewise.
75064         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
75065         * modules/unictype/property-ids-trinary-operator-tests (Files):
75066         Likewise.
75067         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
75068         * modules/unictype/property-iso-control-tests (Files): Likewise.
75069         * modules/unictype/property-join-control-tests (Files): Likewise.
75070         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
75071         * modules/unictype/property-line-separator-tests (Files): Likewise.
75072         * modules/unictype/property-logical-order-exception-tests (Files):
75073         Likewise.
75074         * modules/unictype/property-lowercase-tests (Files): Likewise.
75075         * modules/unictype/property-math-tests (Files): Likewise.
75076         * modules/unictype/property-non-break-tests (Files): Likewise.
75077         * modules/unictype/property-not-a-character-tests (Files): Likewise.
75078         * modules/unictype/property-numeric-tests (Files): Likewise.
75079         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
75080         * modules/unictype/property-other-default-ignorable-code-point-tests
75081         (Files): Likewise.
75082         * modules/unictype/property-other-grapheme-extend-tests (Files):
75083         Likewise.
75084         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
75085         * modules/unictype/property-other-id-start-tests (Files): Likewise.
75086         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
75087         * modules/unictype/property-other-math-tests (Files): Likewise.
75088         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
75089         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
75090         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
75091         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
75092         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
75093         * modules/unictype/property-private-use-tests (Files): Likewise.
75094         * modules/unictype/property-punctuation-tests (Files): Likewise.
75095         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
75096         * modules/unictype/property-radical-tests (Files): Likewise.
75097         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
75098         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
75099         * modules/unictype/property-space-tests (Files): Likewise.
75100         * modules/unictype/property-terminal-punctuation-tests (Files):
75101         Likewise.
75102         * modules/unictype/property-test-tests (Files): Likewise.
75103         * modules/unictype/property-titlecase-tests (Files): Likewise.
75104         * modules/unictype/property-unassigned-code-value-tests (Files):
75105         Likewise.
75106         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
75107         * modules/unictype/property-uppercase-tests (Files): Likewise.
75108         * modules/unictype/property-variation-selector-tests (Files): Likewise.
75109         * modules/unictype/property-white-space-tests (Files): Likewise.
75110         * modules/unictype/property-xid-continue-tests (Files): Likewise.
75111         * modules/unictype/property-xid-start-tests (Files): Likewise.
75112         * modules/unictype/property-zero-width-tests (Files): Likewise.
75113         * modules/unictype/scripts-tests (Files): Likewise.
75114         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
75115         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
75116         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
75117         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
75118         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
75119         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
75120         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
75121         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
75122         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
75123         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
75124         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
75125         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
75126         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
75127         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
75128         * modules/uninorm/composition-tests (Files): Likewise.
75129         * modules/uninorm/decomposing-form-tests (Files): Likewise.
75130         * modules/uninorm/decomposition-tests (Files): Likewise.
75131         * modules/uninorm/filter-tests (Files): Likewise.
75132         * modules/uninorm/nfc-tests (Files): Likewise.
75133         * modules/uninorm/nfd-tests (Files): Likewise.
75134         * modules/uninorm/nfkc-tests (Files): Likewise.
75135         * modules/uninorm/nfkd-tests (Files): Likewise.
75136         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
75137         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
75138         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
75139         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
75140         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
75141         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
75142         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
75143         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
75144         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
75145         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
75146         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
75147         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
75148         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
75149         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
75150         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
75151         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
75152         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
75153         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
75154         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
75155         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
75156         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
75157         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
75158         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
75159         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
75160         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
75161         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
75162         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
75163         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
75164         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
75165         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
75166         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
75167         * modules/uniwidth/u8-width-tests (Files): Likewise.
75168         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
75169         * modules/uniwidth/u16-width-tests (Files): Likewise.
75170         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
75171         * modules/uniwidth/u32-width-tests (Files): Likewise.
75172         * modules/uniwidth/width-tests (Files): Likewise.
75173         * modules/unlink-tests (Files): Likewise.
75174         * modules/unsetenv-tests (Files): Likewise.
75175         * modules/usleep-tests (Files): Likewise.
75176         * modules/utimens-tests (Files): Likewise.
75177         * modules/utimensat-tests (Files): Likewise.
75178         * modules/vasnprintf-posix-tests (Files): Likewise.
75179         * modules/vasnprintf-tests (Files): Likewise.
75180         * modules/vasprintf-posix-tests (Files): Likewise.
75181         * modules/vasprintf-tests (Files): Likewise.
75182         * modules/vdprintf-posix-tests (Files): Likewise.
75183         * modules/vfprintf-posix-tests (Files): Likewise.
75184         * modules/vprintf-posix-tests (Files): Likewise.
75185         * modules/vsnprintf-posix-tests (Files): Likewise.
75186         * modules/vsnprintf-tests (Files): Likewise.
75187         * modules/vsprintf-posix-tests (Files): Likewise.
75188         * modules/wcrtomb-tests (Files): Likewise.
75189         * modules/wcsnrtombs-tests (Files): Likewise.
75190         * modules/wcsrtombs-tests (Files): Likewise.
75191         * modules/wctype-tests (Files): Likewise.
75192         * modules/wcwidth-tests (Files): Likewise.
75193         * modules/xmemdup0-tests (Files): Likewise.
75194         * modules/xprintf-posix-tests (Files): Likewise.
75195         * modules/xvasprintf-tests (Files): Likewise.
75197 2009-12-24  Eric Blake  <ebb9@byu.net>
75199         test-nanosleep: fix typo
75200         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
75201         patch.
75202         Reported by Bruno Haible.
75204 2009-12-24  Bruno Haible  <bruno@clisp.org>
75206         Reduce namespace pollution on glibc systems.
75207         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
75208         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
75209         systems.
75210         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
75211         <getopt.h> on glibc systems.
75212         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
75213         systems.
75214         * lib/fcntl.c: Include <unistd.h> here instead.
75216 2009-12-24  Bruno Haible  <bruno@clisp.org>
75218         * lib/stdlib.in.h (includes): Fix typo in today's commit.
75220 2009-12-24  Eric Blake  <ebb9@byu.net>
75222         tests: add signature checks
75223         * tests/signature.h (SIGNATURE_CHECK): New file.
75224         * modules/atexit-tests (Files): Use it.
75225         * modules/btowc-tests (Files): Likewise.
75226         * modules/canonicalize-lgpl-tests (Files): Likewise.
75227         * modules/ceilf-tests (Files): Likewise.
75228         * modules/ceill-tests (Files): Likewise.
75229         * modules/chown-tests (Files): Likewise.
75230         * modules/dprintf-posix-tests (Files): Likewise.
75231         * modules/dup2-tests (Files): Likewise.
75232         * modules/dup3-tests (Files): Likewise.
75233         * modules/duplocale-tests (Files): Likewise.
75234         * modules/fchdir-tests (Files): Likewise.
75235         * modules/fcntl-tests (Files): Likewise.
75236         * modules/fdopendir-tests (Files): Likewise.
75237         * modules/fflush-tests (Files): Likewise.
75238         * modules/flock-tests (Files): Likewise.
75239         * modules/floorf-tests (Files): Likewise.
75240         * modules/floorl-tests (Files): Likewise.
75241         * modules/fnmatch-tests (Files): Likewise.
75242         * modules/fopen-tests (Files): Likewise.
75243         * modules/fprintf-posix-tests (Files): Likewise.
75244         * modules/freopen-tests (Files): Likewise.
75245         * modules/frexp-nolibm-tests (Files): Likewise.
75246         * modules/frexp-tests (Files): Likewise.
75247         * modules/frexpl-nolibm-tests (Files): Likewise.
75248         * modules/frexpl-tests (Files): Likewise.
75249         * modules/fseek-tests (Files): Likewise.
75250         * modules/fseeko-tests (Files): Likewise.
75251         * modules/fsync-tests (Files): Likewise.
75252         * modules/ftell-tests (Files): Likewise.
75253         * modules/ftello-tests (Files): Likewise.
75254         * modules/futimens-tests (Files): Likewise.
75255         * modules/getaddrinfo-tests (Files): Likewise.
75256         * modules/getcwd-tests (Files): Likewise.
75257         * modules/getdelim-tests (Files): Likewise.
75258         * modules/getdtablesize-tests (Files): Likewise.
75259         * modules/getgroups-tests (Files): Likewise.
75260         * modules/gethostname-tests (Files): Likewise.
75261         * modules/getline-tests (Files): Likewise.
75262         * modules/getopt-posix-tests (Files): Likewise.
75263         * modules/gettimeofday-tests (Files): Likewise.
75264         * modules/glob-tests (Files): Likewise.
75265         * modules/iconv-tests (Files): Likewise.
75266         * modules/inet_ntop-tests (Files): Likewise.
75267         * modules/inet_pton-tests (Files): Likewise.
75268         * modules/isblank-tests (Files): Likewise.
75269         * modules/lchown-tests (Files): Likewise.
75270         * modules/ldexpl-tests (Files): Likewise.
75271         * modules/link-tests (Files): Likewise.
75272         * modules/linkat-tests (Files): Likewise.
75273         * modules/lseek-tests (Files): Likewise.
75274         * modules/lstat-tests (Files): Likewise.
75275         * modules/mbrtowc-tests (Files): Likewise.
75276         * modules/mbsinit-tests (Files): Likewise.
75277         * modules/mbsnrtowcs-tests (Files): Likewise.
75278         * modules/mbsrtowcs-tests (Files): Likewise.
75279         * modules/memchr-tests (Files): Likewise.
75280         * modules/memcmp-tests (Files): Likewise.
75281         * modules/memmem-tests (Files): Likewise.
75282         * modules/memrchr-tests (Files): Likewise.
75283         * modules/mkdir-tests (Files): Likewise.
75284         * modules/mkfifo-tests (Files): Likewise.
75285         * modules/mkfifoat-tests (Files): Likewise.
75286         * modules/mknod-tests (Files): Likewise.
75287         * modules/nanosleep-tests (Files): Likewise.
75288         * modules/nl_langinfo-tests (Files): Likewise.
75289         * modules/obstack-printf-tests (Files): Likewise.
75290         * modules/open-tests (Files): Likewise.
75291         * modules/openat-tests (Files): Likewise.
75292         * modules/perror-tests (Files): Likewise.
75293         * modules/pipe2-tests (Files): Likewise.
75294         * modules/poll-tests (Files): Likewise.
75295         * modules/popen-tests (Files): Likewise.
75296         * modules/posix_spawn-tests (Files): Likewise.
75297         * modules/posix_spawnp-tests (Files): Likewise.
75298         * modules/pread-tests (Files): Likewise.
75299         * modules/printf-posix-tests (Files): Likewise.
75300         * modules/pty-tests (Files): Likewise.
75301         * modules/random_r-tests (Files): Likewise.
75302         * modules/rawmemchr-tests (Files): Likewise.
75303         * modules/readlink-tests (Files): Likewise.
75304         * modules/remove-tests (Files): Likewise.
75305         * modules/rename-tests (Files): Likewise.
75306         * modules/renameat-tests (Files): Likewise.
75307         * modules/rmdir-tests (Files): Likewise.
75308         * modules/round-tests (Files): Likewise.
75309         * modules/roundf-tests (Files): Likewise.
75310         * modules/roundl-tests (Files): Likewise.
75311         * modules/select-tests (Files): Likewise.
75312         * modules/setenv-tests (Files): Likewise.
75313         * modules/sigaction-tests (Files): Likewise.
75314         * modules/sleep-tests (Files): Likewise.
75315         * modules/snprintf-posix-tests (Files): Likewise.
75316         * modules/snprintf-tests (Files): Likewise.
75317         * modules/sprintf-posix-tests (Files): Likewise.
75318         * modules/stat-tests (Files): Likewise.
75319         * modules/strcasestr-tests (Files): Likewise.
75320         * modules/strchrnul-tests (Files): Likewise.
75321         * modules/strerror-tests (Files): Likewise.
75322         * modules/strsignal-tests (Files): Likewise.
75323         * modules/strstr-tests (Files): Likewise.
75324         * modules/strtod-tests (Files): Likewise.
75325         * modules/strverscmp-tests (Files): Likewise.
75326         * modules/symlink-tests (Files): Likewise.
75327         * modules/symlinkat-tests (Files): Likewise.
75328         * modules/times-tests (Files): Likewise.
75329         * modules/trunc-tests (Files): Likewise.
75330         * modules/truncf-tests (Files): Likewise.
75331         * modules/truncl-tests (Files): Likewise.
75332         * modules/tsearch-tests (Files): Likewise.
75333         * modules/uname-tests (Files): Likewise.
75334         * modules/unlink-tests (Files): Likewise.
75335         * modules/unsetenv-tests (Files): Likewise.
75336         * modules/usleep-tests (Files): Likewise.
75337         * modules/utimensat-tests (Files): Likewise.
75338         * modules/vasprintf-tests (Files): Likewise.
75339         * modules/vdprintf-posix-tests (Files): Likewise.
75340         * modules/vfprintf-posix-tests (Files): Likewise.
75341         * modules/vprintf-posix-tests (Files): Likewise.
75342         * modules/vsnprintf-posix-tests (Files): Likewise.
75343         * modules/vsnprintf-tests (Files): Likewise.
75344         * modules/vsprintf-posix-tests (Files): Likewise.
75345         * modules/wcrtomb-tests (Files): Likewise.
75346         * modules/wcsnrtombs-tests (Files): Likewise.
75347         * modules/wcsrtombs-tests (Files): Likewise.
75348         * modules/wcwidth-tests (Files): Likewise.
75349         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
75350         * tests/test-isinf.c (isinf): Likewise.
75351         * tests/test-isnan.c (isnan): Likewise.
75352         * tests/test-signbit.c (signbit): Likewise.
75353         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
75354         declaration, either as macro or with correct signature.
75355         (select): Ensure function under test is declared with correct
75356         signature in correct header.
75357         * tests/test-atexit.c (atexit): Likewise.
75358         * tests/test-btowc.c (btowc): Likewise.
75359         * tests/test-canonicalize-lgpl.c (realpath)
75360         (canonicalize_file_name): Likewise.
75361         * tests/test-ceilf1.c (ceilf): Likewise.
75362         * tests/test-ceill.c (ceill): Likewise.
75363         * tests/test-chown.c (chown): Likewise.
75364         * tests/test-dprintf-posix.c (dprintf): Likewise.
75365         * tests/test-dup2.c (dup2): Likewise.
75366         * tests/test-dup3.c (dup3): Likewise.
75367         * tests/test-duplocale.c (duplocale): Likewise.
75368         * tests/test-fchdir.c (fchdir): Likewise.
75369         * tests/test-fchownat.c (fchownat): Likewise.
75370         * tests/test-fcntl.c (fcntl): Likewise.
75371         * tests/test-fdopendir.c (fdopendir): Likewise.
75372         * tests/test-fflush.c (fflush): Likewise.
75373         * tests/test-flock.c (flock): Likewise.
75374         * tests/test-floorf1.c (floorf): Likewise.
75375         * tests/test-floorl.c (floorl): Likewise.
75376         * tests/test-fnmatch.c (fnmatch): Likewise.
75377         * tests/test-fopen.c (fopen): Likewise.
75378         * tests/test-fprintf-posix.c (fprintf): Likewise.
75379         * tests/test-freopen.c (freopen): Likewise.
75380         * tests/test-frexp.c (frexp): Likewise.
75381         * tests/test-frexpl.c (frexpl): Likewise.
75382         * tests/test-fseek.c (fseek): Likewise.
75383         * tests/test-fseeko.c (fseeko): Likewise.
75384         * tests/test-fstatat.c (fstatat): Likewise.
75385         * tests/test-fsync.c (fsync): Likewise.
75386         * tests/test-ftell.c (ftell): Likewise.
75387         * tests/test-ftello.c (ftello): Likewise.
75388         * tests/test-futimens.c (futimens): Likewise.
75389         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
75390         (gai_strerror): Likewise.
75391         * tests/test-getcwd.c (getcwd): Likewise.
75392         * tests/test-getdelim.c (getdelim): Likewise.
75393         * tests/test-getdtablesize.c (getdtablesize): Likewise.
75394         * tests/test-getgroups.c (getgroups): Likewise.
75395         * tests/test-gethostname.c (gethostname): Likewise.
75396         * tests/test-getline.c (getline): Likewise.
75397         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
75398         Likewise.
75399         * tests/test-gettimeofday.c (gettimeofday): Likewise.
75400         * tests/test-glob.c (glob, globfree): Likewise.
75401         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
75402         * tests/test-inet_ntop.c (inet_ntop): Likewise.
75403         * tests/test-inet_pton.c (inet_pton): Likewise.
75404         * tests/test-isblank.c (isblank): Likewise.
75405         * tests/test-lchown.c (lchown): Likewise.
75406         * tests/test-ldexpl.c (ldexpl): Likewise.
75407         * tests/test-link.c (link): Likewise.
75408         * tests/test-linkat.c (linkat): Likewise.
75409         * tests/test-lseek.c (lseek): Likewise.
75410         * tests/test-lstat.c (lstat): Likewise.
75411         * tests/test-mbrtowc.c (mbrtowc): Likewise.
75412         * tests/test-mbsinit.c (mbsinit): Likewise.
75413         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
75414         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
75415         * tests/test-memchr.c (memchr): Likewise.
75416         * tests/test-memcmp.c (memcmp): Likewise.
75417         * tests/test-memmem.c (memmem): Likewise.
75418         * tests/test-memrchr.c (memrchr): Likewise.
75419         * tests/test-mkdir.c (mkdir): Likewise.
75420         * tests/test-mkdirat.c (mkdirat): Likewise.
75421         * tests/test-mkfifo.c (mkfifo): Likewise.
75422         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
75423         * tests/test-mknod.c (mknod): Likewise.
75424         * tests/test-nanosleep.c (nanosleep): Likewise.
75425         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
75426         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
75427         Likewise.
75428         * tests/test-open.c (open): Likewise.
75429         * tests/test-openat.c (openat): Likewise.
75430         * tests/test-perror.c (perror): Likewise.
75431         * tests/test-pipe2.c (pipe2): Likewise.
75432         * tests/test-poll.c (poll): Likewise.
75433         * tests/test-popen.c (popen, pclose): Likewise.
75434         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
75435         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
75436         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
75437         (posix_spawn_file_actions_destroy)
75438         (posix_spawn_file_actions_addclose)
75439         (posix_spawn_file_actions_addopen)
75440         (posix_spawn_file_actions_adddup2): Likewise.
75441         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
75442         * tests/test-pread.c (pread): Likewise.
75443         * tests/test-printf-posix.c (printf): Likewise.
75444         * tests/test-pty.c (openpty, forkpty): Likewise.
75445         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
75446         (random_r): Likewise.
75447         * tests/test-rawmemchr.c (rawmemchr): Likewise.
75448         * tests/test-readlink.c (readlink): Likewise.
75449         * tests/test-remove.c (remove): Likewise.
75450         * tests/test-rename.c (rename): Likewise.
75451         * tests/test-renameat.c (renameat): Likewise.
75452         * tests/test-rmdir.c (rmdir): Likewise.
75453         * tests/test-round1.c (round): Likewise.
75454         * tests/test-roundf1.c (roundf): Likewise.
75455         * tests/test-roundl.c (roundl): Likewise.
75456         * tests/test-setenv.c (setenv): Likewise.
75457         * tests/test-sigaction.c (sigaction): Likewise.
75458         * tests/test-sleep.c (sleep): Likewise.
75459         * tests/test-snprintf.c (snprintf): Likewise.
75460         * tests/test-sprintf-posix.c (sprintf): Likewise.
75461         * tests/test-stat.c (stat): Likewise.
75462         * tests/test-stpncpy.c (stpncpy): Likewise.
75463         * tests/test-strcasestr.c (strcasestr): Likewise.
75464         * tests/test-strchrnul.c (strchrnul): Likewise.
75465         * tests/test-strerror.c (strerror): Likewise.
75466         * tests/test-strsignal.c (strsignal): Likewise.
75467         * tests/test-strstr.c (strstr): Likewise.
75468         * tests/test-strtod.c (strtod): Likewise.
75469         * tests/test-strverscmp.c (strverscmp): Likewise.
75470         * tests/test-symlink.c (symlink): Likewise.
75471         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
75472         * tests/test-times.c (times): Likewise.
75473         * tests/test-trunc1.c (trunc): Likewise.
75474         * tests/test-truncf1.c (truncf): Likewise.
75475         * tests/test-truncl.c (truncl): Likewise.
75476         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
75477         Likewise.
75478         * tests/test-uname.c (uname): Likewise.
75479         * tests/test-unlink.c (unlink): Likewise.
75480         * tests/test-unlinkat.c (unlinkat): Likewise.
75481         * tests/test-unsetenv.c (unsetenv): Likewise.
75482         * tests/test-usleep.c (usleep): Likewise.
75483         * tests/test-utimensat.c (utimensat): Likewise.
75484         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
75485         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
75486         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
75487         * tests/test-vprintf-posix.c (vprintf): Likewise.
75488         * tests/test-vsnprintf.c (vsnprintf): Likewise.
75489         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
75490         * tests/test-wcrtomb.c (wcrtomb): Likewise.
75491         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
75492         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
75493         * tests/test-wcwidth.c (wcwidth): Likewise.
75495         build: pull in conditional headers during GNULIB_POSIXCHECK
75496         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
75497         definitions from any conditionally-included headers.
75498         * lib/stdlib.in.h (includes): Likewise.
75499         * lib/unistd.in.h (includes): Likewise.
75501 2009-12-24  Bruno Haible  <bruno@clisp.org>
75503         * tests/test-argv-iter.c: Include header file being tested immediately
75504         after config.h.
75505         * tests/test-base64.c: Likewise.
75506         * tests/test-flock.c: Likewise.
75507         * tests/test-fsync.c: Likewise.
75508         * tests/test-getdate.c: Likewise.
75509         * tests/test-getndelim2.c: Likewise.
75510         * tests/test-isfinite.c: Likewise.
75511         * tests/test-isinf.c: Likewise.
75512         * tests/test-strerror.c: Likewise.
75513         * tests/test-strsignal.c: Likewise.
75515 2009-12-23  Eric Blake  <ebb9@byu.net>
75517         unistd: work around cygwin bug
75518         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
75519         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
75520         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
75522 2009-12-23  Bruno Haible  <bruno@clisp.org>
75524         localename: More tests.
75525         * tests/test-localename.c (SIZEOF): New macro.
75526         (categories): New variable.
75527         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
75528         test_locale_name_default): Add test w.r.t. thread locale.
75529         (test_locale_name_thread): New function.
75530         (main): Invoke it.
75532         localename: Make aware of thread locale.
75533         * lib/localename.h (gl_locale_name_thread): New declaration.
75534         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
75535         behaviour with respect to thread locale.
75536         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
75537         <langinfo.h>, glthread/lock.h.
75538         (SIZE_BITS): New macro.
75539         (string_hash): New function.
75540         (struct hash_node): New type.
75541         (HASH_TABLE_SIZE): New macro.
75542         (struniq_hash_table, struniq_lock): New variables.
75543         (struniq): New function.
75544         (gl_locale_name_thread): New function.
75545         (gl_locale_name): Invoke it.
75546         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
75547         * modules/localename (Depends-on): Add lock.
75548         Reported by Mike Gran <spk121@yahoo.com>.
75550 2009-12-23  Eric Blake  <ebb9@byu.net>
75552         va-args: new module
75553         * modules/va-args: New file.
75554         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
75555         * MODULES.html.sh (Core language properties): Mention it.
75557         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
75558         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
75559         named alias for __attribute__((__unused__)).
75560         * lib/chown.c: Update client.
75561         * lib/fchmodat.c: Likewise.
75562         * lib/fts.c: Likewise.
75563         * lib/getdate.y: Likewise.
75564         * lib/getgroups.c: Likewise.
75565         * lib/getopt.c: Likewise.
75566         * lib/getugroups.c: Likewise.
75567         * lib/mkdir.c: Likewise.
75568         * lib/mkfifo.c: Likewise.
75569         * lib/mkfifoat.c: Likewise.
75570         * lib/mknod.c: Likewise.
75571         * lib/mknodat.c: Likewise.
75572         * lib/readlink.c: Likewise.
75573         * lib/se-context.in.h: Likewise.
75574         * lib/se-selinux.in.h: Likewise.
75575         * lib/sockets.c: Likewise.
75576         * lib/symlink.c: Likewise.
75577         * lib/symlinkat.c: Likewise.
75578         * lib/unicodeio.c: Likewise.
75579         * lib/unistr.h: Likewise.
75580         * tests/test-areadlink.c: Likewise.
75581         * tests/test-areadlinkat.c: Likewise.
75582         * tests/test-filenamecat.c: Likewise.
75583         * tests/test-fseeko.c: Likewise.
75584         * tests/test-ftello.c: Likewise.
75585         * tests/test-getdate.c: Likewise.
75586         * tests/test-getgroups.c: Likewise.
75587         * tests/test-gethostname.c: Likewise.
75588         * tests/test-quotearg.c: Likewise.
75589         * tests/test-version-etc.c: Likewise.
75590         * tests/test-xalloc-die.c: Likewise.
75591         * tests/test-xfprintf-posix.c: Likewise.
75592         * tests/test-xprintf-posix.c: Likewise.
75593         * tests/test-xvasprintf.c: Likewise.
75595         tests: avoid compiler warnings
75596         * tests/test-fcntl.c (main): Delete unused parameters.
75597         * tests/test-freopen-safer.c (main): Likewise.
75598         * tests/test-xalloc-die.c (main): Mark unused parameters.
75599         * tests/test-fseeko.c (main): Likewise.
75600         * tests/test-ftello.c (main): Likewise.
75601         * tests/test-nanosleep.c (main): Avoid declaration warning.
75602         * tests/test-sleep.c (main): Likewise.
75603         * tests/test-unsetenv.c (main): Silence warning about string
75604         literal.
75605         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
75607 2009-12-23  Bruno Haible  <bruno@clisp.org>
75609         * tests/test-localename.c (test_locale_name): New function, extracted
75610         from main. Also test mixed situations.
75611         (test_locale_name_posix, test_locale_name_environ,
75612         test_locale_name_default): New functions.
75613         (main): Invoke them all.
75614         * modules/localename-tests (configure.ac): Test for newlocale.
75616 2009-12-23  Bruno Haible  <bruno@clisp.org>
75618         unistd: Ensure getcwd gets declared before being overridden.
75619         * lib/unistd.in.h: Conditionally include <io.h>.
75621 2009-12-22  Bruno Haible  <bruno@clisp.org>
75623         wchar: Diagnose broken combination of glibc and gcc versions and flags.
75624         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
75625         (gl_WCHAR_H): Invoke it.
75626         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
75627         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
75628         Reported by Karl Berry <karl@freefriends.org>.
75630 2009-12-22  Eric Blake  <ebb9@byu.net>
75632         math, unistd: avoid redundant includes
75633         * lib/math.in.h (isnan): No need to re-include <math.h>.
75634         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
75636         getsubopt: work around cygwin bug
75637         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
75638         avoid conflicting with system getsubopt.
75639         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
75640         bug.
75642         getopt: synchronize from glibc
75643         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
75644         parameter order.  Adjust all callers.
75645         (_getopt_internal_r, main): Adjust quoting in error messages.
75646         Drop considerations for outdated POSIX 1003.2 error message.
75647         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
75648         callers.
75649         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
75651         test-getopt: test stderr behavior
75652         * modules/getopt-posix-tests (Depends-on): Add dup2.
75653         * tests/test-getopt.c (ASSERT): Avoid stderr.
75654         (main): Move stderr to a temporary file.
75655         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
75656         Instead, add parameter to inform caller if output occurred.
75657         (test_getopt): Adjust all existing tests to expect silence, and
75658         add new tests of leading ":".
75659         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
75660         glibc shortcomings with leading "-:" or "+:" in optstring.
75661         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
75662         Likewise.
75663         * doc/posix-functions/getopt.texi (getopt): Likewise.
75665         test-getopt: enhance test
75666         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
75667         supports optind=0.
75668         * tests/test-getopt.c (OPTIND_MIN): Move...
75669         * tests/test-getopt.h (OPTIND_MIN): ...here.
75670         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
75671         Require that optind=0 works, since modern BSD supports it in
75672         addition to optreset, and since coreutils expects it.
75673         (test_getopt_long_only): New test.
75674         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
75675         glibc shortcomings with 'W;', and enforcement of optind=0.
75676         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
75677         Likewise.
75679 2009-12-21  Bruno Haible  <bruno@clisp.org>
75681         localename: Improvements for MacOS X and Cygwin.
75682         * lib/localename.h (gl_locale_name_environ): New declaration.
75683         * lib/localename.c (gl_locale_name_environ): New function, extracted from
75684         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
75685         (gl_locale_name_posix): Invoke it.
75686         (gl_locale_name_default): Add comments. Use Windows native API also on
75687         Cygwin.
75689 2009-12-21  Bruno Haible  <bruno@clisp.org>
75691         Update list of Win32 locale ids.
75692         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
75693         (LANG_SAMI): Renamed from LANG_SAAMI.
75694         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
75695         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
75696         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
75697         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
75698         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
75699         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
75700         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
75701         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
75702         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
75703         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
75704         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
75705         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
75706         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
75707         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
75708         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
75709         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
75710         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
75711         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
75712         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
75713         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
75714         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
75715         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
75716         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
75717         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
75718         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
75719         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
75720         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
75721         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
75722         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
75723         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
75724         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
75725         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
75726         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
75727         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
75728         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
75729         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
75730         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
75731         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
75732         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
75733         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
75734         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
75735         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
75736         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
75737         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
75738         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
75739         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
75740         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
75741         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
75742         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
75743         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
75744         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
75745         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
75746         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
75747         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
75748         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
75749         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
75750         Add more languages and countries for Sami, Sorbian. Add more countries
75751         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
75752         for Pashto. Change country for Syriac, Tswana.
75754 2009-12-21  Eric Blake  <ebb9@byu.net>
75756         test-utimens: avoid spurious failure
75757         * tests/test-chown.h (nap): Factor...
75758         * tests/nap.h: ...into new file.
75759         * tests/test-lchown.h (nap): Avoid duplication.
75760         * tests/test-utimens-common.h (nap): Use shared implementation,
75761         necessary on file systems with 1-second resolution.
75762         * modules/chown-tests (Files): Include new file.
75763         * modules/fdutimensat-tests (Files): Likewise.
75764         * modules/futimens-tests (Files): Likewise.
75765         * modules/lchown-tests (Files): Likewise.
75766         * modules/openat-tests (Files): Likewise.
75767         * modules/utimens-tests (Files): Likewise.
75768         * modules/utimensat-tests (Files): Likewise.
75770 2009-12-19  Eric Blake  <ebb9@byu.net>
75772         futimens, utimensat: work around Linux bug
75773         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
75774         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
75775         * lib/utimensat.c (rpl_utimensat): Work around it.
75776         * lib/futimens.c (rpl_futimens): Adjust comment.
75778         utimens: work around Linux ctime bug
75779         * lib/utimens.c (detect_ctime_bug): New helper function.
75780         (update_timespec): Differentiate between workaround needed for
75781         this bug vs. what is needed for systems that lack utimensat.
75782         (fdutimens, lutimens): Work around bug.
75784         utimens: check for ctime update
75785         * tests/test-utimens-common.h (check_ctime): Define.
75786         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
75787         * tests/test-futimens.h (test_futimens): Likewise.
75788         * tests/test-lutimens.h (test_lutimens): Likewise.
75789         * doc/posix-functions/futimens.texi (futimens): Document the bug.
75790         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
75792 2009-12-19  Bruno Haible  <bruno@clisp.org>
75794         dprintf-posix: Check against memory leak fixed on 2009-12-15.
75795         * tests/test-dprintf-posix2.sh: New file.
75796         * tests/test-dprintf-posix2.c: New file.
75797         * modules/dprintf-posix-tests (Files): Add them.
75798         (configure.ac): Check for getrlimit and setrlimit.
75799         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
75801 2009-12-19  Bruno Haible  <bruno@clisp.org>
75803         fprintf-posix: Check against memory leak fixed on 2009-12-15.
75804         * tests/test-fprintf-posix3.sh: New file.
75805         * tests/test-fprintf-posix3.c: New file.
75806         * modules/fprintf-posix-tests (Files): Add them.
75807         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
75809 2009-12-19  Eric Blake  <ebb9@byu.net>
75811         dirfd: fix prototype
75812         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
75813         * lib/dirfd.c (dirfd): Likewise.
75815         canonicalize: reduce memory usage
75816         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
75817         allocation to size.
75818         Reported by Solar Designer <solar@openwall.com>.
75820 2009-12-19  Bruno Haible  <bruno@clisp.org>
75822         New module attribute 'Applicability'.
75823         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
75824         * gnulib-tool: New option --extract-applicability.
75825         (func_usage): Document it.
75826         (sed_extract_prog): Recognize it.
75827         (func_get_applicability): New function.
75828         (func_import): Generalize handling of 'link-warning' module.
75829         * modules/link-warning (Applicability): New section.
75830         * modules/arg-nonnull (Applicability): New section.
75831         Repoted by Simon Josefsson <simon@josefsson.org>.
75833 2009-12-19  Bruno Haible  <bruno@clisp.org>
75835         fflush: tweak
75836         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
75837         * lib/fseeko.c (rpl_fseeko): Likewise.
75839 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
75841         * lib/gl_list.h: Fix typo in comment.
75843 2009-12-16  Eric Blake  <ebb9@byu.net>
75845         fcntl: use to simplify other modules
75846         * modules/cloexec (Depends-on): Add fcntl.
75847         * modules/fchdir (Depends-on): Likewise.
75848         * modules/fd-safer-flag (Depends-on): Likewise.
75849         * modules/unistd-safer (Depends-on): Likewise.
75850         * modules/dup3 (configure.ac): Set module indicator.
75851         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
75852         missing.
75853         * lib/fchdir.c (_gl_register_dup): Fix comment.
75854         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
75855         * lib/dup-safer.c (dup_safer): Likewise.
75856         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
75857         * lib/dup3.c (dup3): Likewise.
75858         * tests/test-fchdir.c (main): Enhance test.
75859         Fixes a dup_cloexec bug reported by Ondřej Vašík.
75861         fcntl: port portions of fcntl to mingw
75862         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
75863         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
75864         replacement for mingw.
75865         * modules/fcntl (Description): Update.
75866         (Depends-on): Add dup2.
75867         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
75868         * modules/fcntl-h (Makefile.am): Substitute it.
75869         * lib/fcntl.in.h (fcntl): Update declaration.
75870         (F_DUPFD, F_GETFD): New macros, when needed.
75871         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
75872         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
75873         * tests/test-fcntl.c (check_flags, main): Enhance test for items
75874         we now guarantee.
75876         fcntl: work around cygwin bug in F_DUPFD
75877         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
75878         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
75879         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
75880         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
75881         * doc/posix-functions/fcntl.texi (fcntl): Document it.
75883         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
75884         * modules/fcntl (Files): List new files.
75885         (configure.ac): Run a test.
75886         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
75887         * lib/fcntl.c (rpl_fcntl): Likewise.
75888         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
75889         (gl_FCNTL_H): Always replace fcntl.h.
75890         * modules/fcntl-h (Makefile.am): Substitute witnesses.
75891         * lib/fcntl.in.h (fcntl): Declare replacement.
75892         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
75893         needed, plus a witness.
75894         * doc/posix-functions/fcntl.texi (fcntl): Document this.
75895         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
75896         * tests/test-fcntl.c: New file.
75897         * modules/fcntl-tests: Likewise.
75899         binary-io: avoid potential compilation warning
75900         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
75901         directives.
75903         fflush: avoid compilation error on NetBSD
75904         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
75905         between off_t and fpos_t, since the latter is sometimes a struct.
75906         * lib/fseeko.c (rpl_fseeko): Likewise.
75907         Reported by Alexander Nasonov <alnsn@yandex.ru>.
75909 2009-12-15  Eric Blake  <ebb9@byu.net>
75911         fcntl-h, stdio, sys_ioctl: fix declarations
75912         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
75913         function must not take arguments.
75914         * lib/sys_ioctl.in.h (ioctl): Likewise.
75915         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
75916         (open): Add a link warning.
75918 2009-12-15  Jim Meyering  <meyering@redhat.com>
75920         areadlink, areadlink-with-size: relax license to LGPLv2+
75921         * modules/areadlink (License): Relax to LGPLv2+.
75922         * modules/areadlink-with-size (License): Likewise.
75924 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
75925             Bruno Haible  <bruno@clisp.org>
75927         *printf: Fix memory leak.
75928         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
75929         * lib/vfprintf.c (vfprintf): Likewise.
75930         * lib/dprintf.c (dprintf): Likewise.
75931         * lib/vdprintf.c (vdprintf): Likewise.
75933 2009-12-14  Eric Blake  <ebb9@byu.net>
75935         accept4: adjust module dependencies
75936         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
75938         utimens: one more try at avoiding compiler warning
75939         * lib/utimens.c (lutimens): Lower scope of result.
75941 2009-12-13  Bruno Haible  <bruno@clisp.org>
75943         Move the malloc checking from module 'list' to new module 'xlist'.
75944         * modules/xlist: New file.
75945         * lib/gl_xlist.h: New file.
75946         * lib/gl_xlist.c: New file.
75947         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
75948         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
75949         gl_list_add_last, gl_list_add_before, gl_list_add_after,
75950         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
75951         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
75952         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
75953         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
75954         gl_sortedlist_nx_add): New declarations.
75955         (struct gl_list_implementation): Rename and change methods accordingly.
75956         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
75957         (gl_list_nx_create): Renamed from gl_list_create.
75958         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
75959         (gl_list_nx_set_at): Renamed from gl_list_set_at.
75960         (gl_list_nx_add_first): Renamed from gl_list_add_first.
75961         (gl_list_nx_add_last): Renamed from gl_list_add_last.
75962         (gl_list_nx_add_before): Renamed from gl_list_add_before.
75963         (gl_list_nx_add_after): Renamed from gl_list_add_after.
75964         (gl_list_nx_add_at): Renamed from gl_list_add_at.
75965         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
75966         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
75967         gl_list_create_empty.
75968         (gl_list_nx_create): Renamed from gl_list_create.
75969         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
75970         (gl_list_nx_set_at): Renamed from gl_list_set_at.
75971         (gl_list_nx_add_first): Renamed from gl_list_add_first.
75972         (gl_list_nx_add_last): Renamed from gl_list_add_last.
75973         (gl_list_nx_add_before): Renamed from gl_list_add_before.
75974         (gl_list_nx_add_after): Renamed from gl_list_add_after.
75975         (gl_list_nx_add_at): Renamed from gl_list_add_at.
75976         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
75977         * lib/gl_array_list.c: Don't include xalloc.h.
75978         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
75979         NULL upon out-of-memory.
75980         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
75981         out-of-memory.
75982         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
75983         Change return type to 'int'.
75984         (gl_array_nx_set_at): Renamed from gl_array_set_at.
75985         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
75986         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
75987         upon out-of-memory.
75988         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
75989         upon out-of-memory.
75990         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
75991         upon out-of-memory.
75992         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
75993         upon out-of-memory.
75994         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
75995         out-of-memory.
75996         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
75997         Update.
75998         (gl_array_list_implementation): Update.
75999         * lib/gl_carray_list.c: Don't include xalloc.h.
76000         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
76001         Return NULL upon out-of-memory.
76002         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
76003         out-of-memory.
76004         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
76005         Change return type to 'int'.
76006         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
76007         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76008         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
76009         upon out-of-memory.
76010         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
76011         upon out-of-memory.
76012         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
76013         out-of-memory.
76014         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
76015         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
76016         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
76017         Update.
76018         (gl_carray_list_implementation): Update.
76019         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
76020         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
76021         gl_linked_create_empty. Return NULL upon out-of-memory.
76022         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
76023         out-of-memory.
76024         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
76025         Change return type to 'int'. Return -1 upon out-of-memory.
76026         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
76027         out-of-memory.
76028         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
76029         upon out-of-memory.
76030         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
76031         upon out-of-memory.
76032         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
76033         NULL upon out-of-memory.
76034         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
76035         upon out-of-memory.
76036         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
76037         out-of-memory.
76038         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
76039         Update.
76040         * lib/gl_linked_list.c: Don't include xalloc.h.
76041         (gl_linked_list_implementation): Update.
76042         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
76043         (add_to_bucket): Change return type to 'int'.
76044         (gl_linkedhash_list_implementation): Update.
76045         * lib/gl_anytree_list1.h (free_subtree): New function.
76046         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
76047         gl_tree_create_empty. Return NULL upon out-of-memory.
76048         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
76049         Change return type to 'int'. Return -1 upon out-of-memory.
76050         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
76051         out-of-memory.
76052         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
76053         (gl_tree_remove_node): New function, moved here from
76054         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
76055         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
76056         Update.
76057         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
76058         malloc, not xmalloc. Return NULL upon out-of-memory.
76059         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76060         out-of-memory.
76061         (gl_tree_remove_node_from_tree): New function, extracted from
76062         gl_tree_remove_node.
76063         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76064         upon out-of-memory.
76065         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76066         out-of-memory.
76067         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76068         upon out-of-memory.
76069         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76070         upon out-of-memory.
76071         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76072         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
76073         not xmalloc. Return NULL upon out-of-memory.
76074         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76075         out-of-memory.
76076         (gl_tree_remove_node_from_tree): New function, extracted from
76077         gl_tree_remove_node.
76078         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76079         upon out-of-memory.
76080         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76081         out-of-memory.
76082         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76083         upon out-of-memory.
76084         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76085         upon out-of-memory.
76086         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76087         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
76088         gl_anytree_list1.h before gl_anyavltree_list2.h.
76089         (gl_avltree_list_implementation): Update.
76090         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
76091         gl_anytree_list1.h before gl_anyavltree_list2.h.
76092         (gl_rbtree_list_implementation): Update.
76093         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
76094         Change return type to 'int'. Return -1 upon out-of-memory. Use
76095         __builtin_expect.
76096         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
76097         (gl_avltreehash_list_implementation): Update.
76098         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
76099         (gl_rbtreehash_list_implementation): Update.
76100         * modules/array-list (Depends-on): Remove xalloc.
76101         * modules/carray-list (Depends-on): Likewise.
76102         * modules/linked-list (Depends-on): Likewise.
76103         * modules/linkedhash-list (Depends-on): Likewise.
76104         * modules/avltree-list (Depends-on): Likewise.
76105         * modules/rbtree-list (Depends-on): Likewise.
76106         * modules/avltreehash-list (Depends-on): Likewise.
76107         * modules/rbtreehash-list (Depends-on): Likewise.
76109         * modules/xsublist: New file.
76110         * lib/gl_xsublist.h: New file.
76111         * lib/gl_xsublist.c: New file.
76112         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
76113         (gl_sublist_nx_create): New declaration.
76114         * lib/gl_sublist.c: Don't include xalloc.h.
76115         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
76116         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
76117         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
76118         Change return type to 'int'. Return -1 upon out-of-memory.
76119         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
76120         upon out-of-memory.
76121         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
76122         NULL upon out-of-memory.
76123         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
76124         upon out-of-memory.
76125         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
76126         NULL upon out-of-memory.
76127         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
76128         NULL upon out-of-memory.
76129         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
76130         upon out-of-memory.
76131         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
76132         (gl_sublist_list_implementation): Update.
76133         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
76134         upon out-of-memory.
76135         * modules/sublist (Depends-on): Remove xalloc.
76137         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
76138         * tests/test-carray_list.c: Likewise.
76139         * tests/test-linked_list.c: Likewise.
76140         * tests/test-linkedhash_list.c: Likewise.
76141         * tests/test-avltree_list.c: Likewise.
76142         * tests/test-rbtree_list.c: Likewise.
76143         * tests/test-avltreehash_list.c: Likewise.
76144         * tests/test-rbtreehash_list.c: Likewise.
76145         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
76146         * modules/carray-list-tests (Makefile.am): Likewise.
76147         * modules/linked-list-tests (Makefile.am): Likewise.
76148         * modules/linkedhash-list-tests (Makefile.am): Likewise.
76149         * modules/avltree-list-tests (Makefile.am): Likewise.
76150         * modules/rbtree-list-tests (Makefile.am): Likewise.
76151         * modules/avltreehash-list-tests (Makefile.am): Likewise.
76152         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
76154         * NEWS: Mention the changes.
76156         * lib/clean-temp.c: Include gl_xlist.h.
76157         * modules/clean-temp (Depends-on): Add xlist.
76159         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
76160         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
76162         * tests/test-array_oset.c: Include gl_xlist.h.
76163         * modules/array-oset-tests (Depends-on): Add xlist.
76165         Reported by José E. Marchesi <jemarch@gnu.org>.
76167 2009-12-13  Bruno Haible  <bruno@clisp.org>
76169         Move the malloc checking from module 'oset' to new module 'xoset'.
76170         * modules/xoset: New file.
76171         * lib/gl_xoset.h: New file.
76172         * lib/gl_xoset.c: New file.
76173         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
76174         declarations.
76175         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
76176         (struct gl_oset_implementation): Rename and change methods accordingly.
76177         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
76178         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76179         'int'. Mark as __warn_unused_result__.
76180         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
76181         gl_oset_create_empty.
76182         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76183         'int'.
76184         * lib/gl_array_oset.c: Don't include xalloc.h.
76185         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
76186         malloc, not xmalloc.
76187         (grow): Change return type to 'int'. Don't call xalloc_die.
76188         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
76189         to 'int'.
76190         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
76191         'int'.
76192         (gl_array_oset_implementation): Update.
76193         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
76194         gl_tree_create_empty.
76195         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
76196         'int'.
76197         * lib/gl_avltree_oset.c: Don't include xalloc.h.
76198         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76199         xmalloc.
76200         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76201         not xmalloc.
76202         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76203         xmalloc.
76204         (gl_avltree_oset_implementation): Update.
76205         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
76206         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76207         xmalloc.
76208         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76209         not xmalloc.
76210         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76211         xmalloc.
76212         (gl_rbtree_oset_implementation): Update.
76213         * modules/array-oset (Depends-on): Remove xalloc.
76214         * modules/avltree-oset (Depends-on): Likewise.
76215         * modules/rbtree-oset (Depends-on): Likewise.
76216         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
76217         * tests/test-avltree_oset.c: Likewise.
76218         * tests/test-rbtree_oset.c: Likewise.
76219         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76220         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
76221         * modules/rbtree-oset-tests (Makefile.am): Likewise.
76222         * NEWS: Mention the change.
76224 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
76226         maint.mk: allow a project to override release-prep commands
76227         * top/maint.mk (alpha, beta, stable): Move release-preparatory
76228         commands into a new rule.
76229         (release-prep): New rule.
76230         (release-prep-hook): New overridable variable.
76232 2009-12-13  Bruno Haible  <bruno@clisp.org>
76234         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
76236 2009-12-13  Jim Meyering  <meyering@redhat.com>
76238         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
76239         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
76241 2009-12-12  Bruno Haible  <bruno@clisp.org>
76243         duplocale: Tweak.
76244         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
76246 2009-12-12  Karl Berry  <karl@gnu.org>
76248         * config/srclist.txt (strtoll.c): tab changes, no more sync.
76250 2009-12-12  Bruno Haible  <bruno@clisp.org>
76252         * m4/po.m4: Undo incorrect untabification.
76254 2009-12-12  Bruno Haible  <bruno@clisp.org>
76256         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
76257         * modules/c-strtod (Depends-on): Add locale.
76258         * modules/c-strtold (Depends-on): Likewise.
76260 2009-12-12  Bruno Haible  <bruno@clisp.org>
76262         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
76264 2009-12-11  Eric Blake  <ebb9@byu.net>
76266         setenv: relax requirement in light of POSIX ruling
76267         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
76268         not NULL.
76269         * tests/test-setenv.c (main): Relax test.
76270         * tests/test-unsetenv.c (main): Likewise.
76271         * doc/posix-functions/setenv.texi (setenv): Document this.
76272         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
76274 2009-12-11  Bruno Haible  <bruno@clisp.org>
76276         New module 'fd-safer-flag'.
76277         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
76278         * lib/dup-safer.c (dup_safer_flag): Remove function.
76279         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
76280         * lib/fd-safer.c (fd_safer_flag): Remove function.
76281         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
76282         * modules/cloexec (configure.ac): Drop indicator macro.
76283         * modules/fd-safer-flag: New file.
76284         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
76285         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
76286         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
76288 2009-12-11  Bruno Haible  <bruno@clisp.org>
76290         Tests for module 'nl_langinfo'.
76291         * modules/nl_langinfo-tests: New file.
76292         * tests/test-nl_langinfo.sh: New file.
76293         * tests/test-nl_langinfo.c: New file.
76295         New module 'nl_langinfo'.
76296         * lib/nl_langinfo.c: New file.
76297         * m4/nl_langinfo.m4: New file.
76298         * modules/nl_langinfo: New file.
76299         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
76301 2009-12-11  Bruno Haible  <bruno@clisp.org>
76303         Tests for module 'langinfo'.
76304         * modules/langinfo-tests: New file.
76305         * tests/test-langinfo.c: New file.
76307         New module 'langinfo'.
76308         * lib/langinfo.in.h: New file.
76309         * m4/langinfo_h.m4: New file.
76310         * modules/langinfo: New file.
76311         * doc/posix-headers/langinfo.texi: Mention the new module.
76313 2009-12-11  Bruno Haible  <bruno@clisp.org>
76315         * lib/config.charset: Untabify.
76317 2009-12-11  Bruno Haible  <bruno@clisp.org>
76319         * modules/unistd-safer (configure.ac): Drop indicator macro.
76321 2009-12-11  Bruno Haible  <bruno@clisp.org>
76323         Move pipe2-safer code to its own file.
76324         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
76325         * lib/pipe-safer.c (pipe2_safer): Remove function.
76326         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
76327         (Makefile.am): Add it to lib_SOURCES.
76329 2009-12-10  Bruno Haible  <bruno@clisp.org>
76331         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
76333 2009-12-10  Bruno Haible  <bruno@clisp.org>
76335         Declare which arguments expect non-NULL values, for GCC and clang.
76336         * build-aux/arg-nonnull.h: New file.
76337         * modules/arg-nonnull: New file.
76338         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
76339         (inet_ntop, inet_pton): Use it.
76340         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
76341         (closedir, dirfd, opendir, scandir, alphasort): Use it.
76342         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
76343         (open, openat): Use it.
76344         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
76345         (fnmatch): Use it.
76346         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
76347         (getopt, getopt_long, getopt_long_only): Use it.
76348         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
76349         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
76350         Use it.
76351         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
76352         (iconv_open): Use it.
76353         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
76354         (strtoimax, strtoumax): Use it.
76355         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
76356         (duplocale): Use it.
76357         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
76358         (frexp, frexpl): Use it.
76359         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
76360         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
76361         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
76362         (tsearch, tfind, tdelete, twalk): Use it.
76363         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
76364         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
76365         sigpending): Use it.
76366         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
76367         (posix_spawn, posix_spawnp, posix_spawnattr_init,
76368         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
76369         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
76370         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
76371         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
76372         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
76373         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
76374         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
76375         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
76376         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
76377         Use it.
76378         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
76379         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
76380         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
76381         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
76382         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
76383         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
76384         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
76385         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
76386         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
76387         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
76388         strtoull, unsetenv): Use it.
76389         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
76390         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
76391         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
76392         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
76393         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
76394         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
76395         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
76396         (strcasecmp, strncasecmp): Use it.
76397         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
76398         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
76399         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
76400         rpl_setsockopt): Use it.
76401         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
76402         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
76403         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
76404         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
76405         (gettimeofday): Use it.
76406         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
76407         (times): Use it.
76408         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
76409         (uname): Use it.
76410         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
76411         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
76412         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
76413         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
76414         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
76415         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
76416         unlinkat, write): Use it.
76417         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
76418         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
76419         * lib/argv-iter.h: Include arg-nonnull.h.
76420         (_ATTRIBUTE_NONNULL_): Remove macro.
76421         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
76422         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
76423         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
76424         optimization.
76425         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
76426         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
76427         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
76428         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
76429         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
76430         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
76431         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
76432         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
76433         * modules/arpa_inet (Depends-on): Add arg-nonnull.
76434         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
76435         * modules/dirent (Depends-on): Add arg-nonnull.
76436         (Makefile.am): Insert arg-nonnull.h into dirent.h.
76437         * modules/fcntl-h (Depends-on): Add arg-nonnull.
76438         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
76439         * modules/fnmatch (Depends-on): Add arg-nonnull.
76440         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
76441         * modules/getopt-posix (Depends-on): Add arg-nonnull.
76442         (Makefile.am): Insert arg-nonnull.h into getopt.h.
76443         * modules/glob (Depends-on): Add arg-nonnull.
76444         (Makefile.am): Insert arg-nonnull.h into glob.h.
76445         * modules/iconv_open (Depends-on): Add arg-nonnull.
76446         (Makefile.am): Insert arg-nonnull.h into iconv.h.
76447         * modules/inttypes (Depends-on): Add arg-nonnull.
76448         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
76449         * modules/locale (Depends-on): Add arg-nonnull.
76450         (Makefile.am): Insert arg-nonnull.h into locale.h.
76451         * modules/math (Depends-on): Add arg-nonnull.
76452         (Makefile.am): Insert arg-nonnull.h into math.h.
76453         * modules/netdb (Depends-on): Add arg-nonnull.
76454         (Makefile.am): Insert arg-nonnull.h into netdb.h.
76455         * modules/search (Depends-on): Add arg-nonnull.
76456         (Makefile.am): Insert arg-nonnull.h into search.h.
76457         * modules/signal (Depends-on): Add arg-nonnull.
76458         (Makefile.am): Insert arg-nonnull.h into signal.h.
76459         * modules/spawn (Depends-on): Add arg-nonnull.
76460         (Makefile.am): Insert arg-nonnull.h into spawn.h.
76461         * modules/stdio (Depends-on): Add arg-nonnull.
76462         (Makefile.am): Insert arg-nonnull.h into stdio.h.
76463         * modules/stdlib (Depends-on): Add arg-nonnull.
76464         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
76465         * modules/string (Depends-on): Add arg-nonnull.
76466         (Makefile.am): Insert arg-nonnull.h into string.h.
76467         * modules/strings (Depends-on): Add arg-nonnull.
76468         (Makefile.am): Insert arg-nonnull.h into strings.h.
76469         * modules/sys_socket (Depends-on): Add arg-nonnull.
76470         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
76471         * modules/sys_stat (Depends-on): Add arg-nonnull.
76472         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
76473         * modules/sys_time (Depends-on): Add arg-nonnull.
76474         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
76475         * modules/sys_times (Depends-on): Add arg-nonnull.
76476         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
76477         * modules/sys_utsname (Depends-on): Add arg-nonnull.
76478         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
76479         * modules/time (Depends-on): Add arg-nonnull.
76480         (Makefile.am): Insert arg-nonnull.h into time.h.
76481         * modules/unistd (Depends-on): Add arg-nonnull.
76482         (Makefile.am): Insert arg-nonnull.h into unistd.h.
76483         * modules/wchar (Depends-on): Add arg-nonnull.
76484         (Makefile.am): Insert arg-nonnull.h into wchar.h.
76485         * modules/argv-iter (Depends-on): Add arg-nonnull.
76486         * tests/test-canonicalize.c (null_ptr): New function.
76487         (main): Use it.
76488         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
76489         (main): Use it.
76490         * tests/test-memmem.c (null_ptr): New function.
76491         (main): Use it.
76492         Reported by Jim Meyering.
76494 2009-12-10  Bruno Haible  <bruno@clisp.org>
76496         Use spaces for indentation, not tabs.
76497         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
76498         * m4/*.m4: Untabify.
76499         * build-aux/*.h: Untabify.
76500         * tests/**/*.[hc]: Untabify.
76501         * README: New section "Indent with spaces, not TABs", based on
76502         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
76503         * NEWS: Mention the change.
76505 2009-12-10  Bruno Haible  <bruno@clisp.org>
76507         pty test: Fix link error.
76508         * modules/pty-tests (Makefile.am): Add the default LDADD value to
76509         test_pty_LDADD.
76511 2009-12-07  Simon Josefsson  <simon@josefsson.org>
76513         * modules/pty: New file.
76514         * modules/pty-tests: New file.
76515         * m4/pty.m4: New file.
76516         * tests/test-pty.c: New file.
76517         * doc/glibc-headers/pty.texi: Modified.
76518         * doc/glibc-functions/forkpty.texi: Modified.
76519         * doc/glibc-functions/openpty.texi: Modified.
76521 2009-12-10  Bruno Haible  <bruno@clisp.org>
76523         Avoid syntax error in C++ mode.
76524         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
76526 2009-12-10  Bruno Haible  <bruno@clisp.org>
76528         Use sed with option -e.
76529         * gnulib-tool (func_version, func_emit_copyright_notice,
76530         func_emit_initmacro_end, func_import, func_create_testdir): Pass
76531         option -e to sed.
76532         * modules/link-warning (Makefile.am): Likewise.
76534 2009-12-10  Jim Meyering  <meyering@redhat.com>
76536         mgetgroups: do not write bytes beyond end of malloc'd buffer
76537         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
76538         username, we call getgroups with a one-element-shorter buffer,
76539         but still told it the length was original, max_n_groups.
76541 2009-12-09  Eric Blake  <ebb9@byu.net>
76543         cloexec: relax license
76544         * modules/cloexec (Maintainer): Add myself.
76545         (License): Use LGPL, not GPL.
76547         link-warning: optimize generation
76548         * modules/link-warning (Makefile.am): Reduce process usage.
76550 2009-12-09  Bruno Haible  <bruno@clisp.org>
76552         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
76553         workaround was added on 2009-11-17.
76555 2009-12-09  Jim Meyering  <meyering@redhat.com>
76556             Bruno Haible  <bruno@clisp.org>
76558         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
76559         * modules/link-warning (Makefile.am): Make the comment-removing sed
76560         command more robust in the face of bootstrap-prepended comment lines.
76562 2009-12-09  Bruno Haible  <bruno@clisp.org>
76564         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
76565         most one group.
76567 2009-12-09  Simon Josefsson  <simon@josefsson.org>
76568             Bruno Haible  <bruno@clisp.org>
76570         * build-aux/link-warning.h: Add copyright notice.
76571         * modules/link-warning (Makefile.am): Generate link-warning.h from
76572         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
76573         * NEWS: Mention change in link-warning module.
76574         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
76575         * modules/dirent (Makefile.am): Add dependency to dirent.h.
76576         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
76577         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
76578         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
76579         * modules/math (Makefile.am): Add dependency to math.h.
76580         * modules/search (Makefile.am): Add dependency to search.h.
76581         * modules/signal (Makefile.am): Add dependency to signal.h.
76582         * modules/spawn (Makefile.am): Add dependency to spawn.h.
76583         * modules/stdio (Makefile.am): Add dependency to stdio.h.
76584         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
76585         * modules/string (Makefile.am): Add dependency to string.h.
76586         * modules/strings (Makefile.am): Add dependency to strings.h.
76587         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
76588         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
76589         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
76590         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
76591         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
76592         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
76593         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
76594         * modules/unistd (Makefile.am): Add dependency to unistd.h.
76595         * modules/wchar (Makefile.am): Add dependency to wchar.h.
76597 2009-12-09  Bruno Haible  <bruno@clisp.org>
76599         fchdir: Optimize away rpl_fstat when possible.
76600         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
76601         REPLACE_OPEN_DIRECTORY.
76602         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
76604 2009-12-09  Bruno Haible  <bruno@clisp.org>
76606         * lib/fchdir.c: Update comment.
76608 2009-12-09  Bruno Haible  <bruno@clisp.org>
76610         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
76612 2009-12-08  Eric Blake  <ebb9@byu.net>
76614         fchdir: avoid memory leak on re-registration.
76615         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
76617 2009-12-08  Jim Meyering  <meyering@redhat.com>
76619         init.sh: avoid Solaris 10 /bin/sh portability problem
76620         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
76621         sourced script:
76622           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
76623           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
76624           bar
76625         tests/init.sh relied on that, accepting a --set-path=DIR argument,
76626         and two tests used that idiom.
76627         * tests/init.sh: Update suggested usage comments.
76628         (path_prepend_): New function, to be used in place
76629         of the --src-path=DIR option.
76630         (setup_): Move PATH-prepending code into path_prepend_.
76631         * tests/test-pread.sh: Adapt to new usage.
76632         * tests/test-xalloc-die.sh: Likewise.
76634 2009-12-08  Simon Josefsson  <simon@josefsson.org>
76636         * doc/gnulib.texi (Glibc pty.h): Add.
76637         * doc/glibc-functions/forkpty.texi: Add.
76638         * doc/glibc-functions/openpty.texi: Add.
76639         Suggested by Bruno Haible.
76641 2009-12-08  Eric Blake  <ebb9@byu.net>
76643         fchdir: fix logic bugs
76644         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
76645         * tests/test-fchdir.c (main): Enhance test.
76646         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
76647         is in use.
76649         dup2: fix logic bugs
76650         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
76651         REPLACE_DUP2 to decide when rpl_dup2 is needed.
76652         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
76653         exists.
76654         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
76656 2009-12-07  Eric Blake  <ebb9@byu.net>
76658         unlink: fix m4 detection
76659         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
76661         unistd-safer: add unit test
76662         * modules/unistd-safer-tests: New file.
76663         * tests/test-dup-safer.c: Likewise.
76664         * tests/test-cloexec.c (setmode): Avoid compiler warning.
76665         * tests/test-dup2.c (setmode): Likewise.
76666         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
76668         cloexec: preserve text vs. binary across dup_cloexec
76669         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
76670         mode.
76671         * modules/dup2-tests (Depends-on): Add binary-io.
76672         * modules/cloexec-tests (Depends-on): Likewise.
76673         * tests/test-dup2.c (setmode, is_mode): New helpers.
76674         (main): Add tests that translation mode is preserved.
76675         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
76676         Reported by Bruno Haible.
76678         mgetgroups: reduce duplicate listings
76679         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
76680         resulting array.
76681         * tests/test-chown.h (test_chown): Simplify client.
76682         * tests/test-lchown.h (test_lchown): Likewise.
76684 2009-12-06  Bruno Haible  <bruno@clisp.org>
76686         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
76687         value.
76689 2009-12-06  Bruno Haible  <bruno@clisp.org>
76691         * lib/progname.c: Include stdio.h, stdlib.h.
76692         (set_program_name): Reject a NULL argument.
76694 2009-12-05  Eric Blake  <ebb9@byu.net>
76696         pipe2-safer: new module
76697         * modules/pipe2-safer: New file.
76698         * lib/unistd-safer.h (pipe2_safer): New prototype.
76699         * lib/unistd--.h (pipe2): New wrapper.
76700         * lib/pipe-safer.c (pipe2_safer): New function.
76701         * modules/pipe (Depends-on): Add pipe2-safer.
76702         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
76704         stdlib-safer: preserve cloexec flag for mkostemp[s]
76705         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
76706         fd_safer_flag.
76708         unistd-safer: allow preservation of cloexec status via flag
76709         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
76710         prototypes.
76711         * lib/dup-safer.c (dup_safer_flag): New function.
76712         * lib/fd-safer.c (fd_safer_flag): Likewise.
76713         * modules/cloexec (configure.ac): Set witness.
76715         test-dup2: enhance test
76716         * modules/dup2-tests (Depends-on): Add cloexec.
76717         * tests/test-dup2.c (main): Enhance test.
76719         cloexec: add dup_cloexec
76720         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
76721         header and comments.
76722         * lib/cloexec.c (set_cloexec_flag): Add comments.
76723         (dup_cloexec): New function, with mingw implementation borrowed
76724         from...
76725         * lib/w32spawn.h (dup_noinherit): ...here.
76726         * modules/execute (Depends-on): Add cloexec.
76727         * modules/pipe (Depends-on): Likewise.
76728         * modules/cloexec (Depends-on): Add dup2.
76729         * modules/cloexec-tests (Files): New file.
76730         * tests/test-cloexec.c: Likewise.
76732         test-xalloc-die: fix test for mingw
76733         * modules/xalloc-die-tests (Files): Add tests/init.sh.
76734         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
76735         directory and .exe suffix off argv[0] output.
76737         test-fseeko: fix test for mingw
76738         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
76739         than undefining fseek, so test will pass on mingw.
76741 2009-12-05  Bruno Haible  <bruno@clisp.org>
76743         * lib/progname.h (set_program_name): Clarify specification.
76744         * lib/progname.c (set_program_name): Likewise.
76745         Reported by Jim Meyering.
76747 2009-12-05  Jim Meyering  <meyering@redhat.com>
76749         maint.mk: backslash-escape parens in default regexp
76750         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
76751         backslash-escape the literal parentheses.
76753         maint.mk: news-date-check: use grep -E
76754         * top/maint.mk (today): Define a Make variable, not a...
76755         (news-date-check): ...shell variable.
76756         (news-date-regexp): Use the Make variable.
76757         Use grep's -E option.  Change the failing diagnostic to mention
76758         the variable, $(news-date-regexp).
76760 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
76762         maintainer-makefile: allow customization of NEWS entry format
76763         * top/maint.mk (news-date-regexp): New overridable variable.
76764         (news-date-check): Use it.
76766 2009-12-04  Eric Blake  <ebb9@byu.net>
76768         mgetgroups: add xgetgroups, and avoid ENOSYS failures
76769         * lib/mgetgroups.h (xgetgroups): New prototype.
76770         * lib/mgetgroups.c (xgetgroups): New wrapper.
76771         (mgetgroups): Handle ENOSYS.
76772         * modules/mgetgroups (Depends-on): Add realloc.
76773         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
76775         mgetgroups: avoid argument promotion issues with -1
76776         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
76777         for invalid gid_t.
76778         * tests/test-chown.h (getegid, test_chown): Likewise.
76779         * tests/test-lchown.h (getegid, test_lchown): Likewise.
76781 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
76783         exclude: Fix header file problems.
76784         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
76786 2009-12-01  Jim Meyering  <meyering@redhat.com>
76788         fts: fts_open: do not let an empty string cause immediate failure
76789         This is required in support of GNU rm, for which the command
76790         "rm A '' B" must process and remove both A and B, in spite of
76791         the empty string argument.
76792         * lib/fts.c (fts_open): Do not let the presence of an empty string
76793         cause fts_open to fail immediately.  Most fts-using tools must be
76794         able to process all arguments, in order, and can be expected to
76795         diagnose such arguments themselves.
76797 2009-11-30  Eric Blake  <ebb9@byu.net>
76799         utimens: fix compilation error
76800         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
76801         Declare variable at right scope.
76803 2009-11-29  Jim Meyering  <meyering@redhat.com>
76805         bootstrap: handle perl-5.11's changed --version output
76806         * build-aux/bootstrap (get_version): Handle perl separately,
76807         since perl-5.11's --version output is different.
76809 2009-11-28  Jim Meyering  <meyering@redhat.com>
76811         userspec: depend on the inttostr module, too
76812         * modules/userspec (Depends-on): Add inttostr.
76814         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
76815         * lib/userspec.c (parse_with_separator): Do not accept a user ID
76816         number of MAXUID when it evaluates to (uid_t) -1.
76817         Likewise for group ID.  Reported by Matt McCutchen in
76818         <http://savannah.gnu.org/bugs/?28113>
76820         userspec: reformat to use spaces, not TABs
76821         * lib/userspec.c: Expand TABs to spaces.
76822         Add Emacs' "indent-tabs-mode: nil" hint.
76824 2009-11-27  Eric Blake  <ebb9@byu.net>
76826         getopt-gnu: flush out another BSD bug
76827         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
76828         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
76829         flush out BSD bug.
76830         * tests/test-getopt.h (test_getopt): End lists with NULL.
76831         * tests/test-getopt_long.h (test_getopt_long): Likewise.
76832         (test_getopt_long_posix): Enhance test.
76833         * modules/getopt-posix-tests (Depends-on): Add stdbool.
76834         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
76835         getopt-gnu.
76836         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76837         Likewise.
76839 2009-11-27  Simon Josefsson  <simon@josefsson.org>
76841         * modules/idpriv-droptemp-tests (Notice): Fix text.
76843 2009-11-27  Jim Meyering  <meyering@redhat.com>
76845         test-xalloc-die: avoid spurious failure due to libtool argv difference
76846         In a libtool-enabled project, this test would fail due to a difference
76847         in the emitted program name, e.g.,
76848         -test-xalloc-die: memory exhausted
76849         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
76850         Use program to avoid that.
76851         * modules/xalloc-die-tests (Depends-on): Add progname.
76852         * tests/test-xalloc-die.c: Include progname.h".
76853         (program_name): Remove decl.
76854         (main): Call set_program_name.
76855         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
76857 2009-11-26  Richard Jones  <rjones@redhat.com>
76859         w32sock: leave win32 error in place.
76860         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
76862 2009-11-26  Eric Blake  <ebb9@byu.net>
76864         init.sh: suggest to use skip_ and fail_ functions in comments
76865         * tests/init.sh: Add a sentence.
76867 2009-11-25  Bruno Haible  <bruno@clisp.org>
76869         init.sh: add documentation in comments
76870         * tests/init.sh: Add some developer and user documentation.
76872 2009-11-26  Jim Meyering  <meyering@redhat.com>
76874         init.sh: accommodate even those who specify bogus srcdir manually
76875         * tests/init.sh: Normally, srcdir is guaranteed by automake and
76876         configure-time tests to be sanitized, so that there is no need to
76877         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
76878         (with no double quotes) suffices.  However, since tests may be
76879         invoked manually, and since you may explicitly set srcdir to the
76880         name of a directory containing spaces, do quote its uses here.
76881         * tests/test-pread.sh: Likewise.
76882         Suggested by Bruno Haible.
76884         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
76885         * tests/test-pread.sh: Write no data into the pipe, because
76886         test-pread actually reads none.  This avoids a diagnostic,
76887         "bash: echo: write error: Broken pipe", that arises in the unusual
76888         event something is ignoring SIGPIPE, and might be interpreted
76889         as some sort of failure.  Reported by Bruno Haible.
76891 2009-11-25  Jim Meyering  <meyering@redhat.com>
76893         test-pread: cover failure with ESPIPE and EINVAL
76894         * tests/test-pread.c (main): Test for failure, too.
76895         * tests/test-pread.sh: Invoke with stdin on a pipe.
76896         Suggested by Eric Blake.
76898         pread: improvement and fix
76899         * modules/pread (Depends-on): Depend on lseek, for portability to
76900         e.g., mingw.  Suggested by Eric Blake.
76901         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
76903         unistd.in.h: correct declaration of pread
76904         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
76905         Reported by Richard W.M. Jones.
76907         test-pread.sh: distribute the test script
76908         * modules/pread-tests (Files): Include test-pread.sh.
76910         test-pread.sh: clean up
76911         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
76912         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
76913         That is unnecessary, since it's always ".".
76914         Suggestion from Eric Blake.
76916         test-pread.sh: make executable
76917         * tests/test-pread.sh: Set executable bit.
76918         Reported by Eric Blake.
76920         correct typo in test-pread.sh
76921         * tests/test-pread.sh: Add #! line.
76923         test pread
76924         * tests/test-pread.c: New file.
76925         * tests/test-pread.sh: Likewise.
76926         * modules/pread-tests: Likewise.
76928         pread: new module
76929         * modules/pread: New file.
76930         * lib/unistd.in.h (pread): Define/declare.
76931         * lib/pread.c (pread): New file.
76932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
76933         * modules/unistd (Makefile.am): Substitute witnesses.
76934         * doc/posix-functions/pread.texi (pread): Update.
76935         * MODULES.html.sh: Add pread.
76937 2009-11-25  Jim Meyering  <meyering@redhat.com>
76939         tests/init.sh: new file to be used via most *.sh tests
76940         * tests/init.sh: New file.
76942 2009-11-25  Eric Blake  <ebb9@byu.net>
76944         utimens: work around older Linux failure with symlinks
76945         * lib/utimens.c (lutimensat_works_really): New variable.
76946         (fdutimens, lutimens): Use it to manage kernels that support
76947         nanosecond times on files, but not on symlinks.
76948         Reported by Ondřej Vašík.
76950         utimes: fix configure grammar
76951         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
76953 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
76955         regex: Fix fastmap for multibyte character ranges.
76956         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
76957         characters when a multibyte character range is included.
76959 2009-11-22  Andy Wingo  <wingo@pobox.com>
76961         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
76962         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
76964 2009-11-24  Bruno Haible  <bruno@clisp.org>
76966         doc: Most *_l functions exist in MacOS X 10.5.
76967         * doc/posix-functions/duplocale.texi: Update platforms list.
76968         * doc/posix-functions/freelocale.texi: Likewise.
76969         * doc/posix-functions/newlocale.texi: Likewise.
76970         * doc/posix-functions/uselocale.texi: Likewise.
76971         * doc/posix-functions/isalnum_l.texi: Likewise.
76972         * doc/posix-functions/isalpha_l.texi: Likewise.
76973         * doc/posix-functions/isblank_l.texi: Likewise.
76974         * doc/posix-functions/iscntrl_l.texi: Likewise.
76975         * doc/posix-functions/isdigit_l.texi: Likewise.
76976         * doc/posix-functions/isgraph_l.texi: Likewise.
76977         * doc/posix-functions/islower_l.texi: Likewise.
76978         * doc/posix-functions/isprint_l.texi: Likewise.
76979         * doc/posix-functions/ispunct_l.texi: Likewise.
76980         * doc/posix-functions/isspace_l.texi: Likewise.
76981         * doc/posix-functions/isupper_l.texi: Likewise.
76982         * doc/posix-functions/iswalnum_l.texi: Likewise.
76983         * doc/posix-functions/iswalpha_l.texi: Likewise.
76984         * doc/posix-functions/iswblank_l.texi: Likewise.
76985         * doc/posix-functions/iswcntrl_l.texi: Likewise.
76986         * doc/posix-functions/iswctype_l.texi: Likewise.
76987         * doc/posix-functions/iswdigit_l.texi: Likewise.
76988         * doc/posix-functions/iswgraph_l.texi: Likewise.
76989         * doc/posix-functions/iswlower_l.texi: Likewise.
76990         * doc/posix-functions/iswprint_l.texi: Likewise.
76991         * doc/posix-functions/iswpunct_l.texi: Likewise.
76992         * doc/posix-functions/iswspace_l.texi: Likewise.
76993         * doc/posix-functions/iswupper_l.texi: Likewise.
76994         * doc/posix-functions/iswxdigit_l.texi: Likewise.
76995         * doc/posix-functions/isxdigit_l.texi: Likewise.
76996         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
76997         * doc/posix-functions/strcasecmp_l.texi: Likewise.
76998         * doc/posix-functions/strcoll_l.texi: Likewise.
76999         * doc/posix-functions/strfmon_l.texi: Likewise.
77000         * doc/posix-functions/strftime_l.texi: Likewise.
77001         * doc/posix-functions/strncasecmp_l.texi: Likewise.
77002         * doc/posix-functions/strxfrm_l.texi: Likewise.
77003         * doc/posix-functions/tolower_l.texi: Likewise.
77004         * doc/posix-functions/toupper_l.texi: Likewise.
77005         * doc/posix-functions/towctrans_l.texi: Likewise.
77006         * doc/posix-functions/towlower_l.texi: Likewise.
77007         * doc/posix-functions/towupper_l.texi: Likewise.
77008         * doc/posix-functions/wcscoll_l.texi: Likewise.
77009         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
77010         * doc/posix-functions/wctrans_l.texi: Likewise.
77011         * doc/posix-functions/wctype_l.texi: Likewise.
77012         * doc/glibc-functions/strptime_l.texi: Likewise.
77013         * doc/glibc-functions/strtod_l.texi: Likewise.
77014         * doc/glibc-functions/strtof_l.texi: Likewise.
77015         * doc/glibc-functions/strtol_l.texi: Likewise.
77016         * doc/glibc-functions/strtold_l.texi: Likewise.
77017         * doc/glibc-functions/strtoll_l.texi: Likewise.
77018         * doc/glibc-functions/strtoul_l.texi: Likewise.
77019         * doc/glibc-functions/strtoull_l.texi: Likewise.
77020         * doc/glibc-functions/wcsftime_l.texi: Likewise.
77021         * doc/glibc-functions/wcstod_l.texi: Likewise.
77022         * doc/glibc-functions/wcstof_l.texi: Likewise.
77023         * doc/glibc-functions/wcstol_l.texi: Likewise.
77024         * doc/glibc-functions/wcstold_l.texi: Likewise.
77025         * doc/glibc-functions/wcstoll_l.texi: Likewise.
77026         * doc/glibc-functions/wcstoul_l.texi: Likewise.
77027         * doc/glibc-functions/wcstoull_l.texi: Likewise.
77029 2009-11-24  Bruno Haible  <bruno@clisp.org>
77031         duplocale: Fix logic bug.
77032         * lib/duplocale.c: Don't include <langinfo.h>.
77033         (_NL_LOCALE_NAME): Remove macro.
77034         (rpl_duplocale): Use setlocale instead of nl_langinfo.
77035         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
77037 2009-11-23  Jim Meyering  <meyering@redhat.com>
77039         test-update-copyright: don't hard-code /usr/bin/perl
77040         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
77041         perl to print the current year.  Gilles Espinasse reported that
77042         the replaced use of perl was hard-coded as /usr/bin/perl.
77044 2009-11-23  Bruno Haible  <bruno@clisp.org>
77046         duplocale: Add support for glibc 2.3.x.
77047         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
77049 2009-11-22  Bruno Haible  <bruno@clisp.org>
77051         vasnprintf: Tiny optimization.
77052         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
77053         MacOS X.
77055 2009-11-22  Bruno Haible  <bruno@clisp.org>
77057         Tests for module 'duplocale'.
77058         * modules/duplocale-tests: New file.
77059         * tests/test-duplocale.c: New file.
77061         New module 'duplocale'.
77062         * m4/duplocale.m4: New file.
77063         * lib/locale.in.h (duplocale): New declaration.
77064         * lib/duplocale.c: New file.
77065         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
77066         gl_LOCALE_H_DEFAULTS): New macros.
77067         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
77068         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
77069         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
77070         REPLACE_DUPLOCALE.
77071         * modules/duplocale: New file.
77072         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
77074 2009-11-22  Bruno Haible  <bruno@clisp.org>
77076         * modules/locale-tests (configure.ac): Test for newlocale function.
77077         * tests/test-locale.c: When the system has extended locale functions,
77078         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
77080         locale: Make locale_t available when possible.
77081         * lib/locale.in.h: Include <xlocale.h> when it exists.
77082         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
77083         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
77084         * modules/locale (Depends-on): Add extensions.
77085         (Makefile.am): Also substitute HAVE_XLOCALE_H.
77086         * doc/posix-headers/locale.texi: Document the problem with locale_t.
77088 2009-11-22  Bruno Haible  <bruno@clisp.org>
77090         Add comments.
77091         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
77092         invocation.
77093         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
77094         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
77095         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
77097 2009-11-22  Bruno Haible  <bruno@clisp.org>
77099         error: account for the possibility of freopen (stdout).
77100         * lib/error.c: Include <unistd.h>.
77101         (flush_stdout): New function, extracted from error and error_at_line.
77102         Determine stdout's fd dynamically.
77103         (error, error_at_line): Invoke flush_stdout.
77104         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
77105         * modules/error (Depends-on): Add unistd.
77107 2009-11-22  Bruno Haible  <bruno@clisp.org>
77109         diffseq: Add comment.
77110         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
77112 2009-11-22  Jim Meyering  <meyering@redhat.com>
77114         c-stack: avoid defining an unused static function
77115         * lib/c-stack.c (find_stack_direction): Do not define this function
77116         when it will not be used.
77118         diffseq: avoid spurious gcc warnings
77119         * lib/diffseq.h (IF_LINT2): Define.
77120         (compareseq): Use it to initialize two members of "part".
77121         This avoids two used-uninitialized warnings.
77123 2009-11-21  Jim Meyering  <meyering@redhat.com>
77125         c-stack: avoid "ignoring return value of `write'" warning
77126         * lib/c-stack.c: Include "ignore-value.h".
77127         (die): Explicitly ignore each write return value.
77128         * modules/c-stack (Depends-on): Add ignore-value.
77130 2009-11-21  Bruno Haible  <bruno@clisp.org>
77132         diffseq: reduce scope of variable 'best'.
77133         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
77134         variable, earlier used for two different purposes.
77136 2009-11-21  Jim Meyering  <meyering@redhat.com>
77138         diffseq: remove useless assignment to "best"
77139         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
77140         assignment.  At that point "best" is already guaranteed to be zero.
77142 2009-11-20  Eric Blake  <ebb9@byu.net>
77144         build: mention ftp redirector in release announcements
77145         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
77146         values that used to come from cfg.mk; mention FTP redirect URL.
77147         * build-aux/announce-gen: Mention the mirror list.
77148         Suggested by Karl Berry.
77150         nanosleep: improve port to mingw
77151         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
77152         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
77153         LIB_NANOSLEEP, but only when needed.
77154         * modules/select (Link): Document LIBSOCKET.
77155         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
77156         enough.
77158         nanosleep: work around cygwin bug
77159         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
77160         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
77161         bug.
77162         (getnow): Delete, not needed.
77163         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
77164         LIB_CLOCK_GETTIME.
77165         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
77166         clock-time, gettime.
77167         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
77168         bug.
77169         * modules/nanosleep-tests: New test.
77170         * tests/test-nanosleep.c: New file.
77172         sleep: work around cygwin bug
77173         * lib/sleep.c (rpl_sleep): Work around the bug.
77174         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
77175         (gl_PREREQ_SLEEP): Delete unused macro.
77176         * modules/sleep (Depends-on): Add verify.
77177         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77178         * modules/unistd (Makefile.am): Substitute witness.
77179         * lib/unistd.in.h (sleep): Update prototype.
77180         * doc/posix-functions/sleep.texi (sleep): Document the bug.
77181         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
77182         * modules/sleep-tests (Depends-on): Check for alarm.
77184 2009-11-20  Jim Meyering  <meyering@redhat.com>
77186         maint.mk: improve sc_prohibit_magic_number_exit
77187         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
77188         so it does not match uses like System.exit(1).
77189         Add comments showing how to correct all offenders.
77191 2009-11-19  Eric Blake  <ebb9@byu.net>
77193         xalloc-die-tests: add missing library
77194         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
77196         test-xvasprintf: silence compiler warnings
77197         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
77198         empty string from gcc.
77200 2009-11-19  Jim Meyering  <meyering@redhat.com>
77202         xfreopen: new module, from coreutils
77203         * modules/xfreopen: New module.
77204         * lib/xfreopen.c: New file.
77205         * lib/xfreopen.h: New file.
77206         * MODULES.html.sh (File stream based Input/Output"): Add it.
77208 2009-11-19  Eric Blake  <ebb9@byu.net>
77210         manywarnings: depend on warnings
77211         * modules/manywarnings (Depends-on): Add warnings.
77213         build: avoid compiler warnings
77214         * lib/select.c (rpl_select): Delete unused variable.
77215         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
77217 2009-11-18  Eric Blake  <ebb9@byu.net>
77219         tests: avoid false negative with --with-packager
77220         * tests/test-version-etc.sh: Discard packager information.
77221         * tests/test-argp-version-etc-1.sh: Likewise.
77222         Reported by Mike Frysinger.
77224         utimens: fix regression on Solaris
77225         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
77226         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
77227         can only change fd timestamps via futimesat.  Instead, use an
77228         additional witness macro to avoid BSD bug.
77229         Reported by Jim Meyering.
77231 2009-11-17  Eric Blake  <ebb9@byu.net>
77233         usleep: use it to simplify tests
77234         * modules/stat-time-tests (Depends-on): Add usleep.
77235         (configure.ac): Drop usleep check.
77236         * modules/chown-tests (Depends-on, configure.ac): Likewise.
77237         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
77238         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
77239         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
77240         * modules/openat-tests (Depends-on, configure.ac): Likewise.
77241         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
77242         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
77243         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
77244         Likewise.
77245         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
77246         * tests/test-lchown.h (nap): Likewise.
77247         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
77248         * tests/test-stat-time.c (nap): Likewise.
77249         * tests/test-utimens-common.h (nap): Update comments.
77251         usleep: new module
77252         * modules/usleep: New file.
77253         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
77254         * lib/usleep.c (usleep): Likewise.
77255         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
77256         * modules/unistd (Makefile.am): Substitute witnesses.
77257         * lib/unistd.in.h (usleep): Add declaration.
77258         * doc/pastposix-functions/usleep.texi (usleep): Document this.
77259         * MODULES.html.sh (Date and time): Likewise.
77260         * modules/usleep-tests (Depends-on): New test.
77261         * tests/test-usleep.c: New file.
77263         chown: work around OpenBSD bug
77264         * lib/chown.c (rpl_chown): Work around the bug.
77265         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
77266         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
77267         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
77268         * modules/chown (Depends-on): Add stdbool.
77269         * modules/lchown (Depends-on): Likewise.
77270         * doc/posix-functions/chown.texi (chown): Document the bug.
77271         * doc/posix-functions/lchown.texi (lchown): Likewise.
77272         * tests/test-lchown.h (test_chown): Relax test.
77274         mkstemp: avoid conflict with C++ keyword template
77275         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
77276         * lib/mkostemp.c (mkostemp): Likewise.
77277         * lib/mkostemps.c (mkostemps): Likewise.
77278         * lib/mkstemp.c (mkstemp): Likewise.
77279         * lib/mkstemps.c (mkstemps): Likewise.
77281         xalloc-die-tests: optimize
77282         * tests/test-xalloc-die.sh: Reduce number of processes.
77284 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77286         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
77287         patch from ludo@gnu.org (Ludovic Courtès).
77289 2009-11-17  Jim Meyering  <meyering@redhat.com>
77291         version-etc: use proper license string
77292         * modules/version-etc (License): Use LGPL, not LGPLv3+.
77293         * modules/version-etc-fsf: Likewise.
77295 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77297         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
77298         printed to stdout.  Deal with EOL differences.
77300 2009-11-17  Eric Blake  <ebb9@byu.net>
77302         unsetenv: work around Solaris bug
77303         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
77304         * lib/unsetenv.c (rpl_unsetenv): Work around it.
77305         Reported by Jim Meyering.
77307         vasnprintf: avoid compiler warnings
77308         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
77309         variables.
77310         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
77312 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77314         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
77315         settings since xalloc-die is no longer the self test,
77316         xalloc-die.sh is.
77318 2009-11-17  Jim Meyering  <meyering@redhat.com>
77320         test-xalloc-die.sh: make the code agree with the commit log
77321         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
77322         at the end, just in case you happen to have a test-xalloc-die
77323         program in some other PATH directory.
77325         test-xalloc-die.sh: fix a portability bug
77326         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
77327         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
77328         Otherwise, argv[0] (as often seen in diagnostics) would be too
77329         system-dependent, sometimes with, and sometimes without the leading "./".
77331         version-etc-fsf: relax license to LGPLv3+
77332         * modules/version-etc-fsf (License): Relax license.
77334 2009-11-16  Eric Blake  <ebb9@byu.net>
77336         xalloc-die-tests: avoid printing null pointer
77337         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
77338         shell script.
77339         * tests/test-xalloc-die.c (program_name): Declare.
77340         * tests/test-xalloc-die.sh (tmpfiles): New file.
77342         setenv, unsetenv: work around various bugs
77343         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
77344         (setenv) [HAVE_SETENV]: Work around bugs.
77345         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
77346         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
77347         for bugs.
77348         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
77349         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
77350         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
77351         * modules/stdlib (Makefile.am): Update substitutions.
77352         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
77353         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
77354         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77355         * modules/setenv-tests: New test.
77356         * modules/unsetenv-tests: Likewise.
77357         * tests/test-setenv.c: New file.
77358         * tests/test-unsetenv.c: Likewise.
77360 2009-11-16  Jim Meyering  <meyering@redhat.com>
77362         version-etc: relax license to LGPLv3+
77363         * modules/version-etc (License): Relax license.
77365         better AC_REQUIRE expanded-before-required-warning avoidance
77366         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
77367         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
77368         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
77369         which is no longer needed.
77371 2009-11-16  Eric Blake  <ebb9@byu.net>
77373         test-freading: clean up temporary file
77374         * tests/test-freading.c (main): Remove file on success, and use
77375         ASSERT more liberally.
77376         Reported by Jim Meyering.
77378 2009-11-16  Jim Meyering  <meyering@redhat.com>
77380         avoid new AC_REQUIRE expanded-before-required warnings
77381         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
77382         merely using it.
77383         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
77384         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
77386 2009-11-15  Simon Josefsson  <simon@josefsson.org>
77388         * tests/test-xalloc-die.c: New file.
77389         * modules/xalloc-die-tests: New file.
77390         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
77391         XFAIL_TESTS so it can be appended by modules.
77393 2009-11-15  Simon Josefsson  <simon@josefsson.org>
77395         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
77396         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
77398 2009-11-14  Eric Blake  <ebb9@byu.net>
77400         fnmatch: avoid compiler warning
77401         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
77402         to silence compiler warning about mismatch signedness in ?:.
77403         Reported by Robert Millan.
77405         intprops: add double-inclusion guard
77406         * lib/intprops.h: Allow idempotent includes.
77407         Suggested by Bruce Korb.
77409         openat: detect Solaris fchownat bug
77410         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
77411         penalizing glibc chownat when only lchownat is broken.
77412         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
77413         trailing slash bugs.
77414         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
77415         * modules/openat-tests (Files): Include more files.
77416         (Depends-on): Add mgetgroups, sleep, stat-time.
77417         (configure.ac): Add additional checks.
77418         (Makefile.am): Build new test.
77419         * tests/test-fchownat.c: New file.
77421         lchown: detect Solaris and FreeBSD bug
77422         * lib/lchown.c (rpl_lchown): Work around bug.
77423         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
77424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
77425         * modules/unistd (Makefile.am): Populate it.
77426         * lib/unistd.in.h (lchown): Update declaration.
77427         * doc/posix-functions/lchown.texi (lchown): Document the bug.
77428         * modules/lchown-tests: New file.
77429         * tests/test-lchown.h (test_lchown): Likewise.
77430         * tests/test-lchown.c (main): Likewise.
77432         chown: detect Solaris and FreeBSD bug
77433         * lib/chown.c (rpl_chown): Work around bug.
77434         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
77435         (gl_PREREQ_CHOWN): Delete.
77436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
77437         * modules/unistd (Makefile.am): Populate it.
77438         * lib/unistd.in.h (chown): Update declaration.
77439         * lib/lchown.c (chown): Update client.
77440         * modules/lchown (Depends-on): Add lstat.
77441         * doc/posix-functions/chown.texi (chown): Document the bug.
77442         * doc/posix-functions/getgroups.texi (getgroups): Document
77443         getgroups pitfall.
77444         * modules/chown-tests: New file.
77445         * tests/test-chown.h (test_chown): Likewise.
77446         * tests/test-chown.c (main): Likewise.
77448 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
77450         gnulib-tool: correctly detect absence of m4 directories
77451         * gnulib-tool: Avoid extra newline on data passed to wc -l.
77453 2009-11-14  Jim Meyering  <meyering@redhat.com>
77455         maint.mk: Prohibit inclusion of "xalloc.h" without use.
77456         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
77458 2009-11-14  John W. Eaton  <jwe@gnu.org>
77460         strftime.h: wrap function declaration in extern "C" block
77461         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
77463 2009-11-13  Eric Blake  <ebb9@byu.net>
77465         getgroups: avoid compiler warning
77466         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
77468         getgroups: work around FreeBSD bug
77469         * lib/getgroups.c (rpl_getgroups): Work around the bug.
77470         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
77471         * doc/posix-functions/getgroups.texi (getgroups): Document it.
77472         * tests/test-getgroups.c (main): Fix buffer overrun.
77474         getgroups: avoid compilation failure
77475         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
77476         * modules/getgroups (Depends-on): Add stdint.
77478 2009-11-13  Jim Meyering  <meyering@redhat.com>
77480         test-getgroups: avoid compilation failure
77481         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
77483 2009-11-13  Eric Blake  <ebb9@byu.net>
77485         mgetgroups: new module, taken from coreutils
77486         * modules/mgetgroups: New file.
77487         * lib/mgetgroups.h: Likewise.
77488         * lib/mgetgroups.c (mgetgroups): Likewise.
77489         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
77490         * MODULES.html.sh (Users and groups): Mention it.
77492         getgroups: don't expose GETGROUPS_T to user
77493         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
77494         an element at a time if GETGROUPS_T is wrong size.
77495         * lib/getugroups.h (getugroups): Change signature.
77496         * lib/unistd.in.h (getgroups): Likewise.
77497         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
77498         signature needs fixing.
77499         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
77500         AC_TYPE_GETGROUPS.
77501         * modules/group-member (Depends-on): Add getgroups.
77502         * lib/group-member.c (group_info, get_group_info): Use gid_t.
77503         (group_member): Rely on getgroups replacement.
77504         * lib/getugroups.c (getugroups): Use gid_t.
77505         * tests/test-getgroups.c (main): Likewise.
77506         * NEWS: Mention the signature change.
77507         * doc/posix-functions/getgroups.texi (getgroups): Mention the
77508         problem with signature.
77509         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
77510         GETGROUPS_T is still useful for setgroups.
77512         getgroups, getugroups: provide stubs for mingw
77513         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
77514         * lib/getugroups.c (getugroups): Likewise.
77515         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
77516         function.  Modernize replacement scheme.
77517         (gl_PREREQ_GETGROUPS): Delete.
77518         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
77519         * modules/getgroups (configure.ac): Declare witness.
77520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77521         * modules/unistd (Depends-on): Substitute witness.
77522         * lib/unistd.in.h (getgroups): Declare replacement.
77524         getgroups: avoid calling exit
77525         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
77526         drop xalloc.
77527         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
77528         dependencies.
77529         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
77530         exiting, in the rare case of malloc failure.
77532         getgroups: fix logic error
77533         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
77534         has more than 20 groups.
77535         * modules/getgroups-tests: New test.
77536         * tests/test-getgroups.c: New file.
77538 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77540         * tests/test-base64.c: Improve.
77542 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77544         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
77545         Blake <ebb9@byu.net>.
77547 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77549         * tests/test-xvasprintf.c: Add %s%s related checks.
77551 2009-11-12  Eric Blake  <ebb9@byu.net>
77553         version-etc: match standards.texi style
77554         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
77555         and use <> only for URLs.
77557 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
77559         fts: do not fail on a submount during traversal
77560         * lib/fts.c (fts_build): Read the stat info again after opening
77561         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
77562         Original report at http://bugzilla.redhat.com/501848.
77564 2009-11-12  Jim Meyering  <meyering@redhat.com>
77566         bootstrap: sync from coreutils
77567         * build-aux/bootstrap (bootstrap_epilogue): New function.
77568         Use git_modules_config in one more place.  This make bootstrap's
77569         --gnulib-srcdir option more useful for testing.
77571         bootstrap: generalize autoheader check
77572         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
77573         AC_CONFIG_HEADERS.
77575 2009-11-11  Eric Blake  <ebb9@byu.net>
77577         mkfifoat: use new modules for Solaris and BSD bugs
77578         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
77579         * lib/mkfifoat.c (mknodat): Split...
77580         * lib/mknodat.c (mknodat): ...into new file.
77581         * modules/mkfifoat (Files): Ship new file.
77582         (Depends-on): Add mkfifo, mknod.
77583         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
77584         (Depends-on): Add symlink.
77585         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
77586         redundant with test_mkfifo.h.
77587         (do_mkfifoat, do_mknodat): New helpers.
77589         mknod: new module
77590         * modules/mknod: New file.
77591         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
77592         * lib/mknod.c (mknod): Likewise.
77593         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
77594         defaults.
77595         * modules/sys_stat (Makefile.am): Substitute them.
77596         * lib/sys_stat.in.h (mknod): Declare replacement.
77597         * MODULES.html.sh (Support for systems lacking POSIX:2008):
77598         Document it.
77599         * doc/posix-functions/mknod.texi (mknod): Likewise.
77600         * modules/mknod-tests: New test.
77601         * tests/test-mknod.c: Likewise.
77603         mkfifo: new module
77604         * modules/mkfifo: New file.
77605         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
77606         * lib/mkfifo.c (mkfifo): Likewise.
77607         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
77608         defaults.
77609         * modules/sys_stat (Makefile.am): Substitute them.
77610         * lib/sys_stat.in.h (mkfifo): Declare replacement.
77611         * MODULES.html.sh (Support for systems lacking POSIX:2008):
77612         Document it.
77613         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
77614         * modules/mkfifo-tests: New test.
77615         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
77616         from test-mkfifoat.c.
77617         * tests/test-mkfifo.c: New file.
77619         readlink: detect FreeBSD bug
77620         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
77621         slash on symlink.
77622         * doc/posix-functions/readlink.texi (readlink): Document the bug.
77623         * tests/test-readlink.h (test_readlink): Enhance test.
77625         symlink: detect FreeBSD bug
77626         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
77627         slash on symlink.
77628         * doc/posix-functions/symlink.texi (symlink): Document the bug.
77629         * tests/test-symlink.h (test_symlink): Enhance test.
77631 2009-11-10  Eric Blake  <ebb9@byu.net>
77633         link: detect FreeBSD bug
77634         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
77635         symlink.
77636         * doc/posix-functions/link.texi (link): Document the bug.
77637         * tests/test-link.h (test_link): Enhance test.
77638         * tests/test-linkat.c (main): Update caller.
77640         unlink, remove: detect FreeBSD bug
77641         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
77642         slash on symlink.
77643         * doc/posix-functions/unlink.texi (unlink): Document the bug.
77644         * doc/posix-functions/remove.texi (remove): Likewise.
77645         * tests/test-unlink.h (test_unlink): Enhance test.
77646         * tests/test-remove.c (main): Likewise.
77648 2009-11-09  Eric Blake  <ebb9@byu.net>
77650         rename: detect FreeBSD bug
77651         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
77652         slash on symlink.
77653         * modules/renameat-tests (Depends-on): Add filenamecat.
77654         * tests/test-rename.h (test_rename): Allow one more errno.
77655         * tests/test-renameat.c (main): Likewise.
77656         * doc/posix-functions/rename.texi (rename): Document the bug.
77658         open: detect FreeBSD bug
77659         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
77660         symlink.
77661         * doc/posix-functions/open.texi (open): Document the bug.
77662         * doc/posix-functions/utimes.texi (utimes): Likewise.
77663         * tests/test-open.h (test_open): Add parameters, and test symlink
77664         handling.
77665         * tests/test-open.c (main): Adjust caller.
77666         * tests/test-fcntl-safer.c (main): Likewise.
77667         * modules/open-tests (Depends-on): Add stdbool, symlink.
77668         * modules/fcntl-safer-tests (Depends-on): Likewise.
77669         * tests/test-openat.c (main): Add test-open tests.
77671         stat: detect FreeBSD bug
77672         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
77673         symlink.
77674         * doc/posix-functions/stat.texi (stat): Document the bug.
77675         * tests/test-stat.h (test_stat_func): Add argument.
77676         * tests/test-stat.c (main): Adjust caller.
77677         * tests/test-fstatat.c (main): Likewise.
77678         * modules/stat-tests (Depends-on): Add stdbool, symlink.
77679         Reported by Jim Meyering.
77681 2009-11-09  James Youngman  <jay@gnu.org>
77683         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
77684         * lib/strftime.c: Correct placement of #include "ignore-value.h".
77686 2009-11-08  Jim Meyering  <meyering@redhat.com>
77688         utimens: remove invalid futimesat call
77689         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
77690         It used the file descriptor of the target file as the DIR_FD
77691         parameter and NULL as the file name.  That caused failure with
77692         errno == EFAULT on FreeBSD-8.0-rc2
77694 2009-11-07  Eric Blake  <ebb9@byu.net>
77696         fflush, freadseek: use fseeko, not fseek
77697         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
77698         (clear_ungetc_buffer): Avoid potential problems on large files.
77699         * lib/freadseek.c (freadseek): Likewise.
77700         * modules/freadseek (Depends-on): Add fseeko.
77701         * modules/fseek (configure.ac): Set a witness.
77702         * tests/test-fflush.c (main): Use fseeko.
77703         * tests/test-fpurge.c (fseek): Disable link warning.
77704         * tests/test-freadable.c (fseek): Likewise.
77705         * tests/test-freading.c (fseek): Likewise.
77706         * tests/test-fseeko.c (fseek): Likewise.
77707         * tests/test-ftell.c (fseek): Likewise.
77708         * tests/test-ftello.c (fseek): Likewise.
77709         * tests/test-fwritable.c (fseek): Likewise.
77710         * tests/test-fwriting.c (fseek): Likewise.
77712 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77714         * modules/memchr (Depends-on): Drop getpagesize dependency.
77716 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77718         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
77719         Reported by Ludovic Courtès.
77720         * build-aux/pmccabe2html: Improve example usage.
77721         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
77723 2009-11-06  Jim Meyering  <meyering@redhat.com>
77725         do-release-commit-and-tag: New module.
77726         Automate the release-commit and tag process.
77727         * build-aux/do-release-commit-and-tag: New script, from coreutils.
77728         * modules/do-release-commit-and-tag: New file.
77729         * MODULES.html.sh (Support for maintaining and releasing): Add it.
77731 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77733         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
77734         because test-select.c uses inet_pton.
77736 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77738         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
77739         GETADDRINFO_LIB.  Bump serial number.
77740         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
77741         Suggested by Eric Blake <ebb9@byu.net>.
77743 2009-11-05  Eric Blake  <ebb9@byu.net>
77745         strtod: detect darwin bug
77746         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
77747         Reported by Leo Davis.
77749         freopen-safer: new module
77750         * modules/freopen-safer: New module.
77751         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
77752         * lib/freopen-safer.c (freopen_safer): New file.
77753         * lib/stdio-safer.h (freopen_safer): New declaration.
77754         * lib/stdio--.h (freopen): New override.
77755         * MODULES.html.sh (File stream based Input/Output): Mention it.
77756         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
77757         freopen-safer module.
77758         * doc/posix-functions/stderr.texi (stderr): Likewise.
77759         * doc/posix-functions/stdin.texi (stdin): Likewise.
77760         * doc/posix-functions/stdout.texi (stdout): Likewise.
77761         * modules/freopen-safer-tests: New test.
77762         * tests/test-reopen-safer.c: New file.
77764 2009-11-05  Jim Meyering  <meyering@redhat.com>
77766         maint.mk: Prohibit inclusion of "close-stream.h" without use.
77767         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
77769 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77771         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
77773 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77775         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
77777 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77779         Fix link error.
77780         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
77781         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77783 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77785         * tests/test-func.c: Also test value of __func__.
77787 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77789         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
77790         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
77792 2009-11-05  Bruno Haible  <bruno@clisp.org>
77794         Fix link error.
77795         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
77796         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77797         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
77799 2009-11-05  Bruno Haible  <bruno@clisp.org>
77801         Tests for module 'inet_pton'.
77802         * modules/inet_pton-tests: New file.
77803         * tests/test-inet_pton.c: New file.
77805 2009-11-05  Bruno Haible  <bruno@clisp.org>
77807         Tests for module 'inet_ntop'.
77808         * modules/inet_ntop-tests: New file.
77809         * tests/test-inet_ntop.c: New file.
77811 2009-11-04  Eric Blake  <ebb9@byu.net>
77813         stdlib-safer: wrap all mkstemp variants
77814         * modules/mkostemp (configure.ac): Set witness.
77815         * modules/mkostemps (configure.ac): Likewise.
77816         * modules/mkstemps (configure.ac): Likewise.
77817         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
77818         (mkstemps_safer): Wrap more functions.
77819         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
77820         wrapping.
77821         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
77822         (mkstemps_safer): Implement the wrappers.
77824         mkstemps, mkostemps: new modules
77825         * modules/mkostemps: New module.
77826         * modules/mkstemps: Likewise.
77827         * lib/mkostemps.c (mkostemps): New file.
77828         * lib/mkstemps.c (mkstemps): Likewise.
77829         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
77830         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
77831         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
77832         * modules/stdlib (Makefile.am): Substitute them.
77833         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
77834         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
77835         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
77836         * doc/gnulib.texi (Glibc stdlib.h): Include them.
77837         * MODULES.html.sh (File system functions): Mention them.
77839         tempname: resync from glibc
77840         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
77841         same values for __GT_FILE as glibc.  Abort even when assertions
77842         are disabled.
77843         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
77844         match its value otherwise.  Allow idempotent inclusion.
77845         * lib/mkdtemp.c (mkdtemp): Adjust caller.
77846         * lib/mkostemp.c (mkostemp): Likewise.
77847         * lib/mkstemp.c (mkstemp): Likewise.
77848         * lib/tmpfile.c (tmpfile): Likewise.
77849         * NEWS: Document this.
77851         utimens: fix use of futimens on older Linux
77852         * lib/utimens.c (fdutimens): Use updated, rather than original,
77853         timespec to avoid bug in older Linux kernel.
77854         Reported by Simon Josefsson.
77856 2009-11-04  Bruno Haible  <bruno@clisp.org>
77858         Make num_processors more flexible and consistent.
77859         * lib/nproc.h (enum nproc_query): New type.
77860         (num_processors): Add a 'query' argument.
77861         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
77862         (num_processors): Add a 'query' argument. Test the value of the
77863         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
77864         mingw, count the number of CPUs available for the current process.
77865         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
77866         Check for sched_getaffinity and sched_getaffinity_np.
77867         * modules/nproc (Depends-on): Add c-ctype, extensions.
77868         * NEWS: Mention the change.
77870 2009-11-03  Bruno Haible  <bruno@clisp.org>
77872         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
77874 2009-11-03  Jim Meyering  <meyering@redhat.com>
77876         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
77877         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
77878         if it is defined.
77880 2009-11-02  Eric Blake  <ebb9@byu.net>
77882         mktime, timegm: share common declaration
77883         * lib/mktime-internal.h: New file.
77884         * lib/mktime.c: Use it rather than open-coding a declaration.
77885         * lib/timegm.c: Likewise.
77886         * modules/mktime (Files): Ship it.
77887         * modules/timegm (Files): Likewise.
77888         Suggested by Bruno Haible.
77890         test-update-copyright: update test to match script changes
77891         * tests/test-update-copyright.sh: Avoid hard-coding perl
77892         location.  Don't update *.bak created by earlier runs.
77894 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
77895             Simon Josefsson  <simon@josefsson.org>
77896             Bruno Haible  <bruno@clisp.org>
77898         Fix link error on Solaris 8.
77899         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
77900         also in libnsl. Define also INET_PTON_LIB.
77901         * modules/inet_pton (Link): New section.
77903 2009-11-02  Simon Josefsson  <simon@josefsson.org>
77904             Bruno Haible  <bruno@clisp.org>
77906         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
77907         * modules/inet_ntop (Link): New section.
77908         Reported by Boyan Kasarov <bkasarov@gmail.com>.
77910 2009-11-02  Eric Blake  <ebb9@byu.net>
77912         maint: avoid compiler warnings in m4 macros
77913         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
77914         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
77916 2009-11-02  Simon Josefsson  <simon@josefsson.org>
77918         * m4/pmccabe2html.m4: Remove file.
77919         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
77920         function.  Change maintainer.
77921         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
77922         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
77923         Courtès).
77925 2009-10-31  Eric Blake  <ebb9@byu.net>
77927         fseeko: fix m4 regression
77928         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
77929         regression from 2009-10-27.
77930         Reported by Ralf Wildenhues.
77932 2009-10-31  Jim Meyering  <meyering@redhat.com>
77934         inttostr: aesthetics and improved (compile-time) safety
77935         Define inttype_is_signed rather than inttype_is_unsigned,
77936         since the sole use is via "#if inttype_is_signed".
77937         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
77938         inttype_is_unsigned.
77939         * lib/offtostr.c (inttype_is_signed): Likewise.
77940         * lib/uinttostr.c (inttype_is_signed): Likewise.
77941         * lib/umaxtostr.c (inttype_is_signed): Likewise.
77942         * lib/inttostr.c (inttostr): Use verify to cross-check the
77943         inttype_is_signed value and the signedness of the actual type.
77944         * modules/inttostr (Depends-on): Add verify.
77946 2009-10-30  Eric Blake  <ebb9@byu.net>
77948         build: avoid compiler warnings
77949         * lib/fchmodat.c (lchmod): Mark unused variables.
77950         * lib/getopt.c (_getopt_initialize): Likewise.
77951         * lib/mktime.c (__mktime_internal): Provide prototype.
77952         * lib/inttostr.c (inttostr): Avoid compiler warning even with
77953         older gcc that do not understand #pragma GCC diagnostic.
77954         * lib/uinttostr.c (inttype_is_unsigned): Define.
77955         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
77957 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
77959         stat: fix compilation on AIX
77960         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
77961         only see struct stat64.
77963 2009-10-30  Eric Blake  <ebb9@byu.net>
77965         exclude: make more robust
77966         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
77967         rather than masking a coding bug.
77968         Suggested by Bruno Haible.
77970 2009-10-30  Jim Meyering  <meyering@redhat.com>
77972         perl scripts: remove #!/usr/bin/perl in favor of more portable...
77973         Rather than putting #!/usr/bin/perl on the first line,
77974         start with a variant of what's recommended by "man perlrun" that
77975         invokes the first "perl" program from your shell's search path.
77976         * build-aux/gitlog-to-changelog: Replace #!... as above.
77977         Add a "Local Variables" perl mode setting.
77978         Prompted by a patch from Ludovic Courtès.
77979         Improved by Eric Blake.
77980         * build-aux/useless-if-before-free: Likewise.
77981         * build-aux/announce-gen: Likewise.
77982         * build-aux/update-copyright: Likewise.
77984 2009-10-29  Eric Blake  <ebb9@byu.net>
77986         filenamecat-lgpl: adjust clients
77987         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
77988         filenamecat.
77989         * modules/renameat (Depends-on): Likewise.
77991         filenamecat: split into filenamecat-lgpl
77992         * modules/filenamecat-lgpl: New module.
77993         * modules/filenamecat (Files): Move library-safe files into
77994         filenamecat-lgpl.
77995         (Depends-on): Add filenamecat-lgpl.
77996         (configure.ac): Declare witness.
77997         * lib/filenamecat.h (file_name_concat): Only declare when using
77998         GPL module.
77999         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
78000         Move...
78001         * lib/filenamecat-lgpl.c: ...into new file.
78002         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
78003         (gl_FILE_NAME_CONCAT): Use it.
78004         * MODULES.html.sh (File system functions): Mention new module.
78006         argp: avoid memory leak
78007         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
78008         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
78009         base_name, since the latter malloc()s and can call exit().
78010         Leak introduced 2006-07-03.
78012         dirname-lgpl: adjust clients that don't need full dirname
78013         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
78014         * modules/filenamecat (Depends-on): Likewise.
78015         * modules/linkat (Depends-on): Likewise.
78016         * modules/mkancesdirs (Depends-on): Likewise.
78017         * modules/mkdir (Depends-on): Likewise.
78018         * modules/openat (Depends-on): Likewise.
78019         * modules/savewd (Depends-on): Likewise.
78020         * modules/rename (Depends-on): Likewise.
78021         (License): Relax license.
78022         * modules/mkdir-tests (Depends-on): Drop progname.
78023         (Makefile.am): Delete unneeded LDADD.
78024         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
78026         dirname: split into dirname-lgpl
78027         * modules/dirname-lgpl: New module.
78028         * modules/dirname (Files): Move library-safe files into
78029         dirname-lgpl.
78030         (Depends-on): Add dirname-lgpl.
78031         (configure.ac): Declare witness.
78032         * modules/double-slash-root (License): Relax license.
78033         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
78034         module.
78035         * lib/dirname.c (dir_len, mdir_name): Move...
78036         * lib/dirname-lgpl.c: ...into new file.
78037         * lib/basename.c (last_component, base_len): Move...
78038         * lib/basename-lgpl.c: ...into new file.
78039         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
78040         (gl_DIRNAME): Use it.
78041         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
78042         Mention new module.
78043         * modules/dirname-tests (Depends-on): Add progname.
78044         * tests/test-dirname.c (program_name): Delete.
78046         mkdir: make safe for libraries
78047         * modules/mkdir (Depends-on): Drop xalloc.
78048         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
78049         exit.
78051         tests: avoid some compiler warnings
78052         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
78053         literals.
78054         * tests/test-memchr.c (main): Avoid type mismatch.
78055         * tests/test-arpa_inet.c (main): Avoid unused parameters.
78056         * tests/test-base64.c (main): Likewise.
78057         * tests/test-getdelim.c (main): Likewise.
78058         * tests/test-gethostname.c (main): Likewise.
78059         * tests/test-getline.c (main): Likewise.
78060         * tests/test-netinet_in.c (main): Likewise.
78061         * tests/test-select.c (open_server_socket, main): Likewise.
78062         * tests/test-select-stdin.c (main): Likewise.
78063         * tests/test-sockets.c (main): Likewise.
78064         * tests/test-strsignal.c (main): Likewise.
78065         * tests/test-sys_select.c (main): Likewise.
78066         * tests/test-sys_socket.c (main): Likewise.
78067         * tests/test-u64.c (main): Likewise.
78068         * tests/test-xfprintf-posix.c (main): Likewise.
78069         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
78071         sockets: avoid compiler warning
78072         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
78074         maint: detect usage(1) and other suspicious exits
78075         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
78077 2009-10-29  Jim Meyering  <meyering@redhat.com>
78079         timespec: long-to-int truncation could make timespec_cmp malfunction
78080         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
78081         a multiple of 2^32 nanoseconds as no difference.
78083 2009-10-28  Jim Meyering  <meyering@redhat.com>
78085         fprintftime: wrap macro code argument in "do {...} while(0)"
78086         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
78087         cpy macro must be a statement that can be followed by a semicolon.
78088         Now that the else clause contains a comment and is hence longer
78089         than one line, I require curly braces.  That in turn requires
78090         that we wrap this code block in the standard do...while(0).
78092         fprintftime: remove stray semicolon from previous change
78093         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
78095         fprintftime: avoid a warning about ignored fwrite return value
78096         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
78097         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
78098         that is unsafe.
78099         * modules/fprintftime (Depends-on): Add ignore-value.
78101         exclude: avoid an unwarranted warning
78102         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
78104 2009-10-27  Eric Blake  <ebb9@byu.net>
78106         fseek: avoid compilation failure when fflush is replaced
78107         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
78108         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
78109         module is in use.
78110         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
78111         module is not in use; since REPLACE_FSEEK worked otherwise.
78112         (GNULIB_FTELLO): Likewise for ftell.
78113         Reported by Ian Beckwith and others.
78115 2009-10-27  Bruno Haible  <bruno@clisp.org>
78117         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
78118         Reported by Jim Meyering.
78120 2009-10-27  Jim Meyering  <jim@meyering.net>
78121             Bruno Haible  <bruno@clisp.org>
78123         Avoid warning despite dropping the return value of fwrite.
78124         * lib/unicodeio.c: Include ignore-value.h.
78125         (fwrite_success_callback): Explicitly ignore fwrite's return value.
78126         * modules/unicodeio (Depends-on): Add ignore-value.
78128 2009-10-26  Eric Blake  <ebb9@byu.net>
78130         areadlinkat: fix fallback path
78131         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
78132         pointer and zero.
78134 2009-10-22  Pádraig Brady  <P@draigBrady.com>
78136         Use a better IO block size for modern systems
78137         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
78138         * lib/md2.c: Likewise.
78139         * lib/md4.c: Likewise.
78140         * lib/md5.c: Likewise.
78141         * lib/sha1.c: Likewise.
78142         * lib/sha256.c: Likewise.
78143         * lib/sha512.c: Likewise.
78145 2009-10-22  Eric Blake  <ebb9@byu.net>
78147         tests: avoid several compiler warnings
78148         * tests/test-getcwd.c (main): Avoid buffer underflow.
78149         * tests/test-getdate.c (main): String literals are not safe with
78150         putenv, so use setenv.  Declare unused argument.
78151         * modules/getdate-tests (Depends-on): Add setenv.
78152         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
78153         problems with string literals in char *.
78154         * tests/test-hash.c (main): Avoid shadowing declaration.
78155         (insert_new): Treat string literals as char const *.
78156         * tests/test-getopt.h (test_getopt): Likewise.
78157         (getopt_loop): Alter types to minimize casting elsewhere.
78158         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
78159         (test_getopt_long_posix): Likewise.
78160         (do_getopt_long): Add wrapper to minimize casting.
78161         * tests/test-atexit.c (clear_temp_file): Use void.
78162         * tests/test-areadlink-with-size.c (main): Declare unused
78163         arguments.
78164         * tests/test-areadlink.c (main): Likewise.
78165         * tests/test-areadlinkat-with-size.c (main): Likewise.
78166         * tests/test-areadlinkat.c (main): Likewise.
78167         * tests/test-canonicalize-lgpl.c (main): Likewise.
78168         * tests/test-canonicalize.c (main): Likewise.
78169         * tests/test-dirent-safer.c (main): Likewise.
78170         * tests/test-dirname.c (main): Likewise.
78171         * tests/test-dup2.c (main): Likewise.
78172         * tests/test-fchdir.c (main): Likewise.
78173         * tests/test-fcntl-h.c (main): Likewise.
78174         * tests/test-fcntl-safer.c (main): Likewise.
78175         * tests/test-fdopendir.c (main): Likewise.
78176         * tests/test-fdutimensat.c (main): Likewise.
78177         * tests/test-fflush.c (main): Likewise.
78178         * tests/test-filenamecat.c (main): Likewise.
78179         * tests/test-filevercmp.c (main): Likewise.
78180         * tests/test-fopen-safer.c (main): Likewise.
78181         * tests/test-fopen.c (main): Likewise.
78182         * tests/test-fpending.c (main): Likewise.
78183         * tests/test-fpurge.c (main): Likewise.
78184         * tests/test-freading.c (main): Likewise.
78185         * tests/test-fstatat.c (main): Likewise.
78186         * tests/test-fsync.c (main): Likewise.
78187         * tests/test-futimens.c (main): Likewise.
78188         * tests/test-getndelim2.c (main): Likewise.
78189         * tests/test-gettimeofday.c (main): Likewise.
78190         * tests/test-getopt.c (main): Likewise.
78191         * tests/test-i-ring.c (main): Likewise.
78192         * tests/test-inttypes.c (main): Likewise.
78193         * tests/test-link.c (main): Likewise.
78194         * tests/test-lstat.c (main): Likewise.
78195         * tests/test-math.c (main): Likewise.
78196         * tests/test-md5.c (main): Likewise.
78197         * tests/test-memchr2.c (main): Likewise.
78198         * tests/test-memrchr.c (main): Likewise.
78199         * tests/test-mkdir.c (main): Likewise.
78200         * tests/test-mkdirat.c (main): Likewise.
78201         * tests/test-mkfifoat.c (main): Likewise.
78202         * tests/test-open.c (main): Likewise.
78203         * tests/test-openat-safer.c (main): Likewise.
78204         * tests/test-openat.c (main): Likewise.
78205         * tests/test-quotearg.c (main): Likewise.
78206         * tests/test-rawmemchr.c (main): Likewise.
78207         * tests/test-readlink.c (main): Likewise.
78208         * tests/test-remove.c (main): Likewise.
78209         * tests/test-rename.c (main): Likewise.
78210         * tests/test-renameat.c (main): Likewise.
78211         * tests/test-rmdir.c (main): Likewise.
78212         * tests/test-sha1.c (main): Likewise.
78213         * tests/test-signal.c (main): Likewise.
78214         * tests/test-sigaction.c (main): Likewise.
78215         * tests/test-stat.c (main): Likewise.
78216         * tests/test-stat-time.c (main): Likewise.
78217         * tests/test-stddef.c (main): Likewise.
78218         * tests/test-stdint.c (main): Likewise.
78219         * tests/test-stdio.c (main): Likewise.
78220         * tests/test-stdlib.c (main): Likewise.
78221         * tests/test-strchrnul.c (main): Likewise.
78222         * tests/test-strerror.c (main): Likewise.
78223         * tests/test-string.c (main): Likewise.
78224         * tests/test-strtod.c (main): Likewise.
78225         * tests/test-strverscmp.c (main): Likewise.
78226         * tests/test-symlink.c (main): Likewise.
78227         * tests/test-symlinkat.c (main): Likewise.
78228         * tests/test-sys_stat.c (main): Likewise.
78229         * tests/test-sys_time.c (main): Likewise.
78230         * tests/test-time.c (main): Likewise.
78231         * tests/test-unistd.c (main): Likewise.
78232         * tests/test-unlink.c (main): Likewise.
78233         * tests/test-unlinkat.c (main): Likewise.
78234         * tests/test-utimens.c (main): Likewise.
78235         * tests/test-utimensat.c (main): Likewise.
78236         * tests/test-version-etc.c (main): Likewise.
78237         * tests/test-wchar.c (main): Likewise.
78238         * tests/test-wctype.c (main): Likewise.
78239         * tests/test-xprintf-posix.c (main): Likewise.
78240         * tests/test-posixtm.c (main): Likewise.
78241         (STREQ): Delete unused macro.
78242         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
78243         shadowed variables.
78244         * tests/test-memchr.c (main): Likewise.
78246 2009-10-21  Eric Blake  <ebb9@byu.net>
78248         areadlinkat: avoid failure on older glibc
78249         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
78250         rather than mis-comparing 0 against FUNC_RESULT of char*.
78252 2009-10-21  Bruno Haible  <bruno@clisp.org>
78254         * modules/stpncpy (License): Relicense under LGPLv2+.
78255         Reported by David Lutterkort <lutter@redhat.com>.
78257 2009-10-20  Eric Blake  <ebb9@byu.net>
78259         utimensat: work around Solaris 9 bug
78260         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
78261         has trailing slash bugs.
78262         * tests/test-lutimens.h (test_lutimens): Enhance test.
78263         * tests/test-utimens.h (test_utimens): Likewise.
78264         * doc/posix-functions/utime.texi (utime): Enhance documentation.
78265         * doc/posix-functions/utimes.texi (utimes): Likewise.
78266         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78267         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
78268         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
78269         * doc/posix-functions/futimens.texi (futimens): Likewise.
78271         fdutimensat: new module
78272         * modules/fdutimensat: New file.
78273         * lib/fdutimensat.c (fdutimensat): Likewise.
78274         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
78275         * MODULES.html.sh (File system functions): Mention module.
78276         * modules/fdutimensat-tests: New test.
78277         * tests/test-fdutimensat.c: Likewise.
78279         doc: regenerate INSTALL
78280         * doc/INSTALL: Reflect recent autoconf update.
78281         * doc/INSTALL.ISO: Likewise.
78282         * doc/INSTALL.UTF-8: Likewise.
78284 2009-10-20  Pádraig Brady  <P@draigBrady.com>
78286         acl: warn if ACL support is not detected
78287         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
78289 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
78291         * lib/nproc.h: Add extern "C" block for C++.
78293 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
78294             Bruno Haible  <bruno@clisp.org>
78296         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
78297         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
78298         * doc/posix-functions/isalpha.texi: Likewise.
78299         * doc/posix-functions/isblank.texi: Likewise.
78300         * doc/posix-functions/iscntrl.texi: Likewise.
78301         * doc/posix-functions/isdigit.texi: Likewise.
78302         * doc/posix-functions/isgraph.texi: Likewise.
78303         * doc/posix-functions/islower.texi: Likewise.
78304         * doc/posix-functions/isprint.texi: Likewise.
78305         * doc/posix-functions/ispunct.texi: Likewise.
78306         * doc/posix-functions/isspace.texi: Likewise.
78307         * doc/posix-functions/isupper.texi: Likewise.
78308         * doc/posix-functions/isxdigit.texi: Likewise.
78310 2009-10-18  Bruno Haible  <bruno@clisp.org>
78312         Tests for module 'isblank'.
78313         * modules/isblank-tests: New file.
78314         * tests/test-isblank.c: New file.
78316         New module 'isblank'.
78317         * lib/isblank.c: New file.
78318         * m4/isblank.m4: New file.
78319         * modules/isblank: New file.
78320         * doc/posix-functions/isblank.texi: Mention the new module.
78322 2009-10-18  Bruno Haible  <bruno@clisp.org>
78324         New module 'ctype'.
78325         * lib/ctype.in.h: New file.
78326         * m4/ctype.m4: New file.
78327         * modules/ctype: New file.
78328         * doc/posix-headers/ctype.texi: Mention the new module.
78330 2009-10-18  Jim Meyering  <meyering@redhat.com>
78332         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
78333         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
78334         right after its initialization, rather than farther down.
78335         Keeping these in close proximity makes it easier to ensure
78336         that each such variable is initialized.  E.g.,
78338             LIB_CLOCK_GETTIME=
78339             AC_SUBST([LIB_CLOCK_GETTIME])
78341         This change also increments these serial numbers.
78342         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
78343         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
78344         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78346 2009-10-18  Bruno Haible  <bruno@clisp.org>
78348         Don't let environment variables perturb build.
78349         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
78350         (gl_PREREQ_GETHRXTIME): ... not here.
78352 2009-10-18  Bruno Haible  <bruno@clisp.org>
78354         Avoid symlink attack in localcharset module.
78355         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
78356         (O_NOFOLLOW): Define fallback.
78357         (get_charset_aliases): Don't open the file if it is a symbolic link.
78358         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
78359         gl_FCNTL_H.
78360         (gl_FCNTL_H): Require it.
78361         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
78362         * modules/localcharset (Files): Add m4/fcntl_h.m4.
78363         Reported by Fergal Glynn <fglynn@veracode.com>.
78365 2009-10-18  Bruno Haible  <bruno@clisp.org>
78367         Implement nproc for mingw.
78368         * lib/nproc.c: Include <windows.h>
78369         (num_processors): On native Windows platforms, try GetSystemInfo.
78371 2009-10-18  Bruno Haible  <bruno@clisp.org>
78373         Implement nproc for IRIX.
78374         * lib/nproc.c: Include <sys/sysmp.h>.
78375         (num_processors): On IRIX systems, try sysmp.
78376         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
78378 2009-10-18  Bruno Haible  <bruno@clisp.org>
78380         Implement nproc for HP-UX.
78381         * lib/nproc.c: Include <sys/pstat.h>
78382         (num_processors): On HP-UX systems, try pstat_getdynamic.
78383         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
78384         pstat_getdynamic.
78386 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
78387             Bruno Haible  <bruno@clisp.org>
78389         Implement nproc for NetBSD, OpenBSD.
78390         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
78391         (ARRAY_SIZE): New macro.
78392         (num_processors): On BSD systems, try sysctl of HW_NCPU.
78393         * m4/nproc.m4: New file.
78394         * modules/nproc (Files): Add m4/nproc.m4.
78395         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
78396         (Makefile.am): Instead, augment lib_SOURCES.
78398 2009-10-18  Bruno Haible  <bruno@clisp.org>
78400         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
78401         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
78402         sys/param.h.
78404 2009-10-16  Eric Blake  <ebb9@byu.net>
78406         utimensat: new module
78407         * modules/utimensat: New file.
78408         * lib/utimensat.c (utimensat): Likewise.
78409         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
78410         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
78411         so we can work around Linux bugs.
78412         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78413         * modules/sys_stat (Makefile.am): Substitute them.
78414         * lib/sys_stat.in.h (utimensat): Declare it.
78415         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78416         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78417         * modules/utimensat-tests: New test.
78418         * tests/test-utimensat.c: Likewise.
78420         utimens: let lutimens work on non-symlinks
78421         * lib/utimens.c (lutimens): Fall back to utimens rather than
78422         failing with ENOSYS, when file is not a symlink.
78423         (utimens): Reduce redirection.
78424         * tests/test-lutimens.h (test_lutimens): Update test to cover
78425         non-symlinks.
78426         * tests/test-utimens.h (test_utimens): Update test to cover
78427         symlinks.
78428         * tests/test-utimens.c (main): Update caller.
78430         utimens: cache whether utimensat syscall works
78431         * lib/utimens.c (utimensat_works_really): New cache variable.
78432         (fdutimens, lutimens): Use it to avoid failing syscall.
78434         test-stat-time, test-utimens: improve portability
78435         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
78436         ext4 on alpha, and for cygwin.
78437         * tests/test-utimens-common.h: New file.
78438         (nap): Factor delays into single function.
78439         * tests/test-lutimens.h (test_lutimens): Use new header.
78440         * tests/test-futimens.h (test_futimens): Likewise.
78441         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
78442         timestamps to occur from same machine, as was done previously for
78443         test_utimens.
78444         * modules/utimens-tests (Files): Ship new file.
78445         * modules/futimens-tests (Files): Likewise.
78446         Reported in part by Jim Meyering.
78448         sys_stat: sort replacement declarations
78449         * lib/sys_stat.in.h: Sort declarations.
78450         * lib/futimens.c (futimens): Fix typo.
78452 2009-10-15  Jim Meyering  <meyering@redhat.com>
78454         don't let environment settings perturb build
78455         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
78456         could cause a configure-time and/or build-time malfunction.
78457         Typically, a configure-time function-in-library test is performed
78458         via code like this:
78460           LIB_VAR=
78461           AC_SUBST([LIB_VAR])
78462           prefix_saved_LIBS=$LIBS
78463             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
78464                        [test "$ac_cv_search_FUNC" = "none required" ||
78465                         LIB_VAR=$ac_cv_search_FUNC])
78466           LIBS=$prefix_saved_LIBS
78468         However, in each of the files affected by this change, the LIB_VAR=
78469         initialization was omitted.  Thus, when set in the environment, its
78470         value would propagate into generated Makefiles when FUNC is not found
78471         in LIB_NAME.
78472         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
78473         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
78474         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78476 2009-10-14  Eric Blake  <ebb9@byu.net>
78478         fchdir: avoid infinite recursion in mingw
78479         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
78480         recursing.
78482         test-stat-time: port to mingw
78483         * tests/test-stat-time.c (force_unlink): Return a value.
78484         (test_ctime) [W32]: Fix compilation error.
78485         (nap): Don't call usleep with too large an argument.  Use
78486         force_unlink.
78487         * doc/pastposix-functions/usleep.texi (usleep): Document the
78488         portability issue.
78490 2009-10-13  Jim Meyering  <meyering@redhat.com>
78492         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
78493         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
78494         * modules/pipe-filter-ii: Likewise.
78495         * modules/sys_socket-tests: Likewise.
78496         * modules/tsearch-tests: Likewise.
78497         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
78498         (check): Depend on it.
78500 2009-10-12  Eric Blake  <ebb9@byu.net>
78502         utimens-tests: port to NFS file systems
78503         * tests/test-utimens.h (test_utimens): Refactor utimecmp
78504         comparisons to avoid spurious failures from timestamp drift
78505         between NFS machines.
78507 2009-10-12  Eric Blake  <ebb9@byu.net>
78509         stat-time-tests: minor cleanups
78510         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
78511         * tests/test-stat-time.c (nap): Separate assignment from call.
78512         Suggested by Paolo Bonzini and Bruno Haible.
78514         sys_stat: guarantee struct timespec
78515         * lib/sys_stat.in.h (includes): Always include <time.h>
78516         * modules/sys_stat (Depends-on): Add time.
78517         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
78518         mode_t permission values.
78519         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
78520         get at subsecond timestamps.
78522 2009-10-10  Eric Blake  <ebb9@byu.net>
78524         futimens: new module
78525         * modules/futimens: New file.
78526         * lib/futimens.c (futimens): Likewise.
78527         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
78528         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
78529         we can work around Linux bugs.
78530         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78531         * modules/sys_stat (Makefile.am): Substitute them.
78532         * lib/sys_stat.in.h (futimens): Declare it.
78533         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78534         * doc/posix-functions/futimens.texi (futimens): Likewise.
78535         * modules/futimens-tests: New test.
78536         * tests/test-futimens.c: Likewise.
78538         utimens: introduce fdutimens
78539         * lib/utimens.h (fdutimens): New prototype.
78540         * lib/utimens.c (gl_futimens): Move guts...
78541         (fdutimens): ...to new interface.
78542         * tests/test-utimens.c (do_fdutimens): Use it.
78544         utimens: add UTIME_NOW and UTIME_OMIT support
78545         * lib/utimens.c (validate_timespec, update_timespec): New helper
78546         functions.
78547         (gl_futimens, lutimens): Use them.
78548         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
78549         stdbool, sys_stat.
78550         (Link): Mention resulting library dependency.
78551         * modules/utimecmp (Link): Likewise.
78552         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
78553         (Makefile.am): Pick up library dependency.
78554         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
78555         definition.
78556         * tests/test-sys_stat.c: Test the definitions.
78557         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
78558         * NEWS: Document library dependency.
78560         utimecmp: support symlink timestamps
78561         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
78562         hashing when possible.  Use pathconf when available.
78563         (SYSCALL_RESOLUTION): Recognize tighter resolution.
78564         * modules/utimecmp (Depends-on): Add lstat.
78566         utimens: add lutimens interface
78567         * lib/utimens.c (lutimens): New function.
78568         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
78569         * lib/utimens.h (lutimens): Declare new interface.
78570         * tests/test-utimens.c (main): Enhance test.
78571         * tests/test-lutimens.h (test_lutimens): New file.
78572         * modules/utimens-tests (Files): Distribute it.
78573         (Depends-on): Add symlink.
78574         (configure.ac): Check for usleep.
78576         utimens: validate futimens usage
78577         * lib/utimens.c (gl_futimens): Require valid fd up front, using
78578         fewer syscalls on failure later on.  Avoid compiler warning on
78579         mingw.
78580         * modules/utimens (Depends-on): Add dup2.
78582         utimens: add test
78583         * modules/utimens-tests: New test.
78584         * tests/test-utimens.h: New file.
78585         * tests/test-futimens.h: Likewise.
78586         * tests/test-utimens.c: Likewise.
78588         doc: mention timestamp portability issues
78589         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
78590         instead.
78591         * doc/posix-functions/utime.texi (utime): Likewise.
78592         * doc/posix-functions/utimes.texi (utimes): Likewise.
78593         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
78594         instead.
78595         * doc/posix-functions/futimens.texi (futimens): Mention utimens
78596         module.
78597         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78598         Mention weakness with symlink timestamps.
78599         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
78600         to utimensat/futimens instead.
78601         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
78603         test-dup2: enhance test
78604         * tests/test-dup2.c (main): Also check AT_FDCWD.
78606         test-stat-time: avoid more spurious failures
78607         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
78608         xfs; and avoid race if the two timestamps cross quantization edge.
78610         relocatable: prefer 'file system' over 'filesystem'
78611         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
78612         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
78613         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
78614         * doc/relocatable.texi (Enabling Relocatability): Likewise.
78615         * lib/relocatable.c (compute_curr_prefix): Likewise.
78617 2009-10-10  Jim Meyering  <meyering@redhat.com>
78619         stat-time-tests: check for the usleep function
78620         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
78622 2009-10-10  Bruno Haible  <bruno@clisp.org>
78624         * modules/xnanosleep: Put the Link section after the Include section.
78626 2009-10-09  Eric Blake  <ebb9@byu.net>
78628         dup2: work around FreeBSD 6.1 bug
78629         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
78630         * doc/posix-functions/dup2.texi (dup2): Document it.
78631         Reported by Nelson H. F. Beebe and Jim Meyering.
78633         test-stat-time: port to buggy NFS clients
78634         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
78635         (test_ctime): Also skip test if mtime and ctime are skewed.
78637         maint: prefer 'file system' over 'filesystem'
78638         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
78639         * doc/posix-functions/lstat.texi (lstat): Likewise.
78640         * lib/file-has-acl.c (file_has_acl): Likewise.
78641         * lib/fwriteerror.c [TEST]: Likewise.
78642         * tests/test-areadlink.h (test_areadlink): Likewise.
78643         * tests/test-areadlinkat-with-size.c (main): Likewise.
78644         * tests/test-areadlinkat.c (main): Likewise.
78645         * tests/test-canonicalize-lgpl.c (main): Likewise.
78646         * tests/test-canonicalize.c (main): Likewise.
78647         * tests/test-fstatat.c (main): Likewise.
78648         * tests/test-linkat.c (main): Likewise.
78649         * tests/test-lstat.h (test_lstat_func): Likewise.
78650         * tests/test-mkdir.h (test_mkdir): Likewise.
78651         * tests/test-readlink.h (test_readlink): Likewise.
78652         * tests/test-remove.c (main): Likewise.
78653         * tests/test-rename.h (test_rename): Likewise.
78654         * tests/test-renameat.c (main): Likewise.
78655         * tests/test-rmdir.h (test_rmdir_func): Likewise.
78656         * tests/test-symlink.h (test_symlink): Likewise.
78657         * tests/test-symlinkat.c (main): Likewise.
78658         * tests/test-unlink.h (test_unlink_func): Likewise.
78659         * tests/test-unlinkat.c (main): Likewise.
78661         maint: make realtime library usage explicit
78662         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
78663         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
78664         * modules/settime (Link): Likewise.
78665         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
78667         test-stat-time: speed up execution
78668         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
78669         warning on mingw.
78670         (nap): New helper function.
78671         (prepare_test): Use it to reduce sleep time.
78672         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
78673         execution.
78674         * modules/stat-time-tests (configure.ac): Check for usleep.
78676 2009-10-09  Jim Meyering  <meyering@redhat.com>
78678         selinux-h: always use getfilecon wrappers
78679         * lib/getfilecon.c: New file.
78680         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
78681         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
78682         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
78683         (fgetfilecon): Provide a stub.
78684         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
78685         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
78686         file unconditionally.
78687         When <selinux/selinux.h> is found, arrange to use wrappers.
78688         * modules/selinux-h (Files): Add getfilecon.c.
78689         (Makefile.am): Substitute include-next-related bits
78690         into the now-always-generated selinux/selinux.h file.
78691         * doc/glibc-functions/lgetfilecon.texi: New file.
78692         * doc/glibc-functions/fgetfilecon.texi: New file.
78693         * doc/glibc-functions/getfilecon.texi: New file.
78694         * doc/glibc-functions/getfilecon-desc.texi: New file.
78695         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
78696         which to pull in the new files.
78697         * MODULES.html.sh (Misc): Add selinux-h.
78699 2009-10-08  Jim Meyering  <meyering@redhat.com>
78701         unistd: fix comment typo
78702         * lib/unistd.in.h (euidaccess): Fix a comment typo.
78704 2009-10-08  Eric Blake  <ebb9@byu.net>
78706         areadlink: use SIZE_MAX consistently
78707         * modules/areadlink (Depends-on): Add stdint.
78708         * modules/areadlink-with-size (Depends-on): Likewise.
78709         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
78710         gives NULL; drop sys/types, since unistd gives size_t; and add
78711         stdint for SIZE_MAX.
78712         (SIZE_MAX): Rely on headers.
78713         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
78714         and add stdint.
78715         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
78716         (SIZE_MAX): Likewise.
78717         (INITIAL_BUF_SIZE): Turn into enum.
78718         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
78720 2009-10-08  Jim Meyering  <meyering@redhat.com>
78722         areadlinkat: avoid compilation failure
78723         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
78724         Fix typo in comment.
78726 2009-10-07  Eric Blake  <ebb9@byu.net>
78728         areadlinkat-with-size: new module
78729         * modules/areadlinkat-with-size: New module.
78730         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
78731         * lib/areadlink.h (areadlinkat): Declare it.
78732         * MODULES.html.sh (File system functions): Mention it.
78733         * modules/areadlinkat-with-size-tests: New test.
78734         * tests/test-areadlinkat-with-size.c: New file.
78736         xreadlinkat: new module
78737         * modules/xreadlinkat: New module.
78738         * lib/xreadlinkat.c (xreadlinkat): New file.
78739         * lib/xreadlink.h (xreadlinkat): Declare it.
78740         * MODULES.html.sh (File system functions): Mention it.
78742         areadlinkat: new module
78743         * lib/at-func.c (FUNC_FAIL): New define.
78744         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
78745         * modules/areadlinkat: New module.
78746         * lib/linkat.c (areadlinkat): Move...
78747         * lib/areadlinkat.c (areadlinkat): ...to new file.
78748         * lib/areadlink.h (areadlinkat): Declare it.
78749         * modules/linkat (Depends-on): Add areadlinkat.
78750         * MODULES.html.sh (File system functions): Mention it.
78751         * modules/areadlinkat-tests: New test.
78752         * tests/test-areadlinkat.c: New file.
78754         areadlink, areadlink-with-size: add tests
78755         * modules/areadlink-tests: New test.
78756         * modules/areadlink-with-size-tests: Likewise.
78757         * tests/test-areadlink.h: New file.
78758         * tests/test-areadlink.c: Likewise.
78759         * tests/test-areadlink-with-size.c: Likewise.
78761         maint: minor cleanups
78762         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
78763         _UNUSED_PARAMETER_ instead.
78764         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
78765         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
78766         * modules/linkat-tests (Files): Distribute test-link.h.
78768         openat, utimens: whitespace cleanup
78769         * lib/openat.c: Prefer space throughout, rather than mix of 8
78770         spaces vs. tabs.
78771         * lib/at-func.c: Likewise.
78772         * lib/utimens.c: Likewise.
78774         openat: avoid using wrong fd
78775         * lib/openat.c (openat_permissive): Reject user's fd if saving the
78776         working directory chooses same fd.
78777         * lib/at-func.c (AT_FUNC_NAME): Likewise.
78779         mkdir, mkdirat: fix cygwin 1.5.x bug
78780         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
78781         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
78782         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
78783         bug.
78784         (gl_PREREQ_MKDIR): Delete unused macro.
78785         * modules/mkdir (Files): Track file rename.
78786         (configure.ac): Update macro name.
78787         * modules/openat (Depends-on): Add mkdir.
78788         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
78790         mkdir, mkdirat: add tests
78791         * modules/mkdir-tests: New test.
78792         * tests/test-mkdir.h: New file.
78793         * tests/test-mkdir.c: Likewise.
78794         * tests/test-mkdirat.c: Likewise.
78795         * modules/openat-tests (Files): Add new files.
78796         (Makefile.am): Run new test.
78798 2009-10-06  Eric Blake  <ebb9@byu.net>
78800         doc: tweak *at function documentation
78801         * doc/posix-functions/faccessat.texi (faccessat): Mention
78802         known issue with replacement.
78803         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
78804         * doc/posix-functions/linkat.texi (linkat): Likewise.
78805         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
78806         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
78807         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
78808         * doc/posix-functions/renameat.texi (renameat): Likewise.
78809         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
78811         openat: fix GNU/Hurd bug in unlinkat
78812         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
78813         broken.
78814         * doc/posix-functions/unlink.texi (unlink): Document this.
78815         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
78817         fdopendir: fix GNU/Hurd bug
78818         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
78819         allowing non-directory fds.
78820         * lib/fdopendir.c (rpl_fdopendir): Work around it.
78821         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
78822         * modules/dirent (Makefile.am): Substitute it.
78823         * lib/dirent.in.h (fdopendir): Declare replacement.
78824         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
78825         * tests/test-fdopendir.c (main): Test something other than
78826         /dev/null, since on Hurd that behaves like a directory.
78828         test-symlink: port to GNU/Hurd
78829         * tests/test-symlink.h (test_symlink): Relax expected errno.
78831         doc: tweak more cygwin information
78832         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
78833         now compatible with glibc.
78834         * doc/posix-functions/getopt.texi (getopt): Likewise.
78836         getopt-gnu: add another test
78837         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
78838         guarantee behavior relied on by m4.
78839         * tests/test-getopt.c (main): Use it.
78840         * modules/getopt-posix-tests (Depends-on): Add setenv.
78841         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
78843         getopt: fix compilation on darwin
78844         * lib/getopt.in.h (includes): Leave breadcrumbs during system
78845         include.
78846         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
78847         Reported by Ludovic Courtès.
78849 2009-10-06  Bruno Haible  <bruno@clisp.org>
78851         * modules/size_max (Description): Discourage its use.
78852         Reported by Simon Josefsson.
78854 2009-10-06  Jim Meyering  <meyering@redhat.com>
78856         linkat: avoid compilation failure
78857         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
78859 2009-10-05  Eric Blake  <ebb9@byu.net>
78861         linkat: support Linux 2.6.17
78862         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
78863         linkat on Linux, but allow cache variable override.
78864         * lib/linkat.c (rpl_linkat): Define override.
78865         * modules/linkat (Depends-on): Add symlinkat.
78866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
78867         * modules/unistd (Makefile.am): Substitute it.
78868         * lib/unistd.in.h (linkat): Declare replacement.
78869         Reported by Pádraig Brady.
78871         quotearg: port test to systems with C.UTF-8 locale
78872         * tests/test-quotearg.c (struct result_strings): Add another
78873         member, differentiating between C.ASCII and C.UTF-8 handling.
78874         (compare_strings): Add parameter.
78875         (main): Adjust all callers.
78877         getopt: avoid clash with FreeBSD _getopt_internal
78878         * lib/getopt.in.h (_getopt_internal): Override the name.
78879         * lib/getopt_int.h (includes): Pick up any overrides.
78880         Reported by Reuben Thomas.
78882         hash: allow C89 compilation
78883         * lib/hash.c (check_tuning): Move declaration before statement.
78884         Reported by Reuben Thomas.
78886 2009-10-05  Karl Berry  <karl@gnu.org>
78888         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
78890 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
78891             Bruno Haible  <bruno@clisp.org>
78893         * lib/uname.c (uname): Use a table-driven algorithm to compute
78894         Windows NT versions.
78896 2009-10-04  Bruno Haible  <bruno@clisp.org>
78898         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
78899         program_invocation_short_name.
78900         * modules/progname (configure.ac): Test for presence of
78901         program_invocation_short_name.
78902         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
78904 2009-10-04  Bruno Haible  <bruno@clisp.org>
78906         * lib/progname.c (set_program_name): Fix comment.
78907         Reported by Jim Meyering.
78909 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
78910             Bruno Haible  <bruno@clisp.org>
78912         * lib/uname.c: Include <string.h>.
78913         (uname): Do only one call to GetVersionEx in the common case.
78915 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
78916             Bruno Haible  <bruno@clisp.org>
78918         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
78919         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
78920         (uname): Add support for Windows CE and various non-x86 CPU types.
78922 2009-10-03  Bruno Haible  <bruno@clisp.org>
78924         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
78925         invocation to tests/configure.ac.
78926         Reported by Ian Beckwith <ianb@erislabs.net>.
78928 2009-10-02  Eric Blake  <ebb9@byu.net>
78930         fchdir: avoid compiler warning
78931         * lib/fchdir.c (canonicalize_file_name)
78932         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
78934         test-open: support mingw errno values
78935         * tests/test-open.h (test_open): Relax test.
78936         * tests/test-fopen.h (test_fopen): Likewise.
78937         * tests/test-openat-safer.c (main): Likewise.
78939         open: fix opening directory on mingw
78940         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
78942         test-open: on GNU/Hurd, /dev/null is a directory
78943         * tests/test-fopen.h (main): Rename...
78944         (test_fopen): ...to this.  Use a guaranteed non-directory when
78945         confirming open behavior on trailing slash.
78946         * tests/test-openat-safer.c (main): Likewise.
78947         * tests/test-open.h (main): Likewise....
78948         (test_open): ...to this.
78949         * tests/test-fopen.c (main): Adjust caller.
78950         * tests/test-fopen-safer.c (main): Likewise.
78951         * tests/test-open.c (main): Likewise.
78952         * tests/test-fcntl-safer.c (main): Likewise.
78953         Reported by Samuel Thibault.
78955         rename, fchdir: don't ignore chdir failure
78956         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
78957         * lib/rename.c (rpl_rename) [W32]: Likewise.
78958         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
78959         an empty destination directory if source cannot be renamed,
78960         although there is still possibility for failure.
78961         * doc/posix-functions/rename.texi (rename): Document the race.
78962         Reported by Jim Meyering.
78964         maint: cleanup whitespace in recent commits
78965         * lib/rename.c (rpl_rename): Remove tabs.
78966         * tests/test-link.h (test_link): Likewise.
78967         * lib/fchdir.c (get_name): Likewise.
78968         Reported by Jim Meyering.
78970 2009-10-02  Ben Pfaff  <blp@gnu.org>
78972         relocatable-prog-wrapper: Add missing dependency on
78973         double-slash-root.
78974         * modules/relocatable-prog-wrapper: Add dependency.
78975         Reported by Ian Beckwith <ianb@erislabs.net>.
78977 2009-10-02  Eric Blake  <ebb9@byu.net>
78979         renameat: fix Solaris bugs
78980         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
78981         needed fixing.
78982         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
78983         * modules/stdio (Makefile.am): Substitute it.
78984         * lib/stdio.in.h (renameat): Declare replacement.
78985         * lib/renameat.c (rpl_renameat): Implement fix.
78987         renameat: new module
78988         * modules/renameat: New file.
78989         * lib/renameat.c (renameat): Likewise.
78990         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
78991         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
78992         * modules/stdio (Makefile.am): Substitute them.
78993         * lib/stdio.in.h (renameat): Declare it.
78994         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78995         * doc/posix-functions/renameat.texi (renameat): Likewise.
78996         * modules/renameat-tests: New test.
78997         * tests/test-renameat.c: Likewise.
78999         rename: fix mingw bugs
79000         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
79001         directory overwrite bugs.
79003         rename: fix another cygwin 1.5 bug
79004         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
79005         checks.
79006         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
79007         unnecessary cygwin workarounds.  Also work around bug with moving
79008         full directory onto an empty one.
79009         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
79011         rename-dest-slash: merge into rename module
79012         * modules/rename-dest-slash (Status): Mark obsolete.
79013         (Depends-on): Add rename.
79014         (Files): Let rename do it all.
79015         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
79016         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
79017         * m4/rename-dest-slash.m4: ...so this file can be deleted.
79018         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
79019         * lib/rename.c (rpl_rename): Update comments.
79021         rename: fix cygwin 1.5.x bugs
79022         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
79023         * lib/rename.c (rpl_rename): Work around them.
79024         * modules/rename (Depends-on): Add same-inode.
79026         rename: fix Solaris 10 bug
79027         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79028         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
79029         was the only bug.
79031         rename: fix Solaris 9 bug
79032         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
79033         on non-directory.  Avoid calling exit.
79034         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
79035         strdup.
79036         * modules/rename-tests (Depends-on): Drop lstat.
79037         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79038         (gl_PREREQ_RENAME): Delete unused macro.
79040         rename-dest-slash: fix NetBSD bug
79041         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
79042         links.
79043         * modules/rename-dest-slash (Depends-on): Add same-inode.
79045         rename-tests: new test, exposes several platform bugs
79046         * modules/rename-tests: New file.
79047         * tests/test-rename.h: Likewise.
79048         * tests/test-rename.c: Likewise.
79049         * doc/posix-functions/rename.texi (rename): Improve documentation,
79050         including bugs that will eventually be fixed in gnulib.
79052 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
79054         * lib/uname.c: Include <stdlib.h>
79055         (uname): Assume version info is available.
79057 2009-10-02  Jim Meyering  <meyering@redhat.com>
79059         gnu-web-doc-update: correct --help output
79060         * build-aux/gnu-web-doc-update: Make --help output relevant.
79062         gnu-web-doc-update: add standard options
79063         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
79065         gnu-web-doc-update: New module.
79066         Use this script to automatically update the on-line web documentation
79067         for your GNU project at http://www.gnu.org/software/$pkg/manual/
79068         * modules/gnu-web-doc-update: New file, from coreutils.
79069         * build-aux/gnu-web-doc-update: New script.
79071 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
79073         link: LoadLibrary is not needed.
79074         * lib/link.c: Use GetModuleHandle.
79076 2009-10-01  Eric Blake  <ebb9@byu.net>
79078         getopt: bump serial number
79079         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
79080         change.
79082         tests: tighten link, rmdir, and remove tests
79083         * tests/test-link.h (includes): No need to use <config.h> here.
79084         Clean up if directory hard link was created, otherwise test for
79085         trailing '.'.
79086         * tests/test-linkat.c (main): Simplify.
79087         * tests/test-remove.c (main): Enhance test for trailing '.'.
79088         * tests/test-rmdir.h (test_rmdir_func): Likewise.
79090 2009-10-01  Jim Meyering  <meyering@redhat.com>
79092         maint.mk: requiring "make major" was annoying, for a "minor" release.
79093         What is intended is "stable", to contrast with alpha and beta,
79094         so require "make stable", not "make major".
79095         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
79096         (get_tool_versions): Likewise.
79097         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
79099 2009-09-30  Ben Pfaff  <blp@gnu.org>
79101         Fix broken build of replacement for Windows tmpfile().
79102         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
79103         flags argument added along with the 'mkostemp' module.
79105 2009-09-28  Bruno Haible  <bruno@clisp.org>
79107         Avoid identifier clash with POSIX function 'remove' defined as a macro.
79108         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
79109         to 'remove_elt'.
79110         (gl_list_remove): Update.
79111         * lib/gl_list.c (gl_list_remove): Update.
79112         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
79113         to 'remove_elt'.
79114         (gl_oset_remove): Update.
79115         * lib/gl_list.c (gl_oset_remove): Update.
79116         Reported by Eric Blake.
79118 2009-09-28  Eric Blake  <ebb9@byu.net>
79120         doc: mention yet more cygwin 1.7 status
79121         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
79122         cygwin.
79123         * doc/glibc-functions/execvpe.texi (execvpe): New file.
79124         * doc/gnulib.texi (Glibc unistd.h): Mention it.
79126         argp: fix test failure
79127         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
79128         that are not upper-case.  Pass correct range to tolower.
79130 2009-09-27  Jim Meyering  <meyering@redhat.com>
79132         test-yesno: work around sparc-dash here-document infelicity
79133         Without this change, the literal \177 byte in a here document
79134         would make dash 0.5.5.1-3 access uninitialized memory.
79135         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
79136         Instead, use a marker, "@", and filter through tr to create the desired
79137         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
79139 2009-09-27  Bruno Haible  <bruno@clisp.org>
79141         Disable untested support for new flavours of ACLs on AIX.
79142         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
79143         progress.
79144         * lib/set-mode-acl.c (qset_acl): Likewise.
79146 2008-12-07  Bruno Haible  <bruno@clisp.org>
79148         Add support for new flavours of ACLs on AIX. (Untested.)
79149         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
79150         (file_has_acl): Add support for newer AIX.
79151         * lib/set-mode-acl.c (qset_acl): Likewise.
79152         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
79153         Rainer Tammer <tammer@tammer.net>.
79155 2009-09-26  Eric Blake  <ebb9@byu.net>
79157         argp: fix compilation of getopt
79158         * lib/getopt.in.h (includes): Use different guard than glibc.
79159         Reported by Sergey Poznyakoff.
79161         doc: mention more cygwin 1.7 status
79162         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
79163         bug.
79164         * doc/posix-functions/execl.texi (execl): Likewise.
79165         * doc/posix-functions/execle.texi (execle): Likewise.
79166         * doc/posix-functions/execlp.texi (execlp): Likewise.
79167         * doc/posix-functions/execv.texi (execv): Likewise.
79168         * doc/posix-functions/execve.texi (execve): Likewise.
79169         * doc/posix-functions/execvp.texi (execvp): Likewise.
79170         * doc/glibc-functions/canonicalize_file_name.texi
79171         (canonicalize_file_name): Cygwin 1.7 now provides this.
79172         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
79173         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
79174         on AT_SYMLINK_NOFOLLOW.
79176 2009-09-24  Eric Blake  <ebb9@byu.net>
79178         test-linkat: make test more robust
79179         * tests/test-linkat.c (main): Avoid collision with EEXIST.
79181         getopt: fix inclusion guards for cygwin
79182         * modules/getopt-posix (Depends-on): Add include-next.
79183         (Makefile.am): Substitute more items in replacement header.
79184         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
79185         <getopt.h>.
79186         * lib/getopt.in.h (includes): Use split inclusion guard, and
79187         prefer <getopt.h> over include <unistd.h> when one is present.
79188         (option): Also override name of 'struct option'.
79190         same-inode: revert prior change; it is not yet ready
79191         * NEWS: Undo mention of this change.
79192         * lib/same-inode.h (same-inode.h): Undo tri-state change.
79193         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79194         * lib/cycle-check.c (cycle_check): Likewise.
79195         * lib/same.c (same_name): Likewise.
79196         * lib/at-func2.c (at_func2): Likewise.
79198 2009-09-23  Eric Blake  <ebb9@byu.net>
79200         linkat: new module
79201         * modules/linkat: New file.
79202         * lib/at-func2.c (at_func2): Likewise.
79203         * lib/linkat.c (linkat): Likewise.
79204         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
79205         * lib/openat-priv.h (at_func2): Add declaration.
79206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79207         * modules/unistd (Makefile.am): Substitute them.
79208         * lib/unistd.in.h (linkat): Declare it.
79209         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79210         * doc/posix-functions/linkat.texi (linkat): Likewise.
79211         * doc/posix-functions/link.texi (link): Tweak wording.
79212         * tests/test-link.c (main): Move guts...
79213         * tests/test-link.h (test_link): ...into new file.
79214         * modules/linkat-tests: New test.
79215         * tests/test-linkat.c: Likewise.
79216         * modules/link-tests (Files): Ship new file.
79217         (Depends-on): Add stdbool.
79219         dirname: add library-safe mdir_name
79220         * lib/dirname.h (mdir_name): New prototype.
79221         * lib/dirname.c (dir_name): Move guts...
79222         (mdir_name): ...to new function that avoids xalloc_die.
79224         fchdir: another mingw fix
79225         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
79226         * lib/fchdir.c (get_name): New helper method; skips canonicalize
79227         on mingw (where it has not yet been ported), and make it optional
79228         elsewhere.
79229         (_gl_register_fd): Use it.
79231         same-inode: make SAME_INODE tri-state, to port to mingw
79232         * NEWS: Mention this change.
79233         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
79234         st_ino always being 0.
79235         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79236         * lib/cycle-check.c (cycle_check): Likewise.
79237         * lib/same.c (same_name): Likewise.
79239         lstat: avoid mingw compilation error
79240         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
79241         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
79242         lstat ourselves.
79243         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
79244         was adequate.
79245         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
79246         the checks for lstat.
79247         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
79249         link: fix test failure on Solaris 9
79250         * lib/link.c (rpl_link): Don't assume link will catch bogus
79251         trailing slash on source.
79253         test-symlinkat: enhance test
79254         * tests/test-readlink.c (main): Move guts...
79255         * tests/test-readlink.h (test_readlink): ...into new file.
79256         * tests/test-symlink.c (main): Move guts...
79257         * tests/test-symlink.h (test_symlink): ...into new file.
79258         * tests/test-symlinkat.c (main): Use new files for further
79259         coverage.
79260         (do_symlink, do_readlink): New helper functions.
79261         * modules/symlink-tests (Files): Ship new file.
79262         (Depends-on): Add stdbool.
79263         * modules/readlink-tests (Files): Ship new file.
79264         (Depends-on): Add stdbool.
79265         * modules/symlinkat-tests (Files): Use new files.
79267 2009-09-23  Eric Blake  <ebb9@byu.net>
79269         readlink: document portability issue with symlink length
79270         * doc/posix-functions/lstat.texi (lstat): Mention that some file
79271         systems have bogus st_size on symlinks, and mention the
79272         areadlink-with-size module.
79273         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
79274         * doc/posix-functions/readlink.texi (readlink): Mention the
79275         areadlink module, and ERANGE failure.
79276         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79277         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
79279         readlink: fix Solaris 9 bug with trailing slash
79280         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
79281         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
79282         * doc/posix-functions/readlink.texi (readlink): Document this.
79283         * modules/readlink-tests: New test.
79284         * tests/test-readlink.c: Likewise.
79286         readlink: fix cygwin 1.5.x bug with return type
79287         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
79288         * lib/unistd.in.h (readlink): Use ssize_t.
79289         * lib/readlink.c (readlink): Likewise.
79290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79291         * modules/unistd (Makefile.am): Substitute it.
79292         * lib/unistd.in.h (readlink): Declare replacement.
79293         * doc/posix-functions/readlink.texi (readlink): Document this.
79295         symlink: use throughout gnulib
79296         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
79297         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
79298         symlink is not used.
79299         * modules/symlinkat (Depends-on): Add symlink.
79300         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79301         * modules/canonicalize-tests (Depends-on): Likewise.
79302         * modules/lstat-tests (Depends-on): Likewise.
79303         * modules/openat-tests (Depends-on): Likewise.
79304         * modules/remove-tests (Depends-on): Likewise.
79305         * modules/rmdir-tests (Depends-on): Likewise.
79306         * modules/unlink-tests (Depends-on): Likewise.
79307         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
79308         * tests/test-canonicalize.c (symlink): Likewise.
79309         * tests/test-fstatat.c (symlink): Likewise.
79310         * tests/test-lstat.c (symlink): Likewise.
79311         * tests/test-remove.c (symlink): Likewise.
79312         * tests/test-rmdir.c (symlink): Likewise.
79313         * tests/test-unlink.c (symlink): Likewise.
79314         * tests/test-unlinkat.c (symlink): Likewise.
79316         symlink: new module, for Solaris 9 bug
79317         * modules/symlink: New file.
79318         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
79319         * lib/symlink.c: Likewise.
79320         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
79321         * modules/unistd (Makefile.am): Substitute them.
79322         * lib/unistd.in.h (symlink): Declare replacement.
79323         * MODULES.html.sh (File system functions): Mention it.
79324         * doc/posix-functions/symlink.texi (symlink): Likewise.
79325         * modules/symlink-tests: New test.
79326         * tests/test-symlink.c: Likewise.
79328 2009-09-23  Bruno Haible  <bruno@clisp.org>
79330         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
79331         when needed.
79332         Test case: gnulib-tool --import --with-tests atexit inttypes.
79333         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
79335 2009-09-23  Bruno Haible  <bruno@clisp.org>
79337         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
79338         subcommand, not in a subshell.
79340 2009-09-22  Eric Blake  <ebb9@byu.net>
79342         unistd: sort replacement declarations
79343         * lib/unistd.in.h: Sort declarations.
79345         open, openat: minor optimization
79346         * lib/open.c (open): If open succeeded, len is non-zero.
79347         * lib/openat.c (rpl_openat): Likewise.
79349         link-follow: ensure correct result
79350         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
79351         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
79352         distinguish between possible failures.
79354 2009-09-21  Eric Blake  <ebb9@byu.net>
79356         fts: avoid compiler warning
79357         * lib/fts.c (dirent_inode_sort_may_be_useful)
79358         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
79360 2009-09-19  Bruno Haible  <bruno@clisp.org>
79362         * lib/progreloc.c (canonicalize_file_name): New declaration.
79364 2009-09-19  Eric Blake  <ebb9@byu.net>
79366         link: fix quoting
79367         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
79369         openat: fix openat bugs on Solaris 9
79370         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
79371         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
79372         * modules/openat (Depends-on): Add open.
79373         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
79374         * modules/fcntl-h (Makefile.am): Substitute it.
79375         * lib/fcntl.in.h (openat): Declare replacement.
79376         * doc/posix-functions/openat.texi (openat): Document this.
79378         openat: move fstatat and unlinkat into correct files
79379         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
79380         compiled.
79381         * lib/openat.c (fstatat, unlinkat): Move...
79382         * lib/fstatat.c (fstatat): ...into correct files.
79383         * lib/unlinkat.c (unlinkat): Likewise.
79385         openat: fix unlinkat bugs on Solaris 9
79386         * lib/unlinkat.c (unlinkat): New file.
79387         * modules/openat (Depends-on): Add unlink.
79388         (Files): Distribute it.
79389         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
79390         trailing slash behavior is broken.
79391         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79392         * modules/unistd (Makefile.am): Substitute it.
79393         * lib/unistd.in.h (unlinkat): Declare replacement.
79394         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
79396         openat: fix fstatat bugs on Solaris 9
79397         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
79398         stat.
79399         * doc/posix-functions/fstatat.texi (fstatat): Document this.
79401         test-unlinkat: enhance test, to expose Solaris 9 bug
79402         * tests/test-unlink.c (main): Factor guts...
79403         * tests/test-unlink.h (test_rmdir_func): ...into new file.
79404         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
79405         * tests/test-rmdir.c (main): Adjust caller.
79406         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
79407         (unlinker): New helper function.
79408         (rmdirat): Enhance check.
79409         * modules/rmdir-tests (Depends-on): Add stdbool.
79410         * modules/unlink-tests (Depends-on): Likewise.
79411         (Files): Add test-unlink.h.
79412         * modules/openat-tests (Files): Likewise.
79413         (Depends-on): Add unlinkdir.
79415         test-fstatat: new test, to expose Solaris 9 bugs
79416         * tests/test-stat.c (main): Factor guts...
79417         * tests/test-stat.h (test_stat_func): ...into new file.
79418         * tests/test-lstat.c (main): Factor guts...
79419         * tests/test-lstat.h (test_lstat_func): ...into new file.
79420         * tests/test-fstatat.c: New file.
79421         * modules/stat-tests (Files): Add test-stat.h.
79422         * modules/lstat-tests (Files): Add test-lstat.h.
79423         (Depends-on): Add stdbool.
79424         * modules/openat-tests (Depends-on): Add pathmax.
79425         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
79426         (Makefile.am): Run new test.
79428         remove: new module, for mingw and Solaris 9 bugs
79429         * modules/remove: New file.
79430         * lib/remove.c: Likewise.
79431         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
79432         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
79433         * modules/stdio (Makefile.am): Use them.
79434         * lib/stdio.in.h (remove): Declare replacement.
79435         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79436         * doc/posix-functions/remove.texi (remove): Likewise.
79437         * modules/remove-tests: New test.
79438         * tests/test-remove.c: Likewise.
79440         unlink: new module, for Solaris 9 bug
79441         * modules/unlink: New file.
79442         * lib/unlink.c: Likewise.
79443         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
79444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79445         * modules/unistd (Makefile.am): Use them.
79446         * lib/unistd.in.h (stat): Declare replacement.
79447         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79448         * doc/posix-functions/unlink.texi (unlink): Likewise.
79449         * modules/unlink-tests: New test.
79450         * tests/test-unlink.c: Likewise.
79452         lstat: fix Solaris 9 bug
79453         * lib/lstat.c (lstat): Also check for trailing slash on
79454         non-symlink, non-directories.  Use stat module to simplify logic.
79455         * doc/posix-functions/lstat.texi (lstat): Document it.
79456         * modules/lstat-tests (Depends-on): Add errno, same-inode.
79457         (configure.ac): Check for symlink.
79458         * tests/test-lstat.c (main): Add more tests.
79460         stat: add as dependency to other modules
79461         * modules/chown (Depends-on): Add stat.
79462         * modules/euidaccess (Depends-on): Likewise.
79463         * modules/fchdir (Depends-on): Likewise.
79464         * modules/isdir (Depends-on): Likewise.
79465         * modules/link (Depends-on): Likewise.
79466         * modules/lstat (Depends-on): Likewise.
79467         * modules/mkdir-p (Depends-on): Likewise.
79468         * modules/modechange (Depends-on): Likewise.
79469         * modules/open (Depends-on): Likewise.
79470         * modules/readlink (Depends-on): Likewise.
79471         * modules/same (Depends-on): Likewise.
79473         stat: fix Solaris 9 bug
79474         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
79475         slash.
79476         * lib/stat.c (rpl_stat): Work around it.
79477         * doc/posix-functions/stat.texi (stat): Update documentation.
79479         stat: new module, for mingw bug
79480         * modules/stat: New file.
79481         * lib/stat.c: Likewise.
79482         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
79483         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79484         * modules/sys_stat (Makefile.am): Use them.
79485         * lib/sys_stat.in.h (stat): Declare replacement.
79486         * lib/openat.c (fstatat): Deal with lstat and stat being function
79487         macros.
79488         * modules/openat (Depends-on): Add inline.
79489         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79490         * doc/posix-functions/stat.texi (stat): Likewise.
79491         * modules/stat-tests: New test.
79492         * tests/test-stat.c: Likewise.
79494 2009-09-19  Jim Meyering  <meyering@redhat.com>
79496         syntax-check: detect unnecessary inclusion of canonicalize.h
79497         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
79499 2009-09-19  Eric Blake  <ebb9@byu.net>
79501         canonicalize-lgpl: adjust clients to use correct header
79502         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
79503         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
79504         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
79505         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
79506         * lib/progreloc.c (includes): Likewise.
79508 2009-09-19  Jim Meyering  <meyering@redhat.com>
79510         test-posixtm.c: correct a comment
79511         * tests/test-posixtm.c: Correct first-line comment.
79512         Spotted by Eric Blake.
79514 2009-09-16  Jim Meyering  <meyering@redhat.com>
79516         posixtm-tests: make T const-correct; add a test case
79517         * tests/test-posixtm.c (T): Declare const.
79518         Add a test for -(2^31+1).
79519         Remove useless can-succeed-only-in-2002 test.
79521         posixtm-tests: adjust the sole failing test
79522         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
79523         expected output matches what mktime now produces.  Cross-checked via
79524         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
79526         posixtm: move #ifdef'd tests into a new module
79527         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
79528         * tests/test-posixtm.c: ... this new file.
79529         * modules/posixtm-tests: New module.
79531 2009-09-19  Eric Blake  <ebb9@byu.net>
79533         openat: simplify use of at-func.c
79534         * lib/at-func.c (includes): Include prerequisites here, to
79535         simplify requirements on client files.
79536         * lib/openat-priv.h: Add double-inclusion guard.
79537         * lib/faccessat.c (includes): Simplify.
79538         * lib/fchmodat.c (includes): Likewise.
79539         * lib/fchownat.c (includes): Likewise.
79540         * lib/mkdirat.c (includes): Likewise.
79541         * lib/mkfifoat.c (includes): Likewise.
79542         * lib/symlinkat.c (includes): Likewise.
79544         openat: allow return of fd 0
79545         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
79546         * modules/save-cwd (Depends-on): Replace fcntl-safer with
79547         unistd-safer.
79548         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
79549         <fcntl.h>; this module does not leak fds.
79550         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
79551         must be allowed to return 0, leaving openat_safer to add the
79552         safety.
79553         (openat_permissive): Avoid writing to just-opened fd 2 if
79554         restoring the current directory fails.
79555         * lib/openat-die.c (openat_restore_fail): Add comment.
79556         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
79557         (save_cwd): Guarantee safe fd, but without use of open_safer.
79558         * tests/test-openat.c: New test.
79559         * modules/openat-tests (Files, Makefile.am): Distribute and build
79560         new file.
79562         relocatable-prog-wrapper: fix build
79563         * modules/relocatable-prog-wrapper (Files): Update name of
79564         canonicalize m4 file, broken on 2009-09-17.
79565         Reported by emad hajjar <aleppos@hotmail.com>.
79567 2009-09-19  Bruno Haible  <bruno@clisp.org>
79569         * lib/safe-alloc.h: Use the standard header with GPL copyright.
79570         * lib/safe-alloc.c: Likewise.
79571         Reported by Ian Beckwith <ianb@erislabs.net>.
79573 2009-09-18  Bruno Haible  <bruno@clisp.org>
79575         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
79576         Reported by <erobles@sensacd.com.mx>.
79578 2009-09-17  Eric Blake  <ebb9@byu.net>
79580         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
79581         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
79582         slashes when checking if last component is missing.
79583         * tests/test-canonicalize.c (main): Test this.
79585         canonicalize, canonicalize-lgpl: honor // if distinct from /
79586         * modules/canonicalize (Files): Add double-slash-root.m4.
79587         * modules/canonicalize-lgpl (Files): Likewise.
79588         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
79589         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
79590         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
79591         fallback definition.
79592         (canonicalize_filename_mode): Use it to protect //.
79593         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
79594         (__realpath): Likewise.
79595         * tests/test-canonicalize.c (main): Test this.
79596         * tests/test-canonicalize-lgpl.c (main): Likewise.
79597         * modules/canonicalize-tests (Depends-on): Add same-inode.
79598         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79600         canonicalize-lgpl: fix glibc bug with trailing slash
79601         * m4/canonicalize-lgpl.m4: Move contents...
79602         * m4/canonicalize.m4: ...here.
79603         (gl_CANONICALIZE_LGPL): Factor realpath check...
79604         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
79605         glibc 2.3.5 bug, fixed 2005-04-27.
79606         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
79607         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
79608         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
79609         * modules/canonicalize-lgpl (Files): Manage file rename.
79610         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
79611         * modules/stdlib (Makefile.am): Substitute witness.
79612         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
79613         is needed.
79614         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
79615         replacement is required.
79616         * lib/canonicalize.c (canonicalize_file_name): Likewise.
79617         * doc/glibc-functions/canonicalize_file_name.texi
79618         (canonicalize_file_name): Document this.
79619         * doc/posix-functions/realpath.texi (realpath): Likewise.
79621         canonicalize-lgpl: reject non-directory with trailing slash
79622         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
79623         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
79624         catches failures in glibc 2.3.5.
79625         * tests/test-canonicalize.c (main): Likewise.
79627         canonicalize-lgpl: use native realpath if it works
79628         * lib/canonicalize-lgpl.c (realpath): Guard with
79629         FUNC_REALPATH_WORKS.
79630         * lib/stdlib.in.h (realpath): Make declaration optional based on
79631         HAVE_REALPATH.
79632         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
79633         native realpath works.
79634         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
79635         * modules/stdlib (Makefile.am): Substitute witness.
79637         canonicalize, canonicalize-lgpl: use <stdlib.h>
79638         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
79639         (Include): Mention <stdlib.h>.
79640         (configure.ac): Mention functions we provide.
79641         * modules/canonicalize (configure.ac): Likewise.
79642         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
79643         realpath if canonicalize_file_name is missing.
79644         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
79645         * modules/stdlib (Makefile.am): Substitute witnesses.
79646         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
79647         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
79648         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
79649         * NEWS: Document this.
79650         * doc/glibc-functions/canonicalize_file_name.texi
79651         (canonicalize_file_name): Likewise.
79652         * doc/posix-functions/realpath.texi (realpath): Likewise.
79653         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
79655         test-canonicalize: consolidate into single C program
79656         * tests/test-canonicalize.sh: Delete; move setup into...
79657         * tests/test-canonicalize.c (main): ...the program, making it
79658         easier to run in debugger.  Add some tests.
79659         * modules/canonicalize-tests (Files): Remove unused file.
79660         (Depends-on): Add progname.
79661         (configure.ac, Makefile.am): Simplify.
79663         test-canonicalize-lgpl: consolidate into single C program
79664         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
79665         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
79666         easier to run in debugger.  Add some tests.
79667         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
79668         (configure.ac, Makefile.am): Simplify.
79670         canonicalize: avoid resolvepath
79671         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
79672         unnecessary checks.
79673         * lib/canonicalize.c (includes): Simplify.
79674         (canonicalize_file_name): Drop resolvepath implementation.
79675         * modules/canonicalize (Depends-on): Drop filenamecat.
79677         canonicalize: don't lose errno
79678         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
79679         over calls to free.
79681         canonicalize: simplify errno handling
79682         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
79683         assignment.
79685         canonicalize, canonicalize-lgpl: update module dependencies
79686         * modules/canonicalize (Depends-on): Add extensions, lstat,
79687         pathmax, stdlib.
79688         (Files): Drop pathmax.h.
79689         (configure.ac): Adjust macro name.
79690         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
79691         lstat, stdlib, sys_stat.
79692         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
79693         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
79694         extensions.
79695         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
79696         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
79697         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
79698         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
79699         declaration, if available.
79700         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
79701         we can rely on the readlink module.
79702         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
79703         (includes): Use <unistd.h> unconditionally.
79705 2009-09-17  Eric Blake  <ebb9@byu.net>
79707         maint: make Include sections of modules consistent
79708         * modules/alloca: Use only header name; no need to list #include.
79709         * modules/alloca-opt: Likewise.
79710         * modules/arpa_inet: Likewise.
79711         * modules/canon-host: Likewise.
79712         * modules/configmake: Likewise.
79713         * modules/dirent: Likewise.
79714         * modules/eealloc: Likewise.
79715         * modules/environ: Likewise.
79716         * modules/fchdir: Likewise.
79717         * modules/fcntl: Likewise.
79718         * modules/fcntl-h: Likewise.
79719         * modules/gethrxtime: Likewise.
79720         * modules/gettime: Likewise.
79721         * modules/ignore-value: Likewise.
79722         * modules/inet_ntop: Likewise.
79723         * modules/inet_pton: Likewise.
79724         * modules/inttypes: Likewise.
79725         * modules/isnand-nolibm: Likewise.
79726         * modules/isnanf-nolibm: Likewise.
79727         * modules/mbchar: Likewise.
79728         * modules/mbfile: Likewise.
79729         * modules/mbiter: Likewise.
79730         * modules/mbuiter: Likewise.
79731         * modules/netdb: Likewise.
79732         * modules/netinet_in: Likewise.
79733         * modules/nproc: Likewise.
79734         * modules/pagealign_alloc: Likewise.
79735         * modules/poll: Likewise.
79736         * modules/printf-frexp: Likewise.
79737         * modules/pthread: Likewise.
79738         * modules/putenv: Likewise.
79739         * modules/random_r: Likewise.
79740         * modules/relocatable-prog: Likewise.
79741         * modules/search: Likewise.
79742         * modules/select: Likewise.
79743         * modules/selinux-h: Likewise.
79744         * modules/settime: Likewise.
79745         * modules/signal: Likewise.
79746         * modules/size_max: Likewise.
79747         * modules/socklen: Likewise.
79748         * modules/ssize_t: Likewise.
79749         * modules/stdarg: Likewise.
79750         * modules/stdbool: Likewise.
79751         * modules/stddef: Likewise.
79752         * modules/stdint: Likewise.
79753         * modules/stdio: Likewise.
79754         * modules/stdlib: Likewise.
79755         * modules/string: Likewise.
79756         * modules/strings: Likewise.
79757         * modules/sys_file: Likewise.
79758         * modules/sys_ioctl: Likewise.
79759         * modules/sys_select: Likewise.
79760         * modules/sys_socket: Likewise.
79761         * modules/sys_stat: Likewise.
79762         * modules/sys_time: Likewise.
79763         * modules/sys_times: Likewise.
79764         * modules/sys_utsname: Likewise.
79765         * modules/sys_wait: Likewise.
79766         * modules/sysexits: Likewise.
79767         * modules/time: Likewise.
79768         * modules/times: Likewise.
79769         * modules/tmpfile: Likewise.
79770         * modules/trim: Likewise.
79771         * modules/unistd: Likewise.
79772         * modules/wchar: Likewise.
79773         * modules/wctype: Likewise.
79775 2009-09-17  Bruno Haible  <bruno@clisp.org>
79777         Make getdate.y compile on QNX and NetBSD 5 / i386.
79778         * m4/getdate.m4 (gl_GETDATE): Conditionally define
79779         TIME_T_FITS_IN_LONG_INT.
79780         * lib/getdate.y (long_time_t): New type.
79781         (relative_time): Change type of 'seconds' field to long_time_t.
79782         (get_date): Update types of local variables. Check against overflow
79783         during conversion from long_time_t to time_t.
79784         Reported by Matt Kraai <kraai@ftbfs.org>
79785         and Hasso Tepper <hasso@netbsd.org>.
79787 2009-09-17  Bruno Haible  <bruno@clisp.org>
79789         * modules/COPYING: Update copyright years.
79790         * modules/README: Likeiwse.
79791         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
79792         Reported by Ian Beckwith <ianb@erislabs.net>.
79794 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
79796         * users.txt: Update references for gnuit package.
79798 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
79800         * m4/getdelim.m4: Fix typo in copyright line.
79802 2009-09-17  Bruno Haible  <bruno@clisp.org>
79804         * lib/atoll.c: Use the standard header with GPL copyright.
79805         * lib/argz.in.h: Likewise.
79806         * lib/glob.c: Likewise.
79807         * lib/glob-libc.h: Likewise.
79808         * lib/random_r.c: Likewise.
79809         * lib/siglist.h: Likewise.
79810         * lib/strsignal.c: Likewise.
79811         Reported by Ian Beckwith <ianb@erislabs.net>.
79813 2009-09-17  Eric Blake  <ebb9@byu.net>
79815         rmdir: ensure correct dependency order
79816         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
79818 2009-09-17  Bruno Haible  <bruno@clisp.org>
79820         Disable assertion that fails on NetBSD 5 / i386.
79821         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
79822         Reported by Sam Steingold <sds@gnu.org>
79823         and Hasso Tepper <hasso@netbsd.org>.
79825 2009-09-16  Eric Blake  <ebb9@byu.net>
79827         unlinkdir: port to mingw
79828         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
79829         on which no one can unlink a directory.
79831         stdlib: sort witness names
79832         * modules/stdlib (Makefile.am): Sort replacements.
79833         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
79834         * lib/stdlib.in.h: Likewise.
79836         parse-duration-tests: avoid link failure
79837         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
79838         LIBINTL.
79839         Reported by Tom G. Christensen.
79841         openat-tests: ensure unlinkat behaves like rmdir
79842         * tests/test-rmdir.c (main): Factor guts...
79843         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
79844         * modules/rmdir-tests (Files): Ship new file.
79845         * modules/openat-tests: New test.
79846         * tests/test-unlinkat.c: Likewise.
79848         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
79849         * modules/rmdir-errno (Status, Notice): Now obsolete.
79851         rmdir: work around cygwin 1.5.x and mingw bugs
79852         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
79853         * lib/rmdir.c (rmdir): Work around it.
79854         * modules/rmdir (Status, Notice): No longer obsolete.
79855         (Files): Add dos.m4.
79856         (Depends-on): Add unistd.
79857         (configure.ac): Set witnesses.
79858         (License): Relax to LGPLv2+.
79859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
79860         * modules/unistd (Makefile.am): Substitute witnesses.
79861         * lib/unistd.in.h (rmdir): Declare replacement.
79862         * doc/posix-functions/rmdir.texi (rmdir): Document this.
79863         * modules/rmdir-tests: New tests.
79864         * tests/test-rmdir.c: Likewise.
79866 2009-09-15  Eric Blake  <ebb9@byu.net>
79868         fchdir: improve use of replacement functions
79869         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
79870         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
79871         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
79872         REPLACE_CLOSEDIR.
79873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
79874         * modules/sys_stat (Makefile.am): Substitute correct witness.
79875         * modules/dirent (Makefile.am): Likewise.
79876         * modules/unistd (Makefile.am): Likewise.
79877         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
79878         * lib/unistd.in.h (dup): Likewise.
79879         * lib/sys_stat.in.h (fstat): Likewise.
79881         maint: ignore gnulib-tool temp files
79882         * .gitignore: Ignore files created during gnulib-tool --test.
79884 2009-09-13  Jim Meyering  <meyering@redhat.com>
79886         posixtm: don't reject a time that specify "60" as the number of seconds
79887         * lib/posixtm.c (posixtime): The code to reject invalid dates
79888         would also reject a time specified with the .60 suffix.
79889         But POSIX allows that, in order to accommodate leap seconds.
79890         So don't reject it.
79891         (main): Adjust tests accordingly.
79892         * modules/posixtm (Depends-on): Add stpcpy.
79894 2009-09-11  Jim Meyering  <meyering@redhat.com>
79896         announce-gen: include [$release_type] in emitted Subject:
79897         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
79898         e.g., [stable] in the emitted Subject: line.
79900 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79902         Remove obsolete macros from several modules.
79903         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
79904         obsolete Autoconf macros with their modern counterparts.
79905         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
79906         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
79907         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
79908         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
79909         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
79910         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
79911         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
79912         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
79913         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
79914         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
79915         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
79916         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
79917         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
79918         * m4/sockets.m4 (gl_SOCKETS): Likewise.
79919         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
79920         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
79921         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
79922         * m4/time_r.m4 (gl_TIME_R): Likewise.
79923         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
79924         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
79925         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
79927         Fix copyright header in build-aux scripts.
79928         * build-aux/git-version-gen: Fix copyright header to match GPLv3
79929         recommendation.
79930         * build-aux/ncftpput-ftp: Likewise.
79931         * build-aux/update-copyright: Likewise.
79933 2009-09-09  Eric Blake  <ebb9@byu.net>
79935         test-link: allow Linux choice of errno
79936         * tests/test-link.c (main): Relax test for alternate error.
79938         strndup: fix improper m4 caching
79939         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
79940         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
79941         (gl_PREREQ_STRNDUP): Delete.
79942         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
79943         * modules/string (Makefile.am): Substitute it.
79944         * lib/string.in.h (strndup): Modernize prototype.
79946         getcwd: port to mingw
79947         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
79948         different from the POSIX assumptions made throughout the getcwd
79949         module; fortunately, the mingw getcwd does not need replacement.
79950         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
79951         * modules/getcwd-tests: New test.
79952         * tests/test-getcwd.c: Likewise.
79954         link: fix platform bugs
79955         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
79956         * lib/link.c (link): Work around them.  Fix related mingw bug.
79957         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
79958         * modules/unistd (Makefile.am): Substitute it.
79959         * lib/unistd.in.h (link): Declare replacement.
79960         * doc/posix-functions/link.texi (link): Document this.
79961         * modules/link (Depends-on): Add strdup-posix, sys_stat.
79963         test-link: consolidate into single C program, test more cases
79964         * tests/test-link.sh: Delete.
79965         * tests/test-link.c: Test more error conditions.  Exposes bugs on
79966         at least Cygwin and Solaris.
79967         * modules/link-tests (Files): Remove unused file.
79968         (Depends-on): Add errno, sys_stat.
79969         (Makefile.am): Simplify.
79971 2009-09-08  Bruno Haible  <bruno@clisp.org>
79973         Work around towlower, towupper bug on mingw.
79974         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
79975         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
79976         * doc/posix-functions/towlower.texi: Mention the mingw bug.
79977         * doc/posix-functions/towupper.texi: Likewise.
79978         Reported by Eric Blake.
79980 2009-09-08  Jim Meyering  <meyering@redhat.com>
79982         build: don't try to run autoheader if we don't use it
79983         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
79984         is not used in configure.ac.
79986 2009-09-08  Eric Blake  <ebb9@byu.net>
79988         euidaccess: fix compilation error
79989         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
79991         rawmemchr: relax license
79992         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
79993         okay.
79994         Reported by Jim Meyering.
79996         mkfifoat: new module
79997         * modules/mkfifoat: New file.
79998         * lib/mkfifoat.c: Likewise.
79999         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
80000         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80001         * modules/sys_stat (Makefile.am): Use them.
80002         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
80003         * MODULES.html.sh (File system functions): Mention module.
80004         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80005         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80006         * modules/mkfifoat-tests: New test.
80007         * tests/test-mkfifoat.c: Likewise.
80009         strchrnul: relax license
80010         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
80011         okay.
80012         Reported by Jim Meyering.
80014 2009-09-08  Eric Blake  <ebb9@byu.net>
80016         fstatat: fix compilation on Solaris
80017         * lib/fstatat.c (includes): Add fcntl.h.
80018         Reported by Pádraig Brady.
80020 2009-09-07  Eric Blake  <ebb9@byu.net>
80022         rename: modernize replacement
80023         * modules/rename (Depends-on): Add stdio.
80024         (configure.ac): Declare witness.
80025         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
80026         stdio take care of replacement.
80027         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
80028         * modules/stdio (Makefile.am): Substitute them.
80029         * lib/stdio.in.h (rename): Declare replacement.
80030         * lib/rename.c (includes): Allow cross-compilation to non-windows
80031         machines.
80032         * doc/posix-functions/rename.texi (rename): Improve
80033         documentation.
80035         stdio: sort witness names
80036         * modules/stdio (Makefile.am): Sort replacements.
80037         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
80038         * lib/stdio.in.h: Likewise.
80040         getcwd: minor cleanups
80041         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
80042         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
80044         openat: provide more convenience names
80045         * modules/faccessat (configure.ac): Add C witness.
80046         * lib/unistd.in.h (readlinkat): Fix typo.
80047         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
80048         convenience wrappers.
80049         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
80050         wrappers in syntax checks.
80052 2009-09-06  Eric Blake  <ebb9@byu.net>
80054         doc: fix comments in recent patches
80055         * lib/faccessat.c: Mention correct function.
80056         * lib/fchmodat.c: Likewise.
80057         * lib/fchownat.c: Likewise.
80058         * lib/symlinkat.c: Likewise.
80059         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
80060         constants.
80062         faccessat, symlinkat: continue cleanup of previous patch
80063         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
80064         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80065         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
80066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
80067         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
80068         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
80069         set.
80071 2009-09-06  Bruno Haible  <bruno@clisp.org>
80073         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
80074         (fstatat): Declare if GNULIB_FSTATAT is set.
80075         (mkdirat): Declare if GNULIB_MKDIRAT is set.
80076         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
80077         (unlinkat): Declare if GNULIB_UNLINKAT is set.
80078         * modules/fcntl-h (Files): Remove m4/openat.m4.
80079         * modules/sys_stat (Files): Remove m4/openat.m4.
80080         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
80081         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
80082         * modules/unistd (Files): Remove m4/openat.m4.
80083         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
80084         GNULIB_OPENAT.
80085         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
80086         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
80087         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
80088         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
80089         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
80090         gl_OPENAT_DEFAULTS.
80091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
80092         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
80093         Don't require gl_OPENAT_DEFAULTS.
80094         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
80095         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
80096         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
80097         (gl_OPENAT_DEFAULTS): Remove macro.
80099 2009-09-06  Bruno Haible  <bruno@clisp.org>
80101         * modules/openat (configure.ac): Remove unneeded witness.
80103 2009-09-06  Bruno Haible  <bruno@clisp.org>
80105         Set errno to ENOSYS when a function is entirely unsupported.
80106         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
80107         EOPNOTSUPP.
80108         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
80109         * modules/chown (Depends-on): Remove errno.
80111 2009-09-06  Bruno Haible  <bruno@clisp.org>
80113         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
80115 2009-09-06  Bruno Haible  <bruno@clisp.org>
80117         * lib/sys_stat.in.h: Fix preprocessor command indentation.
80119 2009-09-06  Ben Pfaff  <blp@gnu.org>
80120             Bruno Haible  <bruno@clisp.org>
80122         Work around a glibc bug in strtok_r.
80123         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
80124         Undefine if UNDEFINE_STRTOK_R is set.
80125         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
80126         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80127         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
80128         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
80129         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
80130         UNDEFINE_STRTOK_R.
80131         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
80133 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
80135         exclude: minor fix
80136         * lib/exclude.c: Include wctype.h
80138 2009-09-06  Akim Demaille  <demaille@gostai.com>
80140         bootstrap: improve error message
80141         * build-aux/bootstrap (find_tool): Upon failure, report the list
80142         of candidates.
80143         Honor the initial value of the envvar.
80145 2009-09-05  Eric Blake  <ebb9@byu.net>
80147         symlinkat: new module
80148         * modules/symlinkat: New file.
80149         * lib/symlinkat.c: Likewise.
80150         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
80151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80152         * modules/unistd (Makefile.am): Use them.
80153         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
80154         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
80155         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
80156         * MODULES.html.sh (File system functions): Mention module.
80157         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
80158         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80159         * modules/symlinkat-tests: New test.
80160         * tests/test-symlinkat.c: Likewise.
80162         test-openat-safer: add more checks
80163         * tests/test-openat-safer.c (main): Check more code paths.
80165 2009-09-05  Jim Meyering  <meyering@redhat.com>
80167         syntax-check: detect unnecessary inclusion of openat.h
80168         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
80170 2009-09-05  Bruno Haible  <bruno@clisp.org>
80172         Support towlower, towupper.
80173         * doc/posix-functions/towlower.texi: Mention module wctype.
80174         * doc/posix-functions/towupper.texi: Likewise.
80175         * lib/wctype.in.h (towlower, towupper): New functions.
80176         * tests/test-wctype.c: Include stdio.h, stdlib.h.
80177         (ASSERT): New macro.
80178         (e): New variable.
80179         (main): Test also towlower, towupper. Test WEOF argument.
80180         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
80182 2009-09-05  Bruno Haible  <bruno@clisp.org>
80184         Fix conversion behaviour when the input is invalid.
80185         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
80186         mark occurring in first pass of indirect conversion.
80187         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
80188         input.
80189         Found by clang's static analyzer.
80191 2009-09-05  Bruno Haible  <bruno@clisp.org>
80193         * tests/test-striconveh.c (main): Test indirect conversion on platforms
80194         where direct conversion is possible.
80196 2009-09-04  Eric Blake  <ebb9@byu.net>
80198         openat: fail with ENOENT on empty name
80199         * lib/openat-proc.c (openat_proc_name): Special-case the empty
80200         buffer.
80202         link-follow: fix logic bug in prior patch
80203         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
80204         reversed sense of yes and no in prior patch.  Avoid confusing
80205         compilation failure with desired semantics.
80207         link-follow: accommodate mingw and cross-compilation
80208         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
80209         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
80210         cross-compilation results to -1, to make linkat easier to
80211         implement when cross-compiling.  Trivially support mingw.
80212         * modules/link-follow (configure.ac): Call new name.
80213         * NEWS: Mention this.
80215 2009-09-03  Eric Blake  <ebb9@byu.net>
80217         faccessat: compile replacement
80218         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
80219         needed.
80221         fts: fix compilation error
80222         * lib/fts.c (includes): Re-add "openat.h", for
80223         openat_needs_fchdir.
80225         faccessat: new module
80226         * modules/faccessat: New file.
80227         * lib/faccessat.c: Likewise.
80228         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80230         * modules/unistd (Makefile.am): Use it.
80231         * lib/unistd.in.h (faccessat): Declare it.
80232         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
80233         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
80234         * MODULES.html.sh (File system functions): Mention it.
80235         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
80236         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
80238         euidaccess: prefer POSIX over non-standard implementation
80239         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
80240         * lib/euidaccess.c (euidaccess): Use it if available.
80242         openat: make template easier to use
80243         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
80244         AT_FUNC_F2 to be undefined.
80245         (VALIDATE_FLAG): New macro; use it to reject bad flags.
80246         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
80247         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
80248         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
80249         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
80250         Likewise.
80251         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
80252         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
80253         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
80254         Likewise.
80256         openat: declare in POSIX headers
80257         * NEWS: Mention this.
80258         * modules/openat (configure.ac): Declare witnesses.
80259         (Depends-on): Add fcntl-h, sys_stat, unistd.
80260         (Include): Mention correct headers.
80261         * modules/fcntl-h (Depends-on): Add link-warning.
80262         (Files): Add openat.m4.
80263         (Makefile.am): Substitute witnesses.
80264         * modules/sys_stat (Files, Makefile.am): Likewise.
80265         * modules/unistd (Files, Makefile.am): Likewise.
80266         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
80267         (gl_OPENAT_DEFAULTS): New macro.
80268         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
80269         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
80270         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
80271         (SYS_STAT_H): Remove unused variable.
80272         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
80273         * lib/fcntl--.h (includes): Remove unneeded header.
80274         * lib/openat-safer.c (includes): Likewise.
80275         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
80276         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
80277         appropriate headers.
80278         (__OPENAT_PREFIX): Delete.
80279         * lib/fcntl.in.h (openat): Provide declaration.
80280         (AT_FDCWD): Fix Solaris bug.
80281         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
80282         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
80283         * lib/fchmodat.c (includes):  Adjust to find declaration.
80284         * lib/fchownat.c (includes): Likewise.
80285         * lib/mkdirat.c (includes): Likewise.
80286         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
80287         still visible.
80289 2009-09-02  Eric Blake  <ebb9@byu.net>
80291         errno: use consistently
80292         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
80293         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
80294         * lib/canonicalize.c (ELOOP): Likewise.
80295         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
80296         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
80297         * lib/lchown.c (EOPNOTSUPP): Likewise.
80298         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
80299         * lib/savewd.c (ESTALE): Likewise.
80300         * lib/settime.c (ENOSYS): Likewise.
80301         * lib/utimens.c (ENOSYS): Likewise.
80302         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
80303         * lib/chdir-safer.c (ELOOP): Likewise.
80304         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
80305         * modules/c-stack (Depends-on): Add errno.
80306         * modules/canonicalize (Depends-on): Likewise.
80307         * modules/chdir-safer (Depends-on): Likewise.
80308         * modules/fdopendir (Depends-on): Likewise.
80309         * modules/inet_ntop (Depends-on): Likewise.
80310         * modules/inet_pton (Depends-on): Likewise.
80311         * modules/lchown (Depends-on): Likewise.
80312         * modules/openat (Depends-on): Likewise.
80313         * modules/savewd (Depends-on): Likewise.
80314         * modules/settime (Depends-on): Likewise.
80315         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
80317         fts: avoid leaking fds
80318         * modules/fts (Depends-on): Add cloexec.
80319         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
80320         flag.
80322         fts: make directory fds more robust
80323         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
80324         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
80326         backupfile, chdir-long, fts, savedir: make safer
80327         * lib/backupfile.c (includes): Use "dirent--.h", since
80328         numbered_backup can write to stderr during readdir.
80329         * lib/savedir.c (includes): Likewise.
80330         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
80331         emulation can write to stderr on failure.
80332         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
80333         * lib/getcwd.c: Document why opendir_safer is unused.
80334         * lib/glob.c: Likewise.
80335         * lib/scandir.c: Likewise.
80336         * lib/openat-proc.c: Likewise, for open_safer.
80337         * modules/backupfile (Depends-on): Add dirent-safer.
80338         * modules/savedir (Depends-on): Likewise.
80339         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
80340         * modules/chdir-long (Depends-on): Add openat-safer.
80342         openat-safer: new module
80343         * modules/openat-safer: New file.
80344         * lib/openat-safer.c: Likewise.
80345         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
80346         * lib/fcntl-safer.h (openat_safer): Declare.
80347         * lib/fcntl--.h (openat): Override.
80348         * MODULES.html.sh (File descriptor based I/O): Mention it.
80349         * lib/openat.h: Add double-inclusion guards.
80350         * lib/openat.c (includes): Only include "fcntl-safer.h", not
80351         "fcntl--.h", so we can implement openat.
80352         * modules/openat-safer-tests: New test.
80353         * tests/test-openat-safer.c: New file.
80355         dirent-safer: new module
80356         * modules/dirent-safer: New file.
80357         * lib/dirent--.h: Likewise.
80358         * lib/dirent-safer.h: Likewise.
80359         * lib/opendir-safer.c: Likewise.
80360         * m4/dirent-safer.m4: Likewise.
80361         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
80362         * modules/dirent-safer-tests: New test.
80363         * tests/test-dirent-safer.c: New file.
80364         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
80366         fdopendir: optimize on mingw
80367         * lib/unistd.in.h (_gl_directory_name): New prototype.
80368         * lib/fchdir.c (_gl_directory_name): Implement it.
80369         (fchdir): Use it to simplify implementation.
80370         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
80371         fchdir, when available, to avoid calling [f]chdir().
80373         fdopendir: split into its own module
80374         * lib/openat.c (fdopendir): Move...
80375         * lib/fdopendir.c: ...into new file.
80376         * modules/fdopendir: New module.
80377         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
80378         * modules/openat (Depends-on): Add fdopendir.
80379         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
80380         fdopendir here.
80381         * modules/savedir (Depends-on): Only need fdopendir, not full
80382         openat.
80383         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
80384         * lib/openat.h (fdopendir): Drop prototype.
80385         * lib/dirent.in.h (fdopendir): Provide prototype.
80386         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
80387         * modules/dirent (Makefile.am): Substitute them.
80388         * MODULES.html.sh (File system functions): Mention it.
80389         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
80390         * modules/fdopendir-tests: New file.
80391         * tests/test-fdopendir.c: Likewise.
80393         fchdir: use more consistent macro convention
80394         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
80395         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
80396         REPLACE_FCHDIR, rather than relying on config.h macros.
80397         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
80398         inside a single make-time REPLACE_FCHDIR block, rather than using
80399         the config.h FCHDIR_REPLACEMENT.
80400         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
80401         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
80402         Manage fstat replacement.
80403         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
80404         REPLACE_FCHDIR.
80405         * modules/sys_stat (Files): Add m4/unistd_h.m4.
80406         (Makefile.am): Substitute REPLACE_FCHDIR.
80407         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
80408         FCHDIR_REPLACEMENT.
80409         * lib/dup-safer.c (dup_safer): Likewise.
80410         * lib/dup2.c (rpl_dup2): Likewise.
80411         * lib/dup3.c (rpl_dup3): Likewise.
80412         * lib/open.c (rpl_open): Likewise.
80414         fchdir: simplify error handling, and support dup3
80415         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
80416         stdbool, malloc-posix, realloc-posix.
80417         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
80418         (ensure_dirs_slot): Return false on allocation failure.
80419         (rpl_dup2): Delete.
80420         (_gl_register_dup): New function.
80421         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
80422         (_gl_register_fd): Close fd on allocation failure.
80423         * lib/fcntl.in.h (_gl_register_fd): Update signature.
80424         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
80425         prototype.
80426         (rpl_dup2_fchdir): Delete prototype.
80427         * lib/open.c (open): Update caller.
80428         * lib/dup2.c (dup2): Track fchdir metadata.
80429         * lib/dup3.c (dup3): Likewise.
80430         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
80431         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
80433 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80435         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
80436         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
80437         don't pass arguments to AC_OUTPUT.
80439 2009-09-02  Bruno Haible  <bruno@clisp.org>
80441         * modules/mkdtemp (License): Relicense under LGPLv2+.
80442         Reported by Paolo Bonzini.
80444 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80446         Replace uses of obsolete autoconf macros in Jim's modules.
80447         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
80448         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
80449         can evoke a warning from autoconf when run with -Wobsolete
80450         enabled.  They were declared obsolete for good reasons (see
80451         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
80452         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
80453         should not continue using the deprecated macros.
80454         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
80455         obsolete Autoconf macros with modern counterparts.
80456         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80457         * m4/dos.m4 (gl_AC_DOS): Likewise.
80458         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
80459         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
80460         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
80461         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
80462         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
80463         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
80464         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
80465         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
80466         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
80467         Likewise.
80468         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
80469         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
80470         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
80471         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
80472         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
80473         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
80475 2009-09-01  Eric Blake  <ebb9@byu.net>
80477         fchdir: fix off-by-one bug in previous patch
80478         * lib/fchdir.c (rpl_fstat): Use correct bounds.
80479         (_gl_unregister_fd): Delete useless if.
80481 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
80483         maint.mk: sort the list of syntax-check rules
80484         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
80485         easier to get a sense of progress when the rules are run sequentially
80486         and take a long time.
80488 2009-09-01  Simon Josefsson  <simon@josefsson.org>
80490         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
80491         * modules/netinet_in: Likewise.
80492         * modules/sys_file: Likewise.
80493         * modules/sys_ioctl: Likewise.
80494         * modules/sys_select: Likewise.
80495         * modules/sys_socket: Likewise.
80496         * modules/sys_stat: Likewise.
80497         * modules/sys_time: Likewise.
80498         * modules/sys_times: Likewise.
80499         * modules/sys_utsname: Likewise.
80500         * modules/sys_wait: Likewise.
80502 2009-09-01  Jim Meyering  <meyering@redhat.com>
80504         fts: help ensure that return values are not ignored
80505         * lib/fts_.h (__GNUC_PREREQ): Define.
80506         (__attribute_warn_unused_result__): Define.
80507         (fts_children, fts_close, fts_open, fts_read): Declare with
80508         __attribute_warn_unused_result__.
80510         fts: fts_close now fails also when closing a dir file descriptor fails
80511         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
80512         and propagate to caller, along with errno.
80514         announce-gen: correct formatting in --help output
80515         * build-aux/announce-gen (usage): Move the one-line description in
80516         --help output "up", to where it belongs, just after Usage:.
80518 2009-08-31  Eric Blake  <ebb9@byu.net>
80520         fchdir: port to mingw
80521         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
80522         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
80523         opened, then use a substitute.
80524         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
80525         replacement.
80526         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
80527         (_gl_register_fd): No need to check stat if open already filters
80528         all directories.
80529         (fchdir): Fix error condition to match POSIX.
80530         * modules/fchdir (Depends-on): Add sys_stat.
80531         * doc/posix-functions/open.texi (open): Document the limitation.
80532         * modules/fchdir-tests: New file.
80533         * tests/test-fchdir.c: Likewise.
80535         canonicalize: allow cross-testing from cygwin to mingw
80536         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
80537         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
80538         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
80539         Likewise.
80540         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
80541         target does not support symlinks.
80542         * tests/test-canonicalize-lgpl.sh: Likewise.
80544         chown: avoid compilation warning on mingw
80545         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
80546         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
80547         mingw.
80548         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
80549         * modules/chown (Depends-on): Add errno.
80551 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
80553         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
80554         command.
80556 2009-08-31  Jim Meyering  <meyering@redhat.com>
80558         canonicalize: remove useless initialization
80559         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
80560         initialization of local, "end".
80562 2009-08-30  Bruno Haible  <bruno@clisp.org>
80564         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
80565         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
80566         ENOSYS.
80568 2009-08-30  Bruno Haible  <bruno@clisp.org>
80570         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
80571         /usr/xpg4/bin/tr when it exists.
80572         * tests/test-pipe-filter-gi1.sh: Likewise.
80574 2009-08-30  Bruno Haible  <bruno@clisp.org>
80576         Work around deficient /usr/bin/id program on Solaris.
80577         * tests/test-file-has-acl.sh (ID): New variable.
80578         * tests/test-set-mode-acl.sh (ID): Likewise.
80579         * tests/test-copy-acl.sh (ID): Likewise.
80580         * tests/test-copy-file.sh (ID): Likewise.
80582 2009-08-30  Bruno Haible  <bruno@clisp.org>
80584         New module 'xstriconveh'.
80585         * lib/xstriconveh.h: New file.
80586         * lib/xstriconveh.c: New file.
80587         * modules/xstriconveh: New file.
80589 2009-08-30  Bruno Haible  <bruno@clisp.org>
80591         Make it easier to use mem_cd_iconveh.
80592         * lib/striconveh.h (iconveh_t): New type.
80593         (iconveh_open, iconveh_close): New declarations.
80594         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
80595         with a single 'const iconveh_t *' argument.
80596         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
80597         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
80598         with a single 'const iconveh_t *' argument.
80599         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
80600         * tests/test-striconveh.c (main): Update.
80601         * NEWS: Mention the change.
80603 2009-08-30  Bruno Haible  <bruno@clisp.org>
80605         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
80606         problem.
80608 2009-08-30  Bruno Haible  <bruno@clisp.org>
80610         Work around iconv_open problem on Solaris.
80611         * lib/iconv_open-solaris.gperf: New file.
80612         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
80613         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
80614         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
80615         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
80616         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
80617         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
80619 2009-08-29  Jim Meyering  <meyering@redhat.com>
80621         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
80622         * top/maint.mk (cvs-check): Remove target; it was just an alias
80623         to the better-named vc-diff-check.
80624         (maintainer-distcheck): Remove rule.  It was used only from
80625         the (alpha/beta/major) target, and all of its commands but one
80626         were coreutils-specific.
80627         (vc-dist): Remove rule.
80628         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
80629         Run vc-diff-check, not vc-dist.
80630         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
80632 2009-08-27  Bruno Haible  <bruno@clisp.org>
80634         * tests/test-bitrotate.c (main): Remove test that uses a shift count
80635         of 0.
80637 2009-08-27  Bruno Haible  <bruno@clisp.org>
80639         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
80640         compilers.
80641         * doc/func.texi: Document the SunPRO C bug.
80643 2009-08-27  Bruno Haible  <bruno@clisp.org>
80645         Fix link error on Solaris.
80646         * tests/test-parse-duration.c (xstrdup): Remove function.
80648 2009-08-26  Pádraig Brady  <P@draigbrady.com>
80650         ignore-value: handle pointer types, too
80651         * lib/ignore-value.h (__attribute__): Remove definition.
80652         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
80653         of a more concise and more-often effective "(void) i" statement.
80654         (ignore_ptr): New function to suppress warnings from functions that
80655         return pointers, and to make it explicit that one function doesn't
80656         handle all cases.
80658 2009-08-25  Bruno Haible  <bruno@clisp.org>
80660         dup2: work around a Linux bug.
80661         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
80662         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
80663         * doc/posix-functions/dup2.texi: Mention the Linux bug.
80664         Reported by Simon Josefsson.
80666 2009-08-25  Jim Meyering  <meyering@redhat.com>
80668         libguestfs uses gnulib
80669         * users.txt: Add libguestfs.
80671 2009-08-24  Eric Blake  <ebb9@byu.net>
80673         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
80674         * lib/pipe2.c (includes): Add binary-io.h.
80675         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
80677 2009-08-24  Bruno Haible  <bruno@clisp.org>
80679         Tolerate declared but missing accept4 syscall.
80680         * lib/accept4.c (accept4): Invoke original accept4 function first, if
80681         available.
80682         * lib/sys_socket.in.h (accept4): If the function is already present,
80683         override it.
80684         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
80685         * modules/accept4 (Makefile.am): Compile accept4.c always.
80686         Reported by Paolo Bonzini and Eric Blake.
80688 2009-08-23  Bruno Haible  <bruno@clisp.org>
80690         New module 'accept4'.
80691         * lib/sys_socket.in.h (accept4): New declaration.
80692         * lib/accept4.c: New file.
80693         * m4/accept4.m4: New file.
80694         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
80695         GNULIB_ACCEPT4, HAVE_ACCEPT4.
80696         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
80697         HAVE_ACCEPT4.
80698         * modules/accept4: New file.
80699         * doc/glibc-functions/accept4.texi: Mention the new module.
80701 2009-08-24  Jim Meyering  <meyering@redhat.com>
80703         progname: also set global program_invocation_name, when possible
80704         Before this change, a libtool-enabled program that calls glibc's
80705         error function would report the program name as
80706         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
80707         * modules/progname (configure.ac): Check for a declaration of
80708         program_invocation_name.
80709         * lib/progname.c:  Include <errno.h>.
80710         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
80711         Set program_invocation_name.
80713 2009-08-23  Bruno Haible  <bruno@clisp.org>
80715         * lib/dup3.c: Include <string.h>.
80717 2009-08-23  Bruno Haible  <bruno@clisp.org>
80719         * lib/dup3.c (dup3): Test only once whether the system actually exists.
80720         * lib/pipe2.c (pipe2): Likewise.
80721         Suggested by Eric Blake.
80723 2009-08-23  Bruno Haible  <bruno@clisp.org>
80725         Tolerate declared but missing dup3 syscall.
80726         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
80727         * lib/unistd.in.h (dup3): If the function is already present,
80728         override it.
80729         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
80730         * modules/dup3 (Makefile.am): Compile dup3.c always.
80731         Reported by Paolo Bonzini.
80733 2009-08-23  Bruno Haible  <bruno@clisp.org>
80735         Tolerate declared but missing pipe2 syscall.
80736         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
80737         available.
80738         * lib/unistd.in.h (pipe2): If the function is already present,
80739         override it.
80740         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
80741         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
80742         Reported by Paolo Bonzini.
80744 2009-08-23  Bruno Haible  <bruno@clisp.org>
80746         * lib/pipe2.c (pipe2): Move #ifs inside function.
80748 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
80750         quotearg: document limitations of quote_these_too
80751         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
80752         those limitations are created.
80753         * lib/quotearg.h (set_char_quoting): Document that digits and
80754         letters that are special after backslash are not permitted.
80755         (quotearg_char): Cross-reference set_char_quoting documentation.
80757 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
80759         quotearg: implement custom_quoting_style
80760         * lib/quotearg.c: (struct quoting_options): Add left_quote and
80761         right_quote fields.
80762         (set_custom_quoting): New public function.
80763         (quotearg_buffer_restyled): Add left_quote and right_quote
80764         arguments, handle them very much like locale quoting, and update
80765         all uses.
80766         (quotearg_n_custom): New public function.
80767         (quotearg_n_custom_mem): New public function.
80768         (quotearg_custom): New public function.
80769         (quotearg_custom_mem): New public function.
80770         * lib/quotearg.h: Prototype and document new public functions.
80771         (enum quoting_style): For escape_quoting_style and
80772         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
80773         ignored even though they're otherwise like c_quoting_style.
80774         Add custom_quoting_style member and document with comparison to
80775         clocale_quoting_style.
80776         * tests/test-quotearg.c (custom_quotes): New array.
80777         (custom_results): New array.
80778         (main): Extend to test custom quoting.
80780 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
80782         quotearg: fix right quote escaping when it's in quote_these_too
80783         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
80784         quote, be sure to prepend only one backslash.
80785         * tests/test-quotearg.c (use_quote_double_quotes): New function.
80786         (main): Test it.
80788 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
80790         quotearg-tests: test escaping of embedded locale quotes
80791         * tests/test-quotearg.c (struct result_strings): Add member for
80792         new input.
80793         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
80794         (inputs): Add new input.
80795         (results_g): Add expected results.
80796         (flag_results): Likewise.
80797         (locale_results): Likewise.
80798         (compare_strings): Check those.
80800 2009-08-23  Bruno Haible  <bruno@clisp.org>
80802         Tests for module 'dup3'.
80803         * modules/dup3-tests: New file.
80804         * tests/test-dup3.c: New file.
80806         New module 'dup3'.
80807         * lib/unistd.in.h (dup3): New declaration.
80808         * lib/dup3.c: New file.
80809         * m4/dup3.m4: New file.
80810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
80811         HAVE_DUP3.
80812         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
80813         * modules/dup3: New file.
80814         * doc/glibc-functions/dup3.texi: Mention the new module.
80816 2009-08-23  Bruno Haible  <bruno@clisp.org>
80818         Tweak the dup2 test.
80819         * tests/test-dup2.c (main): Create the test file empty. Verify that an
80820         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
80821         the test file is still empty. Fix argument order of lseek.
80823 2009-08-23  Bruno Haible  <bruno@clisp.org>
80825         Avoid test link errors when the modules getopt-gnu, gettext are used.
80826         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
80827         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
80829 2009-08-23  Bruno Haible  <bruno@clisp.org>
80831         Fix getdtablesize() on mingw.
80832         * lib/getdtablesize.c (getdtablesize): Implement differently.
80833         * lib/unistd.in.h (getdtablesize): Improve comment.
80835 2009-08-23  Bruno Haible  <bruno@clisp.org>
80837         New module 'mkostemp'.
80838         Based on Ulrich Drepper's 2007-08-10 change in glibc.
80839         * lib/stdlib.in.h (mksotemp): New declaration.
80840         * lib/mkostemp.c: New file, from glibc with modifications.
80841         * lib/tempname.h (GT_FILE): Remove outdated comment.
80842         (gen_tempname): Add flags argument.
80843         * lib/tempname.c (__GT_BIGFILE): Remove macro.
80844         (__GT_FILE): Map to 1.
80845         (small_open, large_open): Remove macros.
80846         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
80847         * lib/mkstemp.c (mkstemp): Update.
80848         * lib/mkdtemp.c (mkdtemp): Likewise.
80849         * m4/mkostemp.m4: New file.
80850         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
80851         HAVE_MKOSTEMP.
80852         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
80853         HAVE_MKOSTEMP.
80854         * modules/mkostemp: New file, based on modules/mkstemp.
80855         * doc/glibc-functions/mkostemp.texi: Mention the new module.
80856         * NEWS: Mention the change.
80858 2009-08-23  Bruno Haible  <bruno@clisp.org>
80860         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
80861         Reported by Eric Blake.
80863 2009-08-23  Bruno Haible  <bruno@clisp.org>
80865         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
80866         Reported by Eric Blake.
80868 2009-08-23  Bruno Haible  <bruno@clisp.org>
80870         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
80871         * modules/pipe2 (Depends-on): Likewise.
80873 2009-08-23  Eric Blake  <ebb9@byu.net>
80875         fcntl-h: add O_TTY_INIT support
80876         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
80877         * tests/test-fcntl-h.c (o): Test it.
80878         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
80880         fcntl-h: rename from fcntl, in preparation for fcntl(2)
80881         * modules/fcntl: Move <fcntl.h> header replacement...
80882         * modules/fcntl-h: ...to new name, so as not to collide with
80883         like-named function.
80884         * tests/test-fcntl.c: Rename...
80885         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
80886         * modules/fcntl-tests: Rename...
80887         * modules/fcntl-h-tests: ...to this.  Update test file name.
80888         * modules/chdir-long (Depends-on): Update clients.
80889         * modules/chdir-safer (Depends-on): Likewise.
80890         * modules/fcntl-safer (Depends-on): Likewise.
80891         * modules/fts (Depends-on): Likewise.
80892         * modules/mkancesdirs (Depends-on): Likewise.
80893         * modules/mkdir-p (Depends-on): Likewise.
80894         * modules/open (Depends-on): Likewise.
80895         * modules/savewd (Depends-on): Likewise.
80896         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
80897         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
80899 2009-08-22  Bruno Haible  <bruno@clisp.org>
80901         * modules/binary-io (License): Relicense under LGPL.
80902         * modules/pipe2 (License): Likewise.
80904 2009-08-22  Bruno Haible  <bruno@clisp.org>
80906         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
80907         return value.
80908         * lib/pipe-filter-gi.c (filter_init): Likewise.
80909         Reported by Eric Blake.
80911 2009-08-22  Bruno Haible  <bruno@clisp.org>
80913         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
80914         * modules/pipe (Depends-on): Add pipe2.
80916 2009-08-22  Bruno Haible  <bruno@clisp.org>
80918         Tests for module 'pipe2'.
80919         * modules/pipe2-tests: New file.
80920         * tests/test-pipe2.c: New file.
80922         New module 'pipe2'.
80923         * lib/unistd.in.h (pipe2): New declaration.
80924         * lib/pipe2.c: New file.
80925         * m4/pipe2.m4: New file.
80926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
80927         HAVE_PIPE2.
80928         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
80929         * modules/pipe2: New file.
80930         * doc/glibc-functions/pipe2.texi: Mention the new module.
80932 2009-08-22  Bruno Haible  <bruno@clisp.org>
80934         Reference some new glibc functions.
80935         * doc/glibc-functions/accept4.texi: New file.
80936         * doc/glibc-functions/dup3.texi: New file.
80937         * doc/glibc-functions/mkostemp.texi: New file.
80938         * doc/glibc-functions/pipe2.texi: New file.
80939         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
80940         (Glibc sys/socket.h): Refer to accept4.
80941         (Glibc unistd.h): Refer to dup3, pipe2.
80942         Reported by Eric Blake.
80944 2009-08-22  Jim Meyering  <meyering@redhat.com>
80945             Bruno Haible  <bruno@clisp.org>
80947         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
80948         This makes it so packages using automake-1.11's silent-rules option
80949         can print e.g., a single "GEN    configmake.h" line, rather than
80950         the 30+ statements that perform the job.  If you want to see the
80951         actual commands, you can still run "make V=1".
80952         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
80953         so that make output is abbreviated when those variables are defined
80954         appropriately.
80955         * modules/argz: Likewise.
80956         * modules/arpa_inet: Likewise.
80957         * modules/byteswap: Likewise.
80958         * modules/configmake: Likewise.
80959         * modules/dirent: Likewise.
80960         * modules/errno: Likewise.
80961         * modules/fcntl: Likewise.
80962         * modules/float: Likewise.
80963         * modules/fnmatch: Likewise.
80964         * modules/getopt-posix: Likewise.
80965         * modules/glob: Likewise.
80966         * modules/iconv_open: Likewise.
80967         * modules/inttypes: Likewise.
80968         * modules/localcharset: Likewise.
80969         * modules/locale: Likewise.
80970         * modules/math: Likewise.
80971         * modules/netdb: Likewise.
80972         * modules/netinet_in: Likewise.
80973         * modules/poll: Likewise.
80974         * modules/posix_spawnp-tests: Likewise.
80975         * modules/sched: Likewise.
80976         * modules/search: Likewise.
80977         * modules/selinux-h: Likewise.
80978         * modules/signal: Likewise.
80979         * modules/spawn: Likewise.
80980         * modules/stdarg: Likewise.
80981         * modules/stdbool: Likewise.
80982         * modules/stddef: Likewise.
80983         * modules/stdint: Likewise.
80984         * modules/stdio: Likewise.
80985         * modules/stdlib: Likewise.
80986         * modules/string: Likewise.
80987         * modules/strings: Likewise.
80988         * modules/sys_file: Likewise.
80989         * modules/sys_ioctl: Likewise.
80990         * modules/sys_select: Likewise.
80991         * modules/sys_socket: Likewise.
80992         * modules/sys_stat: Likewise.
80993         * modules/sys_time: Likewise.
80994         * modules/sys_times: Likewise.
80995         * modules/sys_utsname: Likewise.
80996         * modules/sys_wait: Likewise.
80997         * modules/sysexits: Likewise.
80998         * modules/time: Likewise.
80999         * modules/unistd: Likewise.
81000         * modules/wchar: Likewise.
81001         * modules/wctype: Likewise.
81003 2009-08-22  Jim Meyering  <meyering@redhat.com>
81005         announce-gen: detect write failure
81006         * build-aux/announce-gen: Add Coda at end.
81007         Remove equivalent-but-more-verbose block at top.
81009 2009-08-19  Akim Demaille  <demaille@gostai.com>
81011         bootstrap: --help to stdout.
81012         * bootstrap (usage): Don't send --help to stderr.
81013         Use a here doc instead of a long string.
81015 2009-08-21  Eric Blake  <ebb9@byu.net>
81017         test-popen-safer: split from test-popen
81018         * tests/test-popen.c (main): Move...
81019         * tests/test-popen.h: ...into new file.
81020         * tests/test-popen-safer2.c: New file.
81021         * modules/popen-tests (Files): Add test-popen.h.
81022         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
81023         Suggested by Bruno Haible.
81025         test-fcntl-safer: split from test-open
81026         * tests/test-open.c (main): Move...
81027         * tests/test-open.h: ...into new file.
81028         * tests/test-fcntl-safer.c: New file.
81029         * modules/open-tests (Files): Add test-open.h.
81030         * modules/fcntl-safer-tests: New file.
81031         Suggested by Bruno Haible.
81033         test-fopen-safer: split from test-fopen
81034         * tests/test-fopen.c (main): Move...
81035         * tests/test-fopen.h: ...into new file.
81036         * tests/test-fopen-safer.c: New file.
81037         * modules/fopen-tests (Files): Add test-fopen.h.
81038         * modules/fopen-safer-tests: New file.
81039         Suggested by Bruno Haible.
81041 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81043         popen-safer: test O_CLOEXEC at run-time.
81044         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
81046 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81048         fcntl: move more flags to the header
81049         * lib/cloexec.c: Do not define FD_CLOEXEC here.
81050         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
81051         * lib/fcntl.in.h: Do both things here.
81053 2009-08-21  Jim Meyering  <meyering@redhat.com>
81055         consistently remove $@-t before redirecting to it
81056         * modules/argz: Remove $@-t and $@ before redirecting to the former.
81057         * modules/alloca-opt: Likewise.
81058         * modules/byteswap: Likewise.
81059         * modules/fnmatch: Likewise.
81060         * modules/getopt-posix: Likewise.
81061         * modules/glob: Likewise.
81062         * modules/poll: Likewise.
81063         * modules/posix_spawnp-tests: Likewise.
81064         * modules/sys_socket: Likewise.
81065         * modules/sysexits: Likewise.
81067 2009-08-21  Eric Blake  <ebb9@byu.net>
81069         popen: simplify access to original popen
81070         * lib/popen.c (rpl_popen): No need to worry about popen being a
81071         macro.
81072         Reported by Bruno Haible.
81074 2009-08-20  Eric Blake  <ebb9@byu.net>
81076         build: avoid some compiler warnings
81077         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
81078         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
81079         type.
81080         (new_exclude_segment, excluded_file_pattern_p)
81081         (excluded_file_name_p): Reduce scope.
81082         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
81083         old-style declaration.
81085 2009-08-20  Simon Josefsson  <simon@josefsson.org>
81087         * tests/test-exclude1.sh: Handle Windows EOL.
81088         * tests/test-exclude2.sh: Likewise.
81089         * tests/test-exclude3.sh: Likewise.
81090         * tests/test-exclude4.sh: Likewise.
81091         * tests/test-exclude5.sh: Likewise.
81092         * tests/test-exclude6.sh: Likewise.
81093         * tests/test-exclude7.sh: Likewise.
81095 2009-08-19  Akim Demaille  <demaille@gostai.com>
81097         bootstrap: find sha1sum when named gsha1sum.
81098         * bootstrap (find_tool): New.
81099         ($SHA1SUM): New.
81100         Use it.
81102 2009-08-20  Jim Meyering  <meyering@redhat.com>
81104         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
81105         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
81106         expression that converts "." in a file name to "\." in the resulting
81107         regexp.  Start with a dummy statement, so that prior shell variable
81108         definitions are expanded portably.  Reported by Simon Josefsson.
81110 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
81112         Fix polling for writeability of a screen buffer.
81113         * lib/poll.c: Distinguish input and screen buffers for the
81114         Win32 implementation.
81115         * lib/select.c: Likewise.
81117 2009-08-19  Eric Blake  <ebb9@byu.net>
81119         popen-safer: prevent popen from clobbering std descriptors
81120         * modules/popen-safer: New file.
81121         * lib/popen-safer.c: Likewise.
81122         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
81123         * lib/stdio--.h (popen): Provide override.
81124         * lib/stdio-safer.h (popen_safer): Provide declaration.
81125         * tests/test-popen.c (includes): Partially test this.
81126         * modules/popen-safer-tests: New file, for more tests.
81127         * tests/test-popen-safer.c: Likewise.
81128         * MODULES.html.sh (file stream based Input/Output): Mention it.
81130         tests: test some of the *-safer modules
81131         * modules/fopen-safer (Depends-on): Add fopen.
81132         * modules/fcntl-safer (Depends-on): Add fcntl.
81133         * modules/stdlib-safer (Depends-on): Add stdlib.
81134         (configure.ac): Set indicator.
81135         * modules/unistd-safer (configure.ac): Likewise.
81136         * modules/tmpfile-safer (configure.ac): Likewise.
81137         (Depends-on): Add tmpfile.
81138         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
81139         active.
81140         * tests/test-fopen.c (includes): Test safer versions when they are
81141         in use.
81142         * tests/test-open.c (includes): Likewise.
81144         popen: fix cygwin 1.5 bug when stdin closed
81145         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
81146         * modules/popen: New file.
81147         * modules/popen-tests: Likewise.
81148         * tests/test-popen.c: Likewise.
81149         * m4/popen.m4: Likewise.
81150         * lib/popen.c: Likewise.
81151         * lib/stdio.in.h (popen): New declaration.
81152         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
81153         * modules/stdio (Makefile.am): Likewise.
81154         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
81156 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
81158         maint.mk: give full control over update-copyright exclusions
81159         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
81160         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
81161         (update-copyright): Don't force inclusion of top-level
81162         ChangeLog.  Don't force exclusion of all COPYING files, but make
81163         them the default exclusion instead.
81165 2009-08-16  Bruno Haible  <bruno@clisp.org>
81167         Fix test failures on Solaris 10.
81168         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
81169         tests when Solaris iconv() is used.
81170         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
81171         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
81172         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
81173         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
81174         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
81176 2009-08-16  Bruno Haible  <bruno@clisp.org>
81178         Fix test failures on Solaris 10.
81179         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
81180         'tr' program and pass it as first argument.
81181         * tests/test-pipe-filter-gi1.sh: Likewise.
81182         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
81183         program as first argument.
81184         * tests/test-pipe-filter-gi1.c (main): Likewise.
81186 2009-08-16  Eric Blake  <ebb9@byu.net>
81188         fpurge: fix previous commits
81189         * modules/fpurge (Makefile.am): Make replacement conditional,
81190         partially reverting 2007-04-29 change; missed in previous
81191         attempt.
81192         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
81193         is missing.
81195 2009-08-16  Bruno Haible  <bruno@clisp.org>
81197         Clarify fpurge's effect on the file position.
81198         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
81199         * tests/test-fpurge.c (main): Make a second pass for checking the file
81200         position.
81202 2009-08-16  Bruno Haible  <bruno@clisp.org>
81204         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
81205         declaration of fpurge is missing.
81206         * tests/test-fpurge.c (main): Check that the file has not more contents
81207         than expected. Close the file before removing it.
81209 2009-08-15  Eric Blake  <ebb9@byu.net>
81211         fpurge: don't wrap working cygwin implementation
81212         * lib/fpurge.c (fpurge): Fix comment typo.
81213         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
81214         1.7 to avoid replacement.
81215         * tests/test-fpurge.c (main): Enhance test.
81217 2009-08-15  Eric Blake  <ebb9@byu.net>
81218         and Jim Meyering  <meyering@redhat.com>
81220         test-update-copyright: skip if perl is insufficient
81221         * tests/test-update-copyright.sh: Failure to run maintainer tool
81222         should not cause testsuite failure on cygwin 1.5.
81224 2009-08-14  Eric Blake  <ebb9@byu.net>
81226         doc: mention more functions added in cygwin 1.7.0
81227         * doc/posix-headers/limits.texi (limits.h): Update for recent
81228         cygwin additions.
81229         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
81230         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
81231         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
81232         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
81233         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
81235 2009-08-14  Eric Blake  <ebb9@byu.net>
81237         maint.mk: simplify update-copyright rule
81238         * top/maint.mk (update-copyright-local): Delete, and document how
81239         to do it in cfg.mk instead.
81240         (update-copyright-exclude-regexp): Delete, and document how to do
81241         it in .x-update-copyright instead.
81242         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
81243         exclude ChangeLog.
81245 2009-08-14  Bruno Haible  <bruno@clisp.org>
81247         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
81249 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81251         maint.mk: support update-copyright-env
81252         * top/maint.mk (update-copyright-env): Define place-holder.
81253         (update-copyright): Expand $(update-copyright-env) before
81254         invoking update-copyright.
81256 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81258         update-copyright: implement forced reformatting
81259         * build-aux/update-copyright: Implement and document
81260         UPDATE_COPYRIGHT_FORCE.
81261         * tests/test-update-copyright.sh: Test it.
81263 2009-08-14  Eric Blake  <ebb9@byu.net>
81264         and Bruno Haible  <bruno@clisp.org>
81266         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
81267         * tests/test-locale.c: Revert previous patch related to NULL.
81268         * tests/test-stdio.c: Likewise.
81269         * tests/test-stdlib.c: Likewise.
81270         * tests/test-string.c: Likewise.
81271         * tests/test-unistd.c: Likewise.
81272         * modules/time-tests (Depends-on): Add verify.
81273         * modules/wchar-tests (Depends-on): Likewise.
81274         * tests/test-time.c: Test for NULL compliance.
81275         * tests/test-wchar.c: Likewise.
81276         * modules/locale (Depends-on): Add stddef.
81277         * modules/stdio (Depends-on): Likewise.
81278         * modules/stdlib (Depends-on): Likewise.
81279         * modules/string (Depends-on): Likewise.
81280         * modules/time (Depends-on): Likewise.
81281         * modules/unistd (Depends-on): Likewise.
81282         * modules/wchar (Depends-on): Likewise.
81283         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
81284         * lib/stdlib.in.h (includes): Likewise.
81285         * lib/string.in.h (includes): Likewise.
81286         * lib/time.in.h (includes): Likewise.
81287         * lib/unistd.in.h (includes): Likewise.
81288         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
81289         replaced.
81290         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
81291         * m4/stddef_h.m4: New file.
81292         * modules/stddef: Likewise.
81293         * lib/stddef.in.h: Likewise.
81294         * modules/stddef-tests: Likewise.
81295         * tests/test-stddef.c: Likewise.
81296         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
81297         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
81298         * doc/posix-headers/locale.texi (locale.h): Likewise.
81299         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
81300         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
81301         * doc/posix-headers/string.texi (string.h): Likewise.
81302         * doc/posix-headers/time.texi (time.h): Likewise.
81303         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
81304         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
81306 2009-08-14  Eric Blake  <ebb9@byu.net>
81308         doc: improve git diff of texinfo files
81309         * .gitattributes: Add rule for *.texi files, with hint on how to
81310         use it.
81311         Copied from m4, and based on a report by Bruno Haible.
81313 2009-08-14  Bruno Haible  <bruno@clisp.org>
81315         Disable multithread support by default on Cygwin 1.5.x for real.
81316         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
81318 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81320         update-copyright: much ado about intervals
81321         * build-aux/update-copyright: Implement and document
81322         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
81323         of copyright year intervals.
81324         Also, document UPDATE_COPYRIGHT_YEAR.
81325         * tests/test-update-copyright.sh: Test it.
81327         update-copyright: convert 2-digit to 4-digit years
81328         * build-aux/update-copyright: Implement and document.
81329         * tests/test-update-copyright.sh: Update.
81331 2009-08-14  Jim Meyering  <meyering@redhat.com>
81333         test-exclude: avoid coreutils "make check" failure
81334         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
81335         just as in test-argmatch.c.
81337 2009-08-13  Eric Blake  <ebb9@byu.net>
81339         test-dup2: fix bad assumption
81340         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
81341         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
81343         test-version-etc: fix CRLF portability issue
81344         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
81345         recognize \r.
81346         * tests/test-argp-version-etc-1.sh: Likewise.
81348         getopt: update client modules
81349         * modules/argp (Depends-on): Use getopt-gnu.
81350         * modules/git-merge-changelog (Depends-on): Likewise.
81351         * modules/long-options (Depends-on): Likewise.
81352         * modules/xstrtol (Depends-on): Likewise.
81354 2009-08-13  Simon Josefsson  <simon@josefsson.org>
81356         * tests/test-version-etc.sh: Don't fail on different
81357         project/version.  Don't fail on CRLF differences.  Rewrite to use
81358         multiple -e instead of multiple sed forks, suggested by Eric Blake
81359         <ebb9@byu.net>.
81360         * tests/test-argp-version-etc-1.sh: Likewise.
81362 2009-08-13  Simon Josefsson  <simon@josefsson.org>
81364         * tests/test-version-etc.sh: Don't fail on different
81365         project/version.
81367 2009-08-12  Bruno Haible  <bruno@clisp.org>
81369         Tests for modules 'getopt-posix', 'getopt-gnu'.
81370         * modules/getopt-posix-tests: New file.
81371         * tests/test-getopt.c: New file.
81372         * tests/test-getopt.h: New file.
81373         * tests/test-getopt_long.h: New file.
81375         New modules 'getopt-posix', 'getopt-gnu'.
81376         * modules/getopt-gnu: New file, renamed from modules/getopt.
81377         * modules/getopt-posix: New file.
81378         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
81379         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
81380         (gl_GETOPT): Remove macro.
81381         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
81382         Disable the test against BSD systems that declare optreset. Test
81383         against mingw bug. Test against lack of support of optional arguments
81384         on many platforms.
81385         * doc/glibc-headers/getopt.texi: Update module name and list of
81386         relevant platforms.
81387         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
81388         'getopt-gnu' and more portability problems.
81389         * NEWS: Mention the changes.
81391 2009-08-12  Bruno Haible  <bruno@clisp.org>
81393         Ensure that optarg etc. get declared by <unistd.h>.
81394         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
81395         AC_USE_SYSTEM_EXTENSIONS.
81396         * modules/getopt (Depends-on): Add 'extensions'.
81398 2009-08-12  Bruno Haible  <bruno@clisp.org>
81400         Avoid test link errors.
81401         * modules/pipe-filter-ii-tests (Makefile.am): Define
81402         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
81403         * modules/pipe-filter-gi-tests (Makefile.am): Define
81404         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
81405         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81407 2009-08-12  Bruno Haible  <bruno@clisp.org>
81409         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
81410         gl_GETOPT_SUBSTITUTE before.
81411         (gl_GETOPT): Use it.
81412         * m4/argp.m4 (gl_ARGP): Update.
81413         Reported by Sergey Poznyakoff.
81415         * m4/getopt.m4: Reorder macros.
81416         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
81417         (gl_GETOPT_SUBSTITUTE): Remove macro.
81419 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
81421         Minor improvement in gitlog-to-changelog
81423         * build-aux/gitlog-to-changelog: New option `--format' makes
81424         output format string configurable.
81426 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
81428         Optimize exclude: use hash tables for non-wildcard patterns.
81430         * lib/exclude.c: Include hash.h and mbuiter.h
81431         (struct exclude_pattern, exclude_segment): New data types.
81432         (struct exclude): Rewrite.
81433         (fnmatch_pattern_has_wildcards): New function.
81434         (new_exclude_segment, free_exclude_segment): New functions.
81435         (excluded_file_pattern_p, excluded_file_name_p): New functions.
81436         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
81437         * lib/exclude.h (is_fnmatch_pattern): New prototype.
81438         * modules/exclude: Depend on hash and mbuiter.
81440         * modules/exclude-tests: New file.
81441         * tests/test-exclude.c: New file.
81442         * tests/test-exclude1.sh: New file.
81443         * tests/test-exclude2.sh: New file.
81444         * tests/test-exclude3.sh: New file.
81445         * tests/test-exclude4.sh: New file.
81446         * tests/test-exclude5.sh: New file.
81447         * tests/test-exclude6.sh: New file.
81448         * tests/test-exclude7.sh: New file.
81450 2009-08-12  Bruno Haible  <bruno@clisp.org>
81452         Ensure that getopt() gets declared by <unistd.h>.
81453         * lib/unistd.in.h: Conditionally include getopt.h.
81454         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
81455         Set GNULIB_UNISTD_H_GETOPT.
81456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81457         GNULIB_UNISTD_H_GETOPT.
81458         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
81460 2009-08-12  Bruno Haible  <bruno@clisp.org>
81462         Clarify logic.
81463         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
81464         gl_replace_getopt instead of GETOPT_H.
81466 2009-08-12  Bruno Haible  <bruno@clisp.org>
81468         * m4/getopt.m4: Add comments.
81470 2009-08-12  Bruno Haible  <bruno@clisp.org>
81472         Disable multithread support by default on Cygwin 1.5.x.
81473         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
81474         set gl_use_threads=no if not specified otherwise.
81476 2009-08-11  Bruno Haible  <bruno@clisp.org>
81478         Avoid compilation error on NetBSD 5.0.
81479         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
81480         * tests/test-stdio.c: Likewise.
81481         * tests/test-stdlib.c: Likewise.
81482         * tests/test-string.c: Likewise.
81483         * tests/test-unistd.c: Likewise.
81484         Reported by Greg Troxel <gdt@ir.bbn.com>
81485         at <https://savannah.gnu.org/support/?106973>.
81487 2009-08-11  Bruno Haible  <bruno@clisp.org>
81489         * modules/dup2-tests (Depends-on): Remove close.
81491         Undo 2009-07-19 commit.
81492         * modules/acl-tests (Depends-on): Remove close.
81493         * modules/binary-io-tests (Depends-on): Likewise.
81494         * modules/closein-tests (Depends-on): Likewise.
81495         * modules/flock-tests (Depends-on): Likewise.
81496         * modules/fsync-tests (Depends-on): Likewise.
81497         * modules/lseek-tests (Depends-on): Likewise.
81498         * modules/pipe-tests (Depends-on): Likewise.
81499         * modules/posix_spawn-tests (Depends-on): Likewise.
81500         * modules/posix_spawnp-tests (Depends-on): Likewise.
81501         * modules/stat-time-tests (Depends-on): Likewise.
81502         * modules/yesno-tests (Depends-on): Likewise.
81504 2009-08-10  Bruno Haible  <bruno@clisp.org>
81506         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
81508 2009-08-10  Bruno Haible  <bruno@clisp.org>
81510         Fix a gcc warning.
81511         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
81513 2009-08-10  Bruno Haible  <bruno@clisp.org>
81515         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
81516         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
81517         not only the first time.
81518         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
81519         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
81520         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
81521         is 1, not only the first time.
81523 2009-08-10  Bruno Haible  <bruno@clisp.org>
81525         Make it possible to use module 'gethostname' without module 'close'.
81526         * lib/unistd.in.h (close): Evoke a link error only if
81527         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
81528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81529         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81530         * modules/unistd (Makefile.am): Substitute
81531         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81532         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
81533         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
81534         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
81535         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81536         * modules/sys_ioctl (Makefile.am): Substitute
81537         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81538         * modules/socket (configure.ac): On native Windows, set
81539         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
81540         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81541         Reported by Sam Steingold <sds@gnu.org>.
81543 2009-08-10  Bruno Haible  <bruno@clisp.org>
81545         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
81546         * modules/ioctl (configure.ac): Likewise.
81548 2009-08-10  Bruno Haible  <bruno@clisp.org>
81550         Avoid collision between gnulib wrapper and libintl wrapper.
81551         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
81552         already defined in intl/printf.c.
81553         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
81554         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
81556 2009-08-09  Bruno Haible  <bruno@clisp.org>
81558         Make <sys/select.h> really self-contained, also on Solaris 10.
81559         * lib/sys_select.in.h: Include <string.h>.
81560         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
81561         Solaris 10 problem.
81562         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
81563         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
81564         Reported by Jim Meyering.
81566 2009-08-09  Bruno Haible  <bruno@clisp.org>
81568         Avoid warnings from 'aclocal' that are due to a use of macro name
81569         AM_XGETTEXT_OPTION that is not defined in automake.
81570         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
81571         automake.
81572         * modules/error (configure.ac): Likewise.
81573         * modules/propername (configure.ac): Likewise.
81574         * modules/vasprintf (configure.ac): Likewise.
81575         * modules/verror (configure.ac): Likewise.
81576         * modules/xprintf (configure.ac): Likewise.
81577         * modules/xvasprintf (configure.ac): Likewise.
81579 2009-08-08  Bruno Haible  <bruno@clisp.org>
81581         Avoid compilation error in C++ mode.
81582         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
81583         Reported by Sam Steingold <sds@gnu.org>.
81585 2009-08-08  Bruno Haible  <bruno@clisp.org>
81587         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
81588         for the various Unix platforms.
81589         * doc/posix-headers/limits.texi: Update platforms list regarding
81590         HOST_NAME_MAX.
81591         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81593 2009-08-07  Jim Meyering  <meyering@redhat.com>
81595         selinux-at: fix typo in a comment
81596         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
81597         Spotted by Paolo Bonzini.
81599         selinux-at: remove redundant m4 code, add documentation
81600         * modules/selinux-at (configure.ac): Remove redundant code.
81601         LIB_SELINUX is already set via the dependent module, selinux-h.
81602         (Include): Add quotes around selinux-at.h.
81603         * lib/selinux-at.h: Add documentation.
81604         Reported by Bruno Haible in
81605         http://marc.info/?l=gnulib-bug&m=124958988300749
81607 2009-08-07  Bruno Haible  <bruno@clisp.org>
81609         Avoid link error on MacOS X 10.3 and 10.4.
81610         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
81611         on non-ELF systems.
81612         * lib/argp-pv.c (argp_program_version): Likewise.
81613         Reported by Simon Josefsson.
81615 2009-08-07  Simon Josefsson  <simon@josefsson.org>
81617         * tests/test-version-etc.sh: Use $EXEEXT.
81619 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
81621         update-copyright: update documentation to point to maint.mk
81622         * build-aux/update-copyright: Here.
81624 2009-08-06  Jim Meyering  <meyering@redhat.com>
81626         maint.mk: support update-copyright-local
81627         * top/maint.mk (update-copyright-local): Define place-holder.
81628         (update-copyright): Depend on $(update-copyright-local).
81630 2009-08-06  Jim Meyering  <meyering@redhat.com>
81632         selinux-at: new module
81633         Initially written for coreutils, this module will soon be
81634         used by findutils, too.
81635         * MODULES.html.sh [Misc]: Add selinux-at.
81636         * lib/selinux-at.h: New file, from coreutils.
81637         * lib/selinux-at.c: Likewise.
81638         * modules/selinux-at: Likewise.
81639         (License): Change from LGPL to GPL, since it depends
81640         on the GPL'd openat module.
81642         doc: update README
81643         * README: Remove references to cogito.
81644         Remove cvs-repo-updating instructions from 2007.
81645         Don't imply that CVS is better if you have limited disk space.
81647 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81649         update-copyright: support C-style comments
81650         * build-aux/update-copyright: Implement and document.
81651         * tests/test-update-copyright.sh: Test.
81653 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81655         update-copyright: support omitted "(C)"
81656         * build-aux/update-copyright: Implement and document.  Also,
81657         allow variable whitespace before "(C)".
81658         * tests/test-update-copyright.sh: Test.
81660 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81662         update-copyright: don't trip on non-FSF copyright statements
81663         * build-aux/update-copyright: Fix so that the first correctly
81664         formatted FSF copyright statement is recognized no matter what
81665         appears before it.  Update documentation.
81666         * tests/test-update-copyright.sh: Test that.
81668 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81670         update-copyright: clean up code a little
81671         * build-aux/update-copyright: Append "_re" to the name of any
81672         variable holding a regular expression.
81673         Replace "old" and "new" with "stmt" in variable names.
81674         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
81675         handled correctly.
81676         Format code more consistently.
81678 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81680         update-copyright-tests: improve portability
81681         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
81682         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
81684 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
81686         update-copyright: support @copyright{} and &copy;
81687         * build-aux/update-copyright: Implement and document.
81688         * tests/test-update-copyright.sh: Test.
81690 2009-08-04  Jim Meyering  <meyering@redhat.com>
81692         update-copyright-tests: correctly test EOL=\r\n handling
81693         * tests/test-update-copyright.sh: Put \r at the end of some lines
81694         for the dos-eol tests.  Based on a patch by Joel E. Denny.
81696         maint.mk: make update-copyright exclusion list more configurable
81697         * top/maint.mk (update-copyright): Default to excluding COPYING,
81698         but allow an override, in case someone does want to update that file.
81700         maint.mk: don't update copyright date in COPYING
81701         * top/maint.mk (update-copyright): Exclude COPYING.
81703         maint.mk: add a copyright-updating rule
81704         * top/maint.mk (update-copyright): New rule.
81705         Derived from coreutils/Makefile.am.
81707         update-copyright: rename some variables
81708         * build-aux/update-copyright: Rename a few variables for clarity.
81709         Tweak syntax.  List Joel E. Denny as coauthor.
81711 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
81713         update-copyright: fix bug for 2-digit last year and add tests
81714         * build-aux/update-copyright: Fix bug.
81715         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
81716         specified.
81717         * modules/update-copyright-tests: New
81718         * tests/test-update-copyright.sh: New.
81720 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
81722         update-copyright: handle leading tabs in line prefix
81723         * build-aux/update-copyright: Count leading tabs as 8 spaces
81724         when computing margin.  This helps with the formatting of
81725         ChangeLogs, for example.
81726         Fix documentation a little.
81728 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
81730         update-copyright: support EOL=\r\n
81731         * build-aux/update-copyright: Implement that.
81733 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
81735         update-copyright: automatically format copyright statements
81736         * build-aux/update-copyright: Implement that.
81737         Also, be a little more predictable and safer by always failing
81738         when the full copyright format is not perfectly recognized as an
81739         unbroken whole.  Discussed at
81740         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
81741         Rewrite documentation.
81743 2009-08-03  Bruno Haible  <bruno@clisp.org>
81745         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
81747 2009-08-02  Bruno Haible  <bruno@clisp.org>
81749         Tests for module 'uname'.
81750         * modules/uname-tests: New file.
81751         * tests/test-uname.c: New file.
81753         New module 'uname'.
81754         * lib/uname.c: New file.
81755         * m4/uname.m4: New file.
81756         * modules/uname: New file.
81757         * doc/posix-functions/uname.texi: Mention the new module.
81759 2009-08-02  Bruno Haible  <bruno@clisp.org>
81761         Tests for module 'sys_utsname'.
81762         * modules/sys_utsname-tests: New file.
81763         * tests/test-sys_utsname.c: New file.
81765         New module 'sys_utsname'.
81766         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
81767         * m4/sys_utsname_h.m4: New file.
81768         * modules/sys_utsname: New file.
81769         * doc/posix-headers/sys_utsname.texi: Mention the new module.
81771 2009-08-02  Bruno Haible  <bruno@clisp.org>
81773         Implicitly initialize the sockets library.
81774         * lib/gethostname.c: Include sockets.h.
81775         (rpl_gethostname): Invoke gl_sockets_startup.
81776         * lib/socket.c: Include sockets.h.
81777         (rpl_socket): Invoke gl_sockets_startup.
81778         * modules/gethostname (Depends-on): Add sockets.
81779         * modules/socket (Depends-on): Likewise.
81780         * tests/test-poll.c: Don't include sockets.h.
81781         (main): Don't invoke gl_sockets_startup.
81782         * tests/test-select.c: Don't include sockets.h.
81783         (main): Don't invoke gl_sockets_startup.
81785 2009-08-02  Bruno Haible  <bruno@clisp.org>
81787         Allow multiple calls to gl_sockets_startup.
81788         * lib/sockets.c (initialized_sockets_version): New variable.
81789         (gl_sockets_startup): Do nothing if already called for this or a higher
81790         version.
81791         (gl_sockets_cleanup): Reset initialized_sockets_version.
81793 2009-08-03  Simon Josefsson  <simon@josefsson.org>
81795         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
81796         different project/version.
81798 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
81799             Bruno Haible  <bruno@clisp.org>
81801         Tests for module 'pipe-filter-gi'.
81802         * modules/pipe-filter-gi-tests: New file.
81803         * tests/test-pipe-filter-gi1.sh: New file.
81804         * tests/test-pipe-filter-gi1.c: New file.
81805         * tests/test-pipe-filter-gi2.sh: New file.
81806         * tests/test-pipe-filter-gi2-main.c: New file.
81807         * tests/test-pipe-filter-gi2-child.c: New file.
81809         New module 'pipe-filter-gi'.
81810         * lib/pipe-filter-gi.c: New file.
81811         * modules/pipe-filter-gi: New file.
81813 2009-08-02  Bruno Haible  <bruno@clisp.org>
81814             Paolo Bonzini  <bonzini@gnu.org>
81816         Tests for module 'pipe-filter-ii'.
81817         * modules/pipe-filter-ii-tests: New file.
81818         * tests/test-pipe-filter-ii1.sh: New file.
81819         * tests/test-pipe-filter-ii1.c: New file.
81820         * tests/test-pipe-filter-ii2.sh: New file.
81821         * tests/test-pipe-filter-ii2-main.c: New file.
81822         * tests/test-pipe-filter-ii2-child.c: New file.
81824         New module 'pipe-filter-ii'.
81825         * lib/pipe-filter.h: New file.
81826         * lib/pipe-filter-ii.c: New file.
81827         * lib/pipe-filter-aux.h: New file.
81828         * modules/pipe-filter-ii: New file.
81830 2009-08-02  Simon Josefsson  <simon@josefsson.org>
81832         * lib/gc-libgcrypt.c: Change copyright to FSF.
81833         * lib/gc-gnulib.c: Likewise.
81835 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
81837         * lib/gethostname.c: Include limits.h.
81839 2009-08-02  Simon Josefsson  <simon@josefsson.org>
81840             Bruno Haible  <bruno@clisp.org>
81842         Ensure HOST_NAME_MAX as part of the gethostname module.
81843         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
81844         define also HOST_NAME_MAX.
81845         * tests/test-gethostname.c: Include <limits.h>.
81846         (main): Check also HOST_NAME_MAX.
81847         * doc/posix-headers/limits.texi: Document the mingw problem.
81849 2009-08-02  Bruno Haible  <bruno@clisp.org>
81851         * lib/gethostname.c (gethostname): Fix handling of large len argument.
81852         Add comments.
81854 2009-03-31  Simon Josefsson  <simon@josefsson.org>
81856         * lib/gethostname.c: Add Windows wrapper.
81857         * m4/gethostname.m4: Look for gethostname in -lws2_32.
81858         * modules/gethostname: Depend on sys_socket & errno, for also
81859         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
81860         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
81862 2009-07-31  Jim Meyering  <meyering@redhat.com>
81864         getloadavg: fix symbol name in comment
81865         * lib/getloadavg.c: Correct a typo I introduced when adding
81866         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
81867         Matt Kraai spotted the problem.
81869 2009-07-29  Matt Kraai  <mkraai@beckman.com>
81871         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
81872         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
81873         code also if ! defined N_NAME_POINTER.
81874         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
81875         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
81876         but the n_name member is a 12-byte array.
81878 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
81880         update-copyright: generalize comment handling
81881         * build-aux/update-copyright: Handle copyright statements
81882         within more comment styles.
81883         Document usage.
81884         Report any file with an external copyright holder or parse failure.
81886 2009-07-29  Jim Meyering  <meyering@redhat.com>
81888         mktime: correct setting of REPLACE_MKTIME
81889         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
81891         update-copyright: new module
81892         * modules/update-copyright: New file.
81893         * build-aux/update-copyright: New file.
81894         * MODULES.html.sh (maint+release support): Add update-copyright.
81896 2009-07-27  Bruno Haible  <bruno@clisp.org>
81898         Fix compilation error when <ctime> is used and mktime is replaced.
81899         * lib/time.in.h (mktime): New declaration.
81900         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
81901         REPLACE_MKTIME instead of defining mktime in config.h.
81902         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
81903         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
81904         Reported by Ross McFarland <rwmcfa1@neces.com>.
81906 2009-07-27  Bruno Haible  <bruno@clisp.org>
81908         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
81909         Reported by Matt Kraai <mkraai@beckman.com>.
81911 2009-07-25  Jim Meyering  <meyering@redhat.com>
81913         maint.mk: avoid warnings about missing files
81914         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
81915         diagnostic when .prev-version does not exist.
81916         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
81917         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
81918         nonexistent cfg.mk.
81919         Suggestions from Simon Josefsson.
81921 2009-07-25  Bruno Haible  <bruno@clisp.org>
81923         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
81924         defined as macros. Needed on QNX 6.4.1.
81925         Reported by Matt Kraai <mkraai@beckman.com>.
81927 2009-07-23  Jim Meyering  <meyering@redhat.com>
81929         maint.mk: invoke "make dist" with a working value of XZ_OPT
81930         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
81932 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
81934         Make fseeko.c compile on QNX.
81935         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
81937 2009-07-22  Peter Simons  <simons@cryp.to>
81939         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
81940         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
81941         * lib/md4.h: Likewise.
81942         * lib/md5.h: Likewise.
81943         * lib/sha1.h: Likewise.
81944         * lib/sha256.h: Likewise.
81945         * lib/sha512.h: Likewise.
81947         tests-sha1: don't assign literal string to 'char *' variable
81948         * tests/test-sha1.c (main): Declare locals with "const" to match
81949         attributes of the right hand side.
81951 2009-07-21  Eric Blake  <ebb9@byu.net>
81953         dup2: fix more mingw problems
81954         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
81955         fd to itself.
81956         * doc/posix-functions/dup2.texi (dup2): Document the bug.
81957         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
81958         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
81959         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
81960         care of mingw bugs.
81962 2009-07-21  Jim Meyering  <meyering@redhat.com>
81964         vc-list-files: avoid failure when /bin/sh is dash
81965         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
81966         On some Debian based systems, /bin/sh is a symlink to dash, and running
81967         this command would omit the "/" following each 'tests' prefix:
81968           dash -x build-aux/vc-list-files -C . tests
81969         That is because bash and dash work differently:
81970           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
81971           bash ok
81972           dash odd
81974 2009-07-21  Eric Blake  <ebb9@byu.net>
81976         dup2-tests: test previous patch
81977         * modules/dup2-tests: New file.
81978         * tests/test-dup2.c: Likewise.
81979         * tests/test-open.c (main): Avoid unspecified behavior.
81980         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
81981         test.
81983         dup2: work around mingw and cygwin 1.5 bug
81984         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
81985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
81986         * modules/unistd (Makefile.am): Substitute it.
81987         * lib/unistd.in.h (dup2): Declare the replacement.
81988         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
81989         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
81990         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
81991         * modules/execute (Depends-on): Add dup2.
81992         * modules/fseterr (Depends-on): Likewise.
81993         * modules/pipe (Depends-on): Likewise.
81994         * modules/posix_spawn-internal (Depends-on): Likewise.
81996 2009-07-21  Bruno Haible  <bruno@clisp.org>
81998         * modules/.gitattributes: New file.
82000 2009-07-20  Bruno Haible  <bruno@clisp.org>
82002         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
82003         (main): Use it.
82005 2009-07-20  Eric Blake  <ebb9@byu.net>
82007         test-pipe: make a bit more robust.
82008         * tests/test-pipe.c (myerr): Allow error messages regardless of
82009         what we do to stderr.
82010         (test_pipe): Rearrange to avoid deadlock.
82011         (child_main): Try a larger read, to ensure we avoided deadlock.
82012         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
82013         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
82014         if misused.
82016 2009-07-19  Jim Meyering  <meyering@redhat.com>
82018         fts: avoid false-positive cycle-detection
82019         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
82020         for each new command line argument.
82022 2009-07-19  Bruno Haible  <bruno@clisp.org>
82024         Fix build error on mingw with the modules sys_select and unistd.
82025         * modules/acl-tests (Depends-on): Add close.
82026         * modules/binary-io-tests (Depends-on): Likewise.
82027         * modules/closein-tests (Depends-on): Likewise.
82028         * modules/flock-tests (Depends-on): Likewise.
82029         * modules/fsync-tests (Depends-on): Likewise.
82030         * modules/lseek-tests (Depends-on): Likewise.
82031         * modules/pipe-tests (Depends-on): Likewise.
82032         * modules/posix_spawn-tests (Depends-on): Likewise.
82033         * modules/posix_spawnp-tests (Depends-on): Likewise.
82034         * modules/stat-time-tests (Depends-on): Likewise.
82035         * modules/yesno-tests (Depends-on): Likewise.
82037 2009-07-19  Bruno Haible  <bruno@clisp.org>
82039         Unify conditionals.
82040         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
82041         macros, not at the compiler macros.
82042         * lib/pipe.c: Likewise.
82043         * lib/execute.c: Likewise.
82044         * lib/spawni.c: Likewise.
82046 2009-07-19  Bruno Haible  <bruno@clisp.org>
82048         Fix handling of closed stdin/stdout/stderr on mingw.
82049         * lib/w32spawn.h: Include unistd.h.
82050         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
82051         file descriptor with O_NOINHERIT flag.
82052         (fd_safer_noinherit): New function, based on fd-safer.c.
82053         (dup_safer_noinherit): New function, based on dup-safer.c.
82054         (undup_safer_noinherit): New function.
82055         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
82056         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
82057         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
82058         instead of fd_safer.
82059         * tests/test-pipe.c: Include <windows.h>.
82060         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
82061         result.
82063         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
82064         from main.
82065         (test_pipe): Pass an extra argument for disambiguation.
82066         (main): Invoke parent_main or child_main.
82068         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
82069         consistently.
82071 2009-07-18  Eric Blake  <ebb9@byu.net>
82073         test-pipe: fix mingw build
82074         * tests/test-pipe.c (main): Avoid fcntl on mingw.
82076 2009-07-18  Bruno Haible  <bruno@clisp.org>
82078         * modules/pipe-tests (Makefile.am): Fix typo.
82080 2009-07-18  Eric Blake  <ebb9@byu.net>
82082         error: fix mingw build
82083         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
82084         Reported by Bruno Haible.
82086         error: avoid undefined use of stdout
82087         * lib/error.c (error, error_at_line): Check that fd 1 is open
82088         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
82089         is handling faults and the close_stdout module wants to report the
82090         detection of closed stdout as an error.
82092 2009-07-17  Eric Blake  <ebb9@byu.net>
82094         pipe: be robust in face of closed fds
82095         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
82096         should cause child to misbehave.
82097         * modules/pipe-tests: New module.
82098         * tests/test-pipe.c: New file.
82099         * tests/test-pipe.sh: New file.
82100         Reported by Akim Demaille.
82102 2009-07-14  Bruno Haible  <bruno@clisp.org>
82104         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
82105         Reported by anonymous kc.
82107 2009-07-07  Jim Meyering  <meyering@redhat.com>
82109         maint.mk: don't look for translatable strings in *.m4 or *.mk
82110         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
82111         when searching for translatable strings.
82113 2009-07-05  Jim Meyering  <meyering@redhat.com>
82115         remove superfluous parentheses in STREQ definition
82116         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
82117         * lib/getugroups.c (STREQ): Likewise.
82118         * lib/fnmatch.c (STREQ): Likewise.
82119         Spotted by Bruno Haible.
82121 2009-07-04  Jim Meyering  <meyering@redhat.com>
82123         argv-iter: new module
82124         * MODULES.html.sh: Add argv-iter.
82125         * lib/argv-iter.c, lib/argv-iter.h: New files.
82126         * modules/argv-iter: New file.
82127         * modules/argv-iter-tests: New file.
82128         * tests/test-argv-iter.c: Test it.
82130 2009-07-04  Bruno Haible  <bruno@clisp.org>
82132         Fix assertion.
82133         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
82134         contains more exact copies of a given entry than file2, leave the extra
82135         copies unpaired rather than aborting.
82136         Reported by Eric Blake.
82138 2009-07-02  Bruno Haible  <bruno@clisp.org>
82140         Speedup git-merge-changelog for git cherry-pick.
82141         * lib/git-merge-changelog.c (struct entries_mapping): New type.
82142         (entries_mapping_get): New function, extracted from compute_mapping.
82143         (entries_mapping_reverse_get): New function.
82144         (compute_mapping): Add a 'full' argument. Return the result in a
82145         'struct entries_mapping'.
82146         (main): Update. Access the mappings through entries_mapping_get.
82147         Reported by Eric Blake.
82149 2009-07-02  Bruno Haible  <bruno@clisp.org>
82151         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
82152         best_i.
82154 2009-07-02  Bruno Haible  <bruno@clisp.org>
82156         Speed up approximate search for matching ChangeLog entries.
82157         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
82158         argument. Call fstrcmp_bounded instead of fstrcmp.
82159         (compute_mapping, try_split_merged_entry, main): Update callers.
82161 2009-07-02  Bruno Haible  <bruno@clisp.org>
82163         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
82165 2009-06-30  Bruno Haible  <bruno@clisp.org>
82167         Reduce the number of uc_is_cased calls.
82168         * lib/unicase.h (casing_suffix_context_t): Add
82169         'first_char_except_ignorable' field.
82170         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
82171         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
82172         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
82173         Update initializer.
82174         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
82175         case-ignorable characters.
82176         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
82177         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
82178         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
82179         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
82180         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
82182 2009-06-30  Bruno Haible  <bruno@clisp.org>
82184         Tests for module 'unicase/ignorable'.
82185         * modules/unicase/ignorable-tests: New file.
82186         * tests/unicase/test-ignorable.c: New file, generated by
82187         gen-uni-tables.
82189         Tests for module 'unicase/cased'.
82190         * modules/unicase/cased-tests: New file.
82191         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
82192         * tests/unicase/test-predicate-part1.h: New file, derived from
82193         tests/unictype/test-predicate-part1.h.
82194         * tests/unicase/test-predicate-part2.h: New file, same as
82195         tests/unictype/test-predicate-part2.h.
82197         Fix evaluation of "Before C" condition of FINAL_SIGMA.
82198         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
82199         (output_casing_properties): New function.
82200         (main): Call it.
82201         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
82202         * lib/unicase/cased.c: Include unictype/bitmap.h.
82203         (uc_is_cased): Define through a bitmap lookup.
82204         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
82205         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
82206         (uc_is_case_ignorable): Define through a bitmap lookup.
82207         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
82208         lib/unictype/bitmap.h.
82209         (Depends-on): Add inline. Clean up.
82210         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
82211         lib/unictype/bitmap.h.
82212         (Depends-on): Add inline. Clean up.
82213         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
82214         recognition.
82215         * tests/unicase/test-u16-tolower.c (main): Likewise.
82216         * tests/unicase/test-u32-tolower.c (main): Likewise.
82218 2009-06-30  Bruno Haible  <bruno@clisp.org>
82220         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
82221         * lib/unicase/u16-casemap.c: Likewise.
82222         * lib/unicase/u32-casemap.c: Likewise.
82224 2009-06-29  Bruno Haible  <bruno@clisp.org>
82226         Define u32_casefold as a wrapper around u32_ct_casefold.
82227         * lib/unicase/u32-casefold.c: Update.
82228         * modules/unicase/u32-casefold (Depends-on): Add
82229         unicase/u32-ct-casefold, unicase/empty-prefix-context,
82230         unicase/empty-suffix-context. Clean up.
82232         Define u16_casefold as a wrapper around u16_ct_casefold.
82233         * lib/unicase/u16-casefold.c: Update.
82234         * modules/unicase/u16-casefold (Depends-on): Add
82235         unicase/u16-ct-casefold, unicase/empty-prefix-context,
82236         unicase/empty-suffix-context. Clean up.
82238         Define u8_casefold as a wrapper around u8_ct_casefold.
82239         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
82240         * lib/unicase/u8-casefold.c: Update.
82241         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
82242         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82244         Define u32_totitle as a wrapper around u32_ct_totitle.
82245         * lib/unicase/u32-totitle.c: Update.
82246         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
82247         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82249         Define u16_totitle as a wrapper around u16_ct_totitle.
82250         * lib/unicase/u16-totitle.c: Update.
82251         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
82252         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82254         Define u8_totitle as a wrapper around u8_ct_totitle.
82255         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
82256         functions.
82257         (FUNC): Delegate to U_CT_TOTITLE.
82258         * lib/unicase/u8-totitle.c: Update.
82259         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
82260         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82262         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
82263         invocation.
82264         * modules/unicase/u32-tolower (Depends-on): Add
82265         unicase/empty-prefix-context, unicase/empty-suffix-context.
82267         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
82268         invocation.
82269         * modules/unicase/u16-tolower (Depends-on): Add
82270         unicase/empty-prefix-context, unicase/empty-suffix-context.
82272         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
82273         * modules/unicase/u8-tolower (Depends-on): Add
82274         unicase/empty-prefix-context, unicase/empty-suffix-context.
82276         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
82277         invocation.
82278         * modules/unicase/u32-toupper (Depends-on): Add
82279         unicase/empty-prefix-context, unicase/empty-suffix-context.
82281         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
82282         invocation.
82283         * modules/unicase/u16-toupper (Depends-on): Add
82284         unicase/empty-prefix-context, unicase/empty-suffix-context.
82286         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
82287         * modules/unicase/u8-toupper (Depends-on): Add
82288         unicase/empty-prefix-context, unicase/empty-suffix-context.
82290         New module 'unicase/u32-ct-casefold'.
82291         * lib/unicase/u32-ct-casefold.c: New file.
82292         * modules/unicase/u32-ct-casefold: New file.
82294         New module 'unicase/u16-ct-casefold'.
82295         * lib/unicase/u16-ct-casefold.c: New file.
82296         * modules/unicase/u16-ct-casefold: New file.
82298         New module 'unicase/u8-ct-casefold'.
82299         * lib/unicase/u8-ct-casefold.c: New file.
82300         * lib/unicase/u-ct-casefold.h: New file, derived from
82301         lib/unicase/u-casefold.h.
82302         * modules/unicase/u8-ct-casefold: New file.
82304         New module 'unicase/u32-ct-totitle'.
82305         * lib/unicase/u32-ct-totitle.c: New file.
82306         * modules/unicase/u32-ct-totitle: New file.
82308         New module 'unicase/u16-ct-totitle'.
82309         * lib/unicase/u16-ct-totitle.c: New file.
82310         * modules/unicase/u16-ct-totitle: New file.
82312         New module 'unicase/u8-ct-totitle'.
82313         * lib/unicase/u8-ct-totitle.c: New file.
82314         * lib/unicase/u-ct-totitle.h: New file, derived from
82315         lib/unicase/u-totitle.h.
82316         * modules/unicase/u8-ct-totitle: New file.
82318         New module 'unicase/u32-ct-tolower'.
82319         * lib/unicase/u32-ct-tolower.c: New file.
82320         * modules/unicase/u32-ct-tolower: New file.
82322         New module 'unicase/u16-ct-tolower'.
82323         * lib/unicase/u16-ct-tolower.c: New file.
82324         * modules/unicase/u16-ct-tolower: New file.
82326         New module 'unicase/u8-ct-tolower'.
82327         * lib/unicase/u8-ct-tolower.c: New file.
82328         * modules/unicase/u8-ct-tolower: New file.
82330         New module 'unicase/u32-ct-toupper'.
82331         * lib/unicase/u32-ct-toupper.c: New file.
82332         * modules/unicase/u32-ct-toupper: New file.
82334         New module 'unicase/u16-ct-toupper'.
82335         * lib/unicase/u16-ct-toupper.c: New file.
82336         * modules/unicase/u16-ct-toupper: New file.
82338         New module 'unicase/u8-ct-toupper'.
82339         * lib/unicase/u8-ct-toupper.c: New file.
82340         * modules/unicase/u8-ct-toupper: New file.
82342         Add context arguments to u*_casemap functions.
82343         * lib/unicase/unicasemap.h: Include unicase.h.
82344         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
82345         suffix_context arguments.
82346         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
82347         functions.
82348         (FUNC): Add prefix_context and suffix_context arguments. Use
82349         uc_is_cased and uc_is_case_ignorable.
82350         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
82351         * lib/unicase/u16-casemap.c: Likewise.
82352         * lib/unicase/u32-casemap.c: Likewise.
82353         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
82354         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82355         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
82356         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82357         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
82358         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82360         New module 'unicase/u32-suffix-context'.
82361         * lib/unicase/u32-suffix-context.c: New file.
82362         * modules/unicase/u32-suffix-context: New file.
82364         New module 'unicase/u16-suffix-context'.
82365         * lib/unicase/u16-suffix-context.c: New file.
82366         * modules/unicase/u16-suffix-context: New file.
82368         New module 'unicase/u8-suffix-context'.
82369         * lib/unicase/u8-suffix-context.c: New file.
82370         * lib/unicase/u-suffix-context.h: New file.
82371         * modules/unicase/u8-suffix-context: New file.
82373         New module 'unicase/empty-suffix-context'.
82374         * lib/unicase/empty-suffix-context.c: New file.
82375         * modules/unicase/empty-suffix-context: New file.
82377         New module 'unicase/u32-prefix-context'.
82378         * lib/unicase/u32-prefix-context.c: New file.
82379         * modules/unicase/u32-prefix-context: New file.
82381         New module 'unicase/u16-prefix-context'.
82382         * lib/unicase/u16-prefix-context.c: New file.
82383         * modules/unicase/u16-prefix-context: New file.
82385         New module 'unicase/u8-prefix-context'.
82386         * lib/unicase/u8-prefix-context.c: New file.
82387         * lib/unicase/u-prefix-context.h: New file.
82388         * lib/unicase/context.h: New file.
82389         * modules/unicase/u8-prefix-context: New file.
82391         New module 'unicase/empty-prefix-context'.
82392         * lib/unicase/empty-prefix-context.c: New file.
82393         * modules/unicase/empty-prefix-context: New file.
82395         New module 'unicase/ignorable'.
82396         * lib/unicase/ignorable.c: New file.
82397         * modules/unicase/ignorable: New file.
82399         New module 'unicase/cased'.
82400         * lib/unicase/caseprop.h: New file.
82401         * lib/unicase/cased.c: New file.
82402         * modules/unicase/cased: New file.
82404         New functions for case mapping of substrings.
82405         * lib/unicase.h (casing_prefix_context_t): New type.
82406         (unicase_empty_prefix_context): New variable.
82407         (u8_casing_prefix_context, u16_casing_prefix_context,
82408         u32_casing_prefix_context, u8_casing_prefixes_context,
82409         u16_casing_prefixes_context, u32_casing_prefixes_context): New
82410         declarations.
82411         (casing_suffix_context_t): New type.
82412         (unicase_empty_suffix_context): New variable.
82413         (u8_casing_suffix_context, u16_casing_suffix_context,
82414         u32_casing_suffix_context, u8_casing_suffixes_context,
82415         u16_casing_suffixes_context, u32_casing_suffixes_context,
82416         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
82417         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
82418         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
82419         declarations.
82421 2009-06-28  Jim Meyering  <meyering@redhat.com>
82423         boostrap: indent only with spaces
82424         * build-aux/bootstrap: Indent only with spaces, never TABs.
82426         bootstrap: split long lines
82427         * build-aux/bootstrap: Keep line length < 80.
82429         bootstrap: sync from coreutils
82430         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
82431         just as autoreconf does.  Verify a list of prerequisite
82432         package-name,version-number pairs if defined in bootstrap.conf.
82433         Refer to README-prereq, if prerequisites are not satisfied.
82435 2009-06-27  Eric Blake  <ebb9@byu.net>
82437         tests: add test for bogus NULL definition
82438         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
82439         * tests/test-stdlib.c: Likewise.
82440         * tests/test-string.c: Likewise.
82441         * tests/test-locale.c: Likewise.
82442         * tests/test-unistd.c: Likewise.
82443         * modules/stdio-tests (Depends-on): Add verify.
82444         * modules/stdlib-tests (Depends-on): Likewise.
82445         * modules/string-tests (Depends-on): Likewise.
82446         * modules/locale-tests (Depends-on): Likewise.
82447         * modules/unistd-tests (Depends-on): Likewise.
82449 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
82451         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
82452         self-explaining comment.
82453         * m4/selinux-selinux-h: Update serial.
82454         (gl_LIBSELINUX): New macro, adding a warning for missing development
82455         packages to code extracted from...
82456         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
82457         Add warning for missing development packages here, too.
82459 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
82461         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
82463 2009-06-25  Eric Blake  <ebb9@byu.net>
82465         version-etc: fix regression
82466         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
82467         gcc.
82468         (version_etc): Use it, to catch bugs with trailing NULL.
82469         * lib/version-etc.c (version_etc_arn): Delete unused argument.
82470         (version_etc_va): Fix logic bug.
82471         * modules/version-etc-tests: Add test.
82472         * tests/test-version-etc.c: New file.
82473         * tests/test-version-etc.sh: Likewise.
82475 2009-06-25  Sam Steingold  <sds@gnu.org>
82477         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
82478         mbtowc declaration.
82480 2009-06-25  Eric Blake  <ebb9@byu.net>
82482         fpurge: migrate into <stdio.h>
82483         * lib/fpurge.h: Delete...
82484         * lib/stdio.in.h (fpurge): ...and declare here, instead.
82485         * lib/fpurge.c (fpurge): Change declaring header.
82486         * modules/fpurge (Files): Drop deleted file.
82487         (Depends-on): Add stdio.
82488         (configure.ac): Set witness.
82489         * modules/stdio (Makefile.am): Support fpurge macros.
82490         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
82491         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
82492         * lib/fflush.c: Update client.
82493         * tests/test-fpurge.c: Likewise.
82494         * NEWS: Mention the change.
82496 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82498         * lib/argp-version-etc.c (program_authors): Add const
82499         qualifier.
82500         * lib/version-etc.c: Fix typos in the comments.
82501         * modules/argp-version-etc: Depends on version-etc.
82503 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82505         argp-version-etc: new module.
82507         * lib/argp-version-etc.c: New file.
82508         * lib/argp-version-etc.h: New file.
82509         * modules/argp-version-etc: New file.
82510         * modules/argp-version-etc-tests: New file.
82511         * tests/test-argp-version-etc.c: New test.
82512         * tests/test-argp-version-etc-1.sh: New test.
82514 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82516         Provide additional interfaces and documentation for version-etc
82517         module.
82519         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
82520         interfaces.
82521         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
82522         prototypes.
82524 2009-06-24  Bruno Haible  <bruno@clisp.org>
82526         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
82527         HAVE_LIB${NAME} macro.
82528         Reported by Sam Steingold <sds@gnu.org>.
82530 2009-06-23  Simon Josefsson  <simon@josefsson.org>
82532         * modules/hash-tests (test_hash_LDADD): Link to libintl when
82533         needed.
82535 2009-06-21  Bruno Haible  <bruno@clisp.org>
82537         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
82538         work.
82539         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
82540         together with LIB${NAME}, LTLIB${NAME}.
82541         Reported by Sam Steingold <sds@gnu.org>.
82543 2009-06-20  Jim Meyering  <meyering@redhat.com>
82545         tests: make sc_require_test_exit_idiom more generic
82546         * top/maint.mk (Exit_witness_file): New overridable variable.
82547         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
82548         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
82550 2009-06-19  Jim Meyering  <meyering@redhat.com>
82552         hash: reverse order of src/dst parameters in an internal interface
82553         * lib/hash.c (transfer_entries): Reverse order of parameters to
82554         put DST before SRC.  Adjust callers.
82556         tests: test-hash: avoid wholesale duplication
82557         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
82558         Instead, use a loop and add a single conditional.
82560         tests: test-hash: allow seed selection via a command line argument
82561         * tests/test-hash.c (get_seed): New function.
82562         (main): Use it.
82564 2009-06-19  Eric Blake  <ebb9@byu.net>
82566         hash: avoid memory leak on allocation failure
82567         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
82568         failure.  Factor repeated algorithm...
82569         (transfer_entries): ...into new helper routine.
82570         (hash_delete): React to hash_rehash return value.
82572         hash: reduce memory pressure in hash_rehash no-op case
82573         * lib/hash.c (next_prime): Avoid overflow.
82574         (hash_initialize): Factor bucket size computation...
82575         (compute_bucket_size): ...into new helper function.
82576         (hash_rehash): Use new function and open coding to reduce memory
82577         pressure, and avoid a memory leak in USE_OBSTACK code.
82578         Reported by Jim Meyering.
82580 2009-06-18  Eric Blake  <ebb9@byu.net>
82582         hash: make rotation more obvious
82583         * modules/hash (Depends-on): Add bitrotate and stdint.
82584         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
82585         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
82586         (SIZE_MAX): Rely on headers for definition.
82587         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
82588         (raw_hasher): Use rotr_sz.
82589         Suggested by Jim Meyering.
82591         hash: fix memory leak in last patch
82592         * lib/hash.c (hash_rehash): Avoid memory leak.
82594         hash: avoid no-op rehashing
82595         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
82597         hash: provide default callback functions
82598         * lib/hash.c (raw_hasher, raw_comparator): New functions.
82599         (hash_initialize): Use them as defaults.
82600         * tests/test-hash.c (main): Test this.
82602         hash: minor optimization
82603         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
82604         when possible.
82605         (hash_initialize): Document this promise.
82606         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
82607         * tests/test-hash.c (hash_compare_strings): Test this.
82609 2009-06-18  Bruno Haible  <bruno@clisp.org>
82611         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
82612         going to be replaced anyway.
82614 2009-06-18  Bruno Haible  <bruno@clisp.org>
82616         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
82617         in one place.
82618         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
82619         be replaced anyway.
82621 2009-06-18  Eric Blake  <ebb9@byu.net>
82623         hash: check for resize before insertion
82624         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
82625         threshold before insertion, so that a pathological hash_rehash
82626         that fills every bucket can still trigger another rehash.
82628 2009-06-18  Jim Meyering  <meyering@redhat.com>
82630         hash-tests: add a loop around the small tests
82631         * tests/test-hash.c (main): Repeat small tests with selected
82632         small initial table sizes.
82634 2009-06-17  Eric Blake  <ebb9@byu.net>
82636         hash: minor cleanups
82637         * lib/hash.h (hash_entry): Make opaque, by moving...
82638         * lib/hash.c (hash_entry): ...here.
82639         (hash_insert): Clarify restrictions on what can be inserted.
82640         (hash_get_next): Clarify when it is safe to remove an element
82641         during traversal.
82642         (check_tuning): Skip verification when tuning is known safe.
82643         (hash_initialize): Clarify restrictions on tuning.
82645 2009-06-17  Jim Meyering  <jim@meyering.net>
82646         and Eric Blake  <ebb9@byu.net>
82648         hash-tests: new module
82649         * modules/hash-tests: New file.
82650         * tests/test-hash.c: New file.
82652 2009-06-17  Eric Blake  <ebb9@byu.net>
82654         strstr-simple: document new module
82655         * MODULES.html.sh: Document new module.
82657         strstr, strcasestr: replace on platforms with broken memchr
82658         * modules/strstr: Split into...
82659         * modules/strstr-simple: ...new module that does not care about
82660         performance, but does care about glibc bug.
82661         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
82662         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
82663         if platform memchr is broken, per Debian bug 521737.
82664         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
82665         memchr.
82666         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
82667         * doc/posix-functions/strstr.texi (strstr): Document the fix.
82668         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
82669         * modules/mountlist (Depends-on): Add strstr-simple.
82670         * modules/gen-uni-tables (Depends-on): Likewise.
82671         * modules/argz (Depends-on): Add strstr.
82673 2009-06-17  Bruno Haible  <bruno@clisp.org>
82675         * modules/posix_spawn-internal (Depends-on): Add errno.
82677 2009-06-17  Bruno Haible  <bruno@clisp.org>
82679         Define missing ESTALE on Interix 3.5.
82680         * lib/errno.in.h (ESTALE): Assign a value if missing.
82681         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
82682         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
82683         missing.
82684         * doc/posix-headers/errno.texi: Mention the Interix bug.
82685         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
82687 2009-06-15  Eric Blake  <ebb9@byu.net>
82689         memchr, memchr2: add valgrind exception
82690         * lib/memchr.valgrind: New file.
82691         * lib/memchr2.valgrind: New file.
82692         * modules/memchr (Files): Distribute valgrind file.
82693         * modules/memchr2 (Files): Likewise.
82695         docs: memchr is no longer obsolete
82696         * MODULES.html.sh: Move memchr from obsolete to string.h section.
82697         * lib/string.in.h (memchr): Simplify logic.
82699 2009-06-14  Jim Meyering  <meyering@redhat.com>
82701         link-follow: fix the "checking..." message to not mention trailing slash
82702         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
82703         never considered trailing slashes.
82705 2009-06-14  Bruno Haible  <bruno@clisp.org>
82707         * m4/memchr.m4: Mention also the bug on IA-64.
82708         * doc/posix-functions/memchr.texi: Likewise.
82710 2009-06-12  Eric Blake  <ebb9@byu.net>
82712         memchr: detect broken x86_64 and alpha implementations
82713         * modules/memchr-tests (Depends-on): Move mmap detection...
82714         * modules/memchr (Depends-on): ...here.
82715         (configure.ac): Set indicator.
82716         * lib/string.in.h (memchr): Declare replacement.
82717         * modules/string (Makefile.am): Trigger replacement.
82718         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
82719         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
82720         bugs.
82721         * doc/posix-functions/memchr.texi (memchr): Document the bug.
82722         * modules/getpagesize (License): Relax license.
82724 2009-06-11  Bruno Haible  <bruno@clisp.org>
82726         * lib/idpriv.h: Add more references.
82728 2009-06-08  Bruno Haible  <bruno@clisp.org>
82730         Tests for module 'idpriv-droptemp'.
82731         * modules/idpriv-droptemp-tests: New file.
82732         * tests/test-idpriv-droptemp.sh: New file.
82733         * tests/test-idpriv-droptemp.su.sh: New file.
82734         * tests/test-idpriv-droptemp.c: New file.
82736         New module 'idpriv-droptemp'.
82737         * lib/idpriv-droptemp.c: New file.
82738         * modules/idpriv-droptemp: New file.
82740 2009-06-08  Bruno Haible  <bruno@clisp.org>
82742         Tests for module 'idpriv-drop'.
82743         * modules/idpriv-drop-tests: New file.
82744         * tests/test-idpriv-drop.sh: New file.
82745         * tests/test-idpriv-drop.su.sh: New file.
82746         * tests/test-idpriv-drop.c: New file.
82748         New module 'idpriv-drop'.
82749         * lib/idpriv.h: New file.
82750         * lib-idpriv-drop.c: New file.
82751         * m4/idpriv.m4: New file.
82752         * modules/idpriv-drop: New file.
82754 2009-06-08  Bruno Haible  <bruno@clisp.org>
82756         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
82757         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82758         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82759         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82760         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82761         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82762         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82764 2009-06-08  Eric Blake  <ebb9@byu.net>
82766         test-strstr: use memory fence, when possible
82767         * tests/test-strstr.c (main): Use memory fence, in order to be
82768         more likely to trigger Debian bug 521737.
82769         * modules/strstr-tests (Files): Pull in additional files.
82771         memchr: no longer obsolete, for wider field testing
82772         * modules/memchr (Status, Notice): Delete, this module is no
82773         longer obsolete.
82774         * modules/vasnprintf (Depends-on): Add memchr.
82776 2009-06-07  Jim Meyering  <meyering@redhat.com>
82778         hash: declare some functions with the warn_unused_result attribute
82779         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
82781 2009-06-07  Bruno Haible  <bruno@clisp.org>
82783         * tests/test-alignof.c: Don't test int64_t if it does not exist.
82784         Reported by Eric Blake.
82786 2009-06-06  Eric Blake  <ebb9@byu.net>
82788         test-alignof: fix typo with long double
82789         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
82790         compiler error.
82792 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
82794         Escape non-texinfo { and }s.
82795         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
82796         markup error.
82798 2009-06-04  Jim Meyering  <meyering@redhat.com>
82800         gitlog-to-changelog: don't infloop on an empty commit log
82801         * build-aux/gitlog-to-changelog: Warn about an empty log message.
82802         Reported by Boris Petersen <transacid@centerim.org>.
82804 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
82806         version-etc: extend for packagers
82807         Add three new configure options, intended for packagers:
82808           --with-packager="packager name"
82809           --with-packager-version="packager-specific version"
82810           --with-packager-bug-reports="packager bug reporting"
82811         An example with coreutils:
82812           $ ./configure \
82813             --with-packager=Gentoo \
82814             --with-packager-bug-report=http://bugs.gentoo.org/ \
82815             --with-packager-version="patchset 1.6"
82816           $ ./src/ls --version | head -n2
82817           ls (GNU coreutils) 7.1-dirty
82818           Packaged by Gentoo (patchset 1.6)
82819         Note that the bug reporting info via --help doesn't show up because
82820         coreutils uses its own custom emit_bug_reporting_address() implementation
82821         in src/system.h.  If it didn't, it'd look like:
82822           $ ./src/ls --help | tail -n4
82823           Report bugs to <bug-coreutils@gnu.org>.
82824           Report Gentoo bugs to <http://bugs.gentoo.org/>.
82825           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
82826           General help using GNU software: <http://www.gnu.org/gethelp/>.
82827         * lib/version-etc.c: Print new information, if provided.
82828         * m4/version-etc.m4: New file.
82829         * modules/version-etc (Files): Add m4/version-etc.m4.
82830         (configure.ac): Add gl_VERSION_ETC.
82832 2009-05-31  Bruno Haible  <bruno@clisp.org>
82834         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
82835         and 'int64_t'.
82836         * modules/alignof-tests (Dependencies): Add stdint.
82837         Reported by Eric Blake.
82839 2009-05-31  Bruno Haible  <bruno@clisp.org>
82841         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
82842         restriction due to compiler bugs.
82843         Reported by Eric Blake.
82845 2009-05-31  Simon Josefsson  <simon@josefsson.org>
82846             Bruno Haible  <bruno@clisp.org>
82848         Fix test-alignof failure.
82849         * lib/alignof.h (alignof_slot): New macro.
82850         (alignof_type): New macro, with the same semantics as the previous
82851         'alignof'.
82852         (alignof): Alias to alignof_slot.
82853         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
82854         check that the results are usable as constant expressions.
82856 2009-05-31  Bruno Haible  <bruno@clisp.org>
82858         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
82859         * tests/test-memchr.c (main): Check that memchr does not read past the
82860         first occurrence of the byte.
82861         * tests/test-strstr.c (main): Update comment.
82862         Suggested by Eric Blake.
82864 2009-05-30  Bruno Haible  <bruno@clisp.org>
82866         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
82867         detail how to use dumpbin.
82868         Reported by David Byron <dbyron@dbyron.com>.
82870 2009-06-02  Simon Josefsson  <simon@josefsson.org>
82872         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
82874 2009-06-02  Simon Josefsson  <simon@josefsson.org>
82876         * m4/manywarnings.m4: Add GCC 4.4 warnings.
82878 2009-05-28  Bruno Haible  <bruno@clisp.org>
82880         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
82881         build-aux/ files.
82883 2009-05-28  Simon Josefsson  <simon@josefsson.org>
82885         * gnulib-tool (func_import): Transform license on build-aux/ files too.
82887 2009-05-27  Simon Josefsson  <simon@josefsson.org>
82889         * gnulib-tool (sed_transform_main_lib_file)
82890         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
82891         regexps.
82893 2009-05-26  Simon Josefsson  <simon@josefsson.org>
82895         * tests/test-strstr.c: Add another self-test.
82896         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
82897         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
82899 2009-05-23  Bruno Haible  <bruno@clisp.org>
82901         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
82902         change.
82904 2009-05-21  Bruno Haible  <bruno@clisp.org>
82906         Simplify use of mode_t varargs.
82907         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
82908         uses 'mode_t' or 'int'.
82909         * lib/openat.c (openat): Likewise.
82910         * lib/open-safer.c (open_safer): Likewise.
82911         * m4/mode_t.m4: New file.
82912         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
82913         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
82914         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
82915         * modules/open (Files): Add m4/mode_t.m4.
82916         * modules/openat (Files): Likewise.
82917         * modules/fcntl-safer (Files): Likewise.
82918         Suggested by Eric Blake.
82920 2009-05-21  Pádraig Brady  <P@draigbrady.com>
82922         * doc/glibc-functions/fallocate.texi: New file.
82923         * doc/gnulib.texi: Include it.
82925 2009-05-21  Eric Blake  <ebb9@byu.net>
82926             Bruno Haible  <bruno@clisp.org>
82928         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
82929         invocations.
82930         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
82932 2009-05-21  Eric Blake  <ebb9@byu.net>
82933             Bruno Haible  <bruno@clisp.org>
82935         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
82936         include_next. Fix of 2008-11-20 commit.
82937         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
82938         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
82939         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
82940         NEXT_MATH_H.
82941         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
82942         instead of NEXT_MATH_H.
82944 2009-05-21  Bruno Haible  <bruno@clisp.org>
82946         Avoid redefinition warnings for SIZE_MAX.
82947         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
82948         Reported by Simon Josefsson.
82950 2009-05-21  Bruno Haible  <bruno@clisp.org>
82952         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
82953         AC_CACHE_VAL.
82955 2009-05-20  Bruno Haible  <bruno@clisp.org>
82957         Make zeroptr.h work on mingw.
82958         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
82959         mprotect.
82960         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
82961         * modules/memchr2-tests (configure.ac): Likewise.
82962         * modules/memcmp-tests (configure.ac): Likewise.
82963         * modules/memmem-tests (configure.ac): Likewise.
82964         * modules/memrchr-tests (configure.ac): Likewise.
82965         Reported by Simon Josefsson.
82967 2009-05-20  Simon Josefsson  <simon@josefsson.org>
82969         * tests/test-glob.c: Include string.h for strcmp prototype.
82971 2009-05-20  Simon Josefsson  <simon@josefsson.org>
82973         * modules/getdelim (Depends-on): Add explicit stdint, although it
82974         was implicitly already pulled in via realloc-posix.
82975         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
82977 2009-05-20  Simon Josefsson  <simon@josefsson.org>
82979         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
82980         G. Christensen" <tgc@jupiterrise.com>.
82981         * m4/sys_socket_h.m4: Check for sa_family_t.
82982         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
82983         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
82984         * tests/test-sys_socket.c: Check that sa_family_t works.
82986 2009-05-18  Eric Blake  <ebb9@byu.net>
82988         maint.mk: allow gnulib_dir in VPATH build
82989         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
82991 2009-05-15  Jim Meyering  <meyering@redhat.com>
82993         maint.mk: Give gnulib_dir a default definition.
82994         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
82995         Thus, most packages no longer need to specify this variable in cfg.mk
82997 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
82999         rename.m4: fix typos that would make non-mingw cross-configure fail
83000         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
83002 2009-05-13  Eric Blake  <ebb9@byu.net>
83004         mmap-anon: avoid out-of-order autoconf expansion
83005         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
83006         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
83007         * modules/memchr-tests (Depends-on): Add extensions.
83008         * modules/memchr2-tests (Depends-on): Add extensions.
83009         * modules/memcmp-tests (Depends-on): Add extensions.
83010         * modules/memmem-tests (Depends-on): Add extensions.
83011         * modules/memrchr-tests (Depends-on): Add extensions.
83013 2009-05-13  Bruno Haible  <bruno@clisp.org>
83015         Make some tests ISO C 99 compliant.
83016         * tests/zerosize-ptr.h: New file.
83017         * tests/test-memchr.c: Include zerosize-ptr.h.
83018         (main): Use a zero-size object pointer instead of NULL.
83019         * tests/test-memchr2.c: Include zerosize-ptr.h.
83020         (main): Use a zero-size object pointer instead of NULL.
83021         * tests/test-memcmp.c: Include zerosize-ptr.h.
83022         (main): Use a zero-size object pointer instead of NULL.
83023         * tests/test-memmem.c: Include zerosize-ptr.h.
83024         (main): Use a zero-size object pointer instead of NULL.
83025         * tests/test-memrchr.c: Include zerosize-ptr.h.
83026         (main): Use a zero-size object pointer instead of NULL.
83027         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
83028         m4/mmap-anon.m4.
83029         (Depends-on): Add getpagesize.
83030         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83031         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
83032         m4/mmap-anon.m4.
83033         (Depends-on): Add getpagesize.
83034         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83035         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
83036         m4/mmap-anon.m4.
83037         (Depends-on): Add getpagesize.
83038         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83039         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
83040         m4/mmap-anon.m4.
83041         (Depends-on): Add getpagesize.
83042         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83043         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
83044         m4/mmap-anon.m4.
83045         (Depends-on): Add getpagesize.
83046         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83048 2009-05-12  Bruno Haible  <bruno@clisp.org>
83050         Tests for module 'alignof'.
83051         * modules/alignof-tests: New file.
83052         * tests/test-alignof.c: New file.
83054 2009-05-12  Bruno Haible  <bruno@clisp.org>
83056         Fix alignof macro.
83057         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
83058         vendor compilers that are always correct.
83060 2009-05-12  Bruno Haible  <bruno@clisp.org>
83062         Make the MAP_ANONYMOUS detection work on HP-UX 11.
83063         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
83064         not whether its fully works.
83066 2009-05-12  Bruno Haible  <bruno@clisp.org>
83068         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
83070 2009-05-12  Jim Meyering  <meyering@redhat.com>
83072         * top/maint.mk: Adjust backslash alignment.
83074 2009-05-11  Simon Josefsson  <simon@josefsson.org>
83076         * top/maint.mk: Make $(srcdir)/build-aux configurable.
83078 2009-05-11  Eric Blake  <ebb9@byu.net>
83080         argp: avoid undefined behavior
83081         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
83082         macros.
83084 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83086         * tests/test-vc-list-files-git.sh: Do git config of user.email and
83087         user.name to prevent git commit from complaining.
83089 2009-05-10  Bruno Haible  <bruno@clisp.org>
83091         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
83092         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
83093         it rewrites every file name only once.
83094         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
83096 2009-05-08  Bruno Haible  <bruno@clisp.org>
83098         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
83099         instead of 'max'.
83101 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83103         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
83104         sockaddr_storage test.
83106 2009-05-07  Simon Josefsson  <simon@josefsson.org>
83108         * modules/sys_socket (Makefile.am): Substitute
83109         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
83110         * m4/sys_socket_h.m4: Check for sockaddr_storage.
83111         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
83112         * tests/test-sys_socket.c: Check sockaddr_storage.
83114 2009-05-08  Bruno Haible  <bruno@clisp.org>
83116         New module 'alignof'.
83117         * lib/alignof.h: New file.
83118         * modules/alignof: New file.
83120 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83121             Bruno Haible  <bruno@clisp.org>
83123         Fix test-file-has-acl on FreeBSD.
83124         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
83125         mask is implicitly added.
83126         * tests/test-file-has-acl.c: Include <signal.h>.
83127         (main): Terminate the test after 5 seconds.
83128         * modules/acl-tests (configure.ac): Check for alarm function.
83130 2009-05-04  Bruno Haible  <bruno@clisp.org>
83132         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
83133         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
83134         * modules/errno (configure.ac): Drop AC_REQUIRE.
83135         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
83136         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
83138 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83140         * modules/glob-tests: New module.
83141         * tests/test-glob.c: Add.
83143 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83145         * modules/fnmatch-tests: New module.
83146         * tests/test-fnmatch.c: Add.
83148 2009-05-04  Eric Blake  <ebb9@byu.net>
83150         maint: make the new no-submodule-changes rule VPATH-safe
83151         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
83153 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83154             Bruno Haible  <bruno@clisp.org>
83156         acl: Fix infinite loop on FreeBSD.
83157         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
83158         of return value from acl_get_entry.
83159         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
83160         Likewise.
83162 2009-05-03  Bruno Haible  <bruno@clisp.org>
83164         * lib/acl-internal.h (acl_entries): Clarify return value.
83165         * lib/acl_entries.c (acl_entries): Likewise.
83167 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83169         Bug fix in acl module.
83170         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
83172 2009-05-03  Bruno Haible  <bruno@clisp.org>
83174         Create gperf-generated file in the source dir, not in the build dir.
83175         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
83176         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
83177         * modules/unicase/locale-language (unicase/locale-languages.h):
83178         Likewise.
83179         * modules/unicase/special-casing (unicase/special-casing-table.h):
83180         Likewise.
83181         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
83182         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
83183         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
83184         Reported by Ralf Wildenhues.
83186 2009-05-03  Bruno Haible  <bruno@clisp.org>
83188         * modules/fnmatch (Description, configure.ac): Taken from
83189         fnmatch-posix.
83190         * modules/fnmatch-posix: Turn into a symbolic reference to the
83191         'fnmatch' module, and deprecate.
83192         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
83194 2009-05-03  Bruno Haible  <bruno@clisp.org>
83196         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
83197         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
83198         Reported by Ralf Wildenhues.
83200 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83202         * m4/fnmatch.m4: Fix fnmatch re-define.
83204 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83206         priv-set: new module and tests; adapt write-any-file
83207         * lib/priv-set.c: New file.
83208         * lib/priv-set.h: New file.
83209         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
83210         * lib/write-any-file.c: Simplify by using priv-set module.
83211         * m4/priv-set.m4: New file.
83212         * modules/priv-set: New file.
83213         * modules/unlinkdir: Add dependency on priv-set module.
83214         * modules/write-any-file: Likewise.
83216         Tests for module 'priv-set'.
83217         * modules/priv-set-tests: New file.
83218         * tests/test-priv-set.c: New file.
83220 2009-05-03  Jim Meyering  <meyering@redhat.com>
83221             Bruno Haible  <bruno@clisp.org>
83223         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
83224         use the converted UTF-8 variant of the name instead.
83226 2009-05-03  Jim Meyering  <meyering@redhat.com>
83228         tests: tighten some getdate tests
83229         * tests/test-getdate.c (main): Tighten tests: require equality,
83230         not just greater than.  Set TZ envvar to UTC0.
83232 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
83234         getdate: correctly interpret "next monday" when run on a Monday
83235         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
83236         that e.g., "next tues" (when run on a tuesday) results in a date
83237         that is one week in the future, and not today's date.
83238         I.e., add a week when the wday is the same as the current one.
83239         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
83240         and earlier by Martin Bernreuther and Jan Minář.
83241         * tests/test-getdate.c (main): Check that "next DAY" is always in
83242         the future and that "last DAY" is always in the past.
83244 2009-05-02  Jim Meyering  <meyering@redhat.com>
83246         build: ensure that a release build fails when a submodule is unclean
83247         * top/maint.mk (no-submodule-changes): New rule.
83248         (alpha beta major): Depend on it.
83250 2009-05-02  Bruno Haible  <bruno@clisp.org>
83252         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
83253         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
83254         shell variable gl_fnmatch_required to detect which variant is
83255         requested.
83256         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
83257         gl_FUNC_FNMATCH_POSIX.
83258         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
83259         exclude fnmatch-posix.
83261 2009-05-02  Bruno Haible  <bruno@clisp.org>
83263         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
83264         * modules/mbsrtowcs (License): Change to LGPLv2+.
83265         * modules/strnlen1 (License): Likewise.
83266         Reported by Simon Josefsson.
83268 2009-05-02  Bruno Haible  <bruno@clisp.org>
83270         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
83271         "cross".
83272         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
83273         gnulib-tool was called with option --source-base=lib.
83275 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83277         Use automake *-local hooks without commands, for extensibility.
83278         * modules/localcharset (Makefile.am): Rename install-exec-local
83279         rule to install-exec-localcharset, and make it a prerequisite of
83280         install-exec-local.  Likewise, rename the uninstall-local rule to
83281         uninstall-localcharset, and make it a prerequisite of the former.
83283 2009-05-01  Bruno Haible  <bruno@clisp.org>
83285         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
83286         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83287         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
83288         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
83289         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
83290         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83291         m4/locale-zh.m4, m4/codeset.m4.
83293         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83294         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
83295         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83296         m4/locale-zh.m4.
83298         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
83299         REPLACE_WCRTOMB if mbstate_t must be replaced.
83300         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
83301         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
83303 2009-05-01  Bruno Haible  <bruno@clisp.org>
83305         Avoid compiler warnings when redefining macros defined by <libintl.h>.
83306         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
83307         dngettext, dcngettext, textdomain, bindtextdomain,
83308         bind_textdomain_codeset): Undefine before redefining.
83310 2009-04-30  Bruno Haible  <bruno@clisp.org>
83312         Fix bug introduced on 2009-04-25.
83313         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
83314         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
83315         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
83316         is defined.
83317         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
83318         is defined.
83319         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
83320         is defined.
83321         Reported by Elbert_Pol <elbert.pol@gmail.com>.
83323 2009-04-28  Bruno Haible  <bruno@clisp.org>
83325         Comment tweaks.
83326         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
83327         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
83328         * lib/unicase.h (u*_casexfrm): Likewise.
83329         Reported by Paolo Bonzini.
83331 2009-04-28  Bruno Haible  <bruno@clisp.org>
83333         Fix a compilation error.
83334         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
83335         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
83336         Reported by Jim Meyering.
83338 2009-04-27  Bruno Haible  <bruno@clisp.org>
83340         New module 'libunistring'.
83341         * modules/libunistring: New file.
83342         * m4/libunistring.m4: New file.
83343         * MODULES.html.sh (Unicode string functions): Add it.
83345 2009-04-27  Eric Blake  <ebb9@byu.net>
83347         maint.mk: allow package-specific header to provide <config.h>
83348         * top/maint.mk (sc_require_config_h): New variable.
83349         (sc_require_config_h, sc_require_config_h_first): Use it.
83351 2009-04-27  Simon Josefsson  <simon@josefsson.org>
83353         * top/maint.mk (sc_avoid_if_before_free): Except
83354         useless-if-before-free script.
83356 2009-04-27  Eric Blake  <ebb9@byu.net>
83358         maintainer-makefile: depend on all required helper scripts
83359         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
83360         useless-if-before-free.
83361         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
83362         version, rather than assuming gnulib checkout is available.
83363         Reported by Simen Josefsson.
83365 2009-04-26  Bruno Haible  <bruno@clisp.org>
83367         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
83368         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
83369         "../" or "..".
83371 2009-04-26  Bruno Haible  <bruno@clisp.org>
83373         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
83374         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
83375         AC_LIB_HAVE_LINKFLAGS.
83377 2009-04-26  Bruno Haible  <bruno@clisp.org>
83379         Simplify calling convention of u*_conv_from_encoding.
83380         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
83381         u32_conv_from_encoding): Expect a resultbuf argument and return the
83382         result directly as a pointer.
83383         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
83384         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
83385         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
83386         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
83387         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
83388         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
83389         Update.
83390         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
83391         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
83392         * lib/vasnprintf.c (VASNPRINTF): Update.
83393         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
83394         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
83395         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
83396         * NEWS: Mention the change.
83398 2009-04-26  Bruno Haible  <bruno@clisp.org>
83400         Simplify calling convention of u*_conv_to_encoding.
83401         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
83402         u32_conv_to_encoding): Expect a resultbuf argument and return the
83403         result directly as a pointer.
83404         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
83405         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
83406         freeing scaled_offsets if mem_iconveha failed.
83407         * lib/unicase/u-casexfrm.h (FUNC): Update.
83408         * lib/uninorm/u-normxfrm.h (FUNC): Update.
83409         * lib/vasnprintf.c (VASNPRINTF): Update.
83410         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
83411         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
83412         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
83413         * NEWS: Mention the change.
83415 2009-04-26  Bruno Haible  <bruno@clisp.org>
83417         Avoid test failures on AIX and OSF/1.
83418         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
83419         malloc(0).
83420         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
83421         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
83422         Likewise.
83423         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
83424         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
83425         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
83426         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
83427         * doc/posix-functions/malloc.texi: Document the portability problem
83428         related to malloc(0).
83430 2009-04-26  Bruno Haible  <bruno@clisp.org>
83432         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
83433         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
83434         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
83436 2009-04-25  Bruno Haible  <bruno@clisp.org>
83438         Avoid link error when creating a namespace clean library.
83439         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
83440         as macro with arguments if already defined as an alias.
83441         * lib/signbitf.c (gl_signbitf): Don't undefine.
83442         * lib/signbitd.c (gl_signbitd): Don't undefine.
83443         * lib/signbitl.c (gl_signbitl): Don't undefine.
83445 2009-04-25  Jim Meyering  <meyering@redhat.com>
83447         vc-list-files: fix another quoting bug
83448         * build-aux/vc-list-files: Avoid sed backslash expansion
83449         of pathological directory names.
83451 2009-04-25  Eric Blake  <ebb9@byu.net>
83453         vc-list-files: fix shell quoting error
83454         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
83455         timestamp.
83457 2009-04-25  Jim Meyering  <meyering@redhat.com>
83459         vc-list-files: restore lost functionality with subdir argument
83460         * build-aux/vc-list-files: When given a non-"." sub-directory
83461         argument, substitute the $dir/ prefix back onto each resulting name.
83462         Otherwise, coreutils' root_tests check would fail.
83464 2009-04-24  Eric Blake  <ebb9@byu.net>
83466         vc-list-files: ignore git symlinks
83467         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
83468         than ls-files, to ignore git symlinks.
83470         maint.mk: import improvements from m4
83471         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
83472         (move_if_change): Delete unused macro.
83473         (news-date-check, vc-diff-check): Support VPATH builds.
83474         (announcement): Likewise.  Split --bootstrap-tools list...
83475         (boostrap-tools): ...into separate list, which can be overridden
83476         in cfg.mk.
83477         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
83478         requiring dependency on useless-if-before-free module.
83479         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
83480         Support VPATH builds.
83482 2009-04-24  Jim Meyering  <meyering@redhat.com>
83484         maint.mk: remove coreutils-specific rules and variables
83485         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
83486         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
83487         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
83489         maint.mk: remove obsolete rule
83490         * top/maint.mk (rel-check): Remove rule.
83491         (WGET, WGETFLAGS): Remove now-unused variables.
83493 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83495         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
83496         consistency.
83498         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
83499         '$(PATH_SEPARATOR)' instead of ':'.
83501 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83503         * lib/getopt1.c (main): Use 'const' for static array.
83505 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83507         * top/maint.mk: Sync with coreutils.
83508         * NEWS: Explain incompatibilities.
83510 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83511             Bruno Haible  <bruno@clisp.org>
83513         Fix cross-compilation results.
83514         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
83515         statement, as third argument of AC_TRY_RUN.
83516         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
83517         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
83518         Likewise.
83519         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
83520         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
83521         Likewise.
83522         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
83523         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
83524         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
83526 2009-04-20  Bruno Haible  <bruno@clisp.org>
83528         Avoid test failure on mingw.
83529         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
83531 2009-04-20  Bruno Haible  <bruno@clisp.org>
83533         Avoid compilation error on mingw.
83534         * modules/localename-tests (Depends-on): Add locale.
83536 2009-04-19  Bruno Haible  <bruno@clisp.org>
83538         Support for building a shared library on Windows platforms.
83539         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
83540         (main): Test the presence of UNINORM_NFC here.
83541         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
83542         (main): Test the presence of UNINORM_NFD here.
83543         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
83544         (main): Test the presence of UNINORM_NFKC here.
83545         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
83546         (main): Test the presence of UNINORM_NFKD here.
83548 2009-04-19  Bruno Haible  <bruno@clisp.org>
83550         Avoid a compiler warning.
83551         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
83552         Change type of variable 'sequence'.
83554 2009-04-19  Bruno Haible  <bruno@clisp.org>
83556         * modules/configmake (Makefile.am): When the contents of configmake.h
83557         does not change, arrange to preserve its modification time.
83559 2009-04-17  Simon Josefsson  <simon@josefsson.org>
83561         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
83562         gettext domain.
83564 2009-04-16  Jim Meyering  <meyering@redhat.com>
83566         useless-if-before-free: improve conversion code
83567         * build-aux/useless-if-before-free: Adjust code-in-comment to match
83568         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
83570 2009-04-14  Bruno Haible  <bruno@clisp.org>
83572         * modules/fcntl (Depends-on): Add extensions.
83573         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
83575 2009-04-12  Ben Pfaff  <blp@gnu.org>
83577         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
83578         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
83580 2009-03-20  Ben Pfaff  <blp@gnu.org>
83582         Make rename replace existing destinations on Windows.
83583         * m4/rename.m4: Add test for Mingw.
83584         * lib/rename.c: Add rename replacement that uses MoveFileEx with
83585         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
83586         * doc/posix-functions/rename.texi: Document.
83588 2009-04-10  Bruno Haible  <bruno@clisp.org>
83590         New include file "iconveh.h".
83591         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
83592         * lib/striconveh.h: Include it.
83593         (enum iconv_ilseq_handler): Remove definition.
83594         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
83595         striconveh.h.
83596         * lib/striconveha.c: Include striconveh.h.
83597         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
83598         * modules/striconveh (Files): Add lib/iconveh.h.
83599         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
83600         lib/striconveh.h.
83602 2009-04-10  Bruno Haible  <bruno@clisp.org>
83604         * lib/uniconv.h: Update comment.
83606 2009-04-10  Bruno Haible  <bruno@clisp.org>
83608         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
83609         always.
83610         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
83611         * lib/unistr/u16-mbtouc-aux.c: Likewise.
83612         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
83613         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
83614         "unistring-notinline.h", so that the function gets defined always.
83615         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
83616         * lib/unistr/u8-uctomb.c: Likewise.
83617         * lib/unistr/u16-mbtouc.c: Likewise.
83618         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
83619         * lib/unistr/u16-uctomb.c: Likewise.
83620         * lib/unistr/u32-mbtouc.c: Likewise.
83621         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
83622         * lib/unistr/u32-uctomb.c: Likewise.
83624 2009-04-10  Bruno Haible  <bruno@clisp.org>
83626         Mark 'utime' obsolete.
83627         * modules/utime (Status, Notice): New sections.
83628         Suggested by Jim Meyering.
83630         Fix cross-compile guess for utime test.
83631         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
83632         autoconf.
83633         * doc/posix-functions/utime.texi: Give more precisions.
83634         Reported by Jan <ipif@ymail.com>.
83636 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
83638         filevercmp: correct today's change
83639         * lib/filevercmp.c: Also handle coreutils' test inputs.
83640         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
83642         Fix regression in 'filevercmp' module. Thanks Sven Joachim
83643         for reporting it.
83644         * lib/filevercmp.c: Special handle for "", "." and "..".
83645         * tests/test-filevercmp.c: Enlarge the set suite.
83647 2009-04-07  Jim Meyering  <meyering@redhat.com>
83649         useless-if-before-free: show how to remove braced useless free, too
83650         * build-aux/useless-if-before-free: still only in a comment, though.
83652 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
83654         maint.mk: import changes to syntax-check macros from coreutils
83655         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
83656         Use them in the relevant macros.
83658 2009-04-06  Bruno Haible  <bruno@clisp.org>
83660         Fix unportable use of bit-fields.
83661         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
83662         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
83663         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
83665 2009-04-06  Bruno Haible  <bruno@clisp.org>
83667         Avoid test failures on AIX and OSF/1.
83668         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
83669         that malloc(0) = NULL.
83670         * tests/unicase/test-u8-tolower.c (check): Likewise.
83671         * tests/unicase/test-u8-totitle.c (check): Likewise.
83672         * tests/unicase/test-u8-toupper.c (check): Likewise.
83673         * tests/unicase/test-u16-casefold.c (check): Likewise.
83674         * tests/unicase/test-u16-tolower.c (check): Likewise.
83675         * tests/unicase/test-u16-totitle.c (check): Likewise.
83676         * tests/unicase/test-u16-toupper.c (check): Likewise.
83677         * tests/unicase/test-u32-casefold.c (check): Likewise.
83678         * tests/unicase/test-u32-tolower.c (check): Likewise.
83679         * tests/unicase/test-u32-totitle.c (check): Likewise.
83680         * tests/unicase/test-u32-toupper.c (check): Likewise.
83681         * tests/uninorm/test-u8-nfc.c (check): Likewise.
83682         * tests/uninorm/test-u8-nfd.c (check): Likewise.
83683         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
83684         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
83685         * tests/uninorm/test-u16-nfc.c (check): Likewise.
83686         * tests/uninorm/test-u16-nfd.c (check): Likewise.
83687         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
83688         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
83689         * tests/uninorm/test-u32-nfc.c (check): Likewise.
83690         * tests/uninorm/test-u32-nfd.c (check): Likewise.
83691         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
83692         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
83694 2009-04-05  Bruno Haible  <bruno@clisp.org>
83696         Work around an autoconf limitation.
83697         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
83698         comment line if it would be longer than 3 KB.
83700 2009-04-05  Bruno Haible  <bruno@clisp.org>
83702         Avoid test failure with libiconv-1.13.
83703         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
83704         of the expected test results.
83706 2009-04-05  Bruno Haible  <bruno@clisp.org>
83708         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
83709         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
83710         that it should be installed.
83712 2009-04-05  Bruno Haible  <bruno@clisp.org>
83714         * gnulib-tool: New option --copy-file.
83715         (func_usage): Document it.
83716         (func_dest_tmpfilename): Moved out of func_import.
83717         (func_add_file, func_update_file): New functions, extracted from
83718         func_import.
83719         (func_import): Update.
83721 2009-04-05  Karl Berry  <karl@gnu.org>
83723         * README: prominently mention gnulib-tool.
83724         Rearrange sections so getting the code is near the top.
83726 2009-04-05  Bruno Haible  <bruno@clisp.org>
83728         * lib/unicase.h: Mention u*_cmp2.
83729         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
83730         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
83731         * lib/unicase/ulc-casecmp.c: Likewise.
83732         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
83733         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
83734         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
83735         unistr/u8-cmp.
83736         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
83737         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
83738         unistr/u16-cmp.
83739         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
83740         unistr/u32-cmp.
83742         * lib/uninorm.h: Mention u*_cmp2.
83743         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
83744         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
83745         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
83746         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
83747         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
83748         unistr/u8-cmp.
83749         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
83750         unistr/u16-cmp.
83751         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
83752         unistr/u32-cmp.
83754         New module 'unistr/u32-cmp2'.
83755         * lib/unistr/u32-cmp2.c: New file.
83756         * modules/unistr/u32-cmp2: New file.
83758         New module 'unistr/u16-cmp2'.
83759         * lib/unistr/u16-cmp2.c: New file.
83760         * modules/unistr/u16-cmp2: New file.
83762         New module 'unistr/u8-cmp2'.
83763         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
83764         * lib/unistr/u8-cmp2.c: New file.
83765         * lib/unistr/u-cmp2.h: New file.
83766         * modules/unistr/u8-cmp2: New file.
83768 2009-04-05  Bruno Haible  <bruno@clisp.org>
83770         * lib/unictype.h (uc_property_is_valid): New macro.
83771         * tests/unictype/test-pr_byname.c (main): Use it.
83773         * lib/unistr.h: Doc fixes.
83774         * lib/uniconv.h: Doc fixes.
83775         * lib/unictype.h: Doc fixes.
83777 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
83779         Port coreutils 7.2 to Solaris 8.
83781         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
83782         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
83783         for Solaris 8.  This is a bit of a hack, as it means it's the
83784         caller's responsibility to add -lnsl if needed, but most likely it
83785         won't be needed since only getaddrinfo uses this and getaddrinfo
83786         isn't needed on Solaris 8.
83788         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
83789         problem to Solaris 8 encountered with coreutils 7.2, which
83790         resulted in a message "fnmatch.c:292: warning: passing argument 4
83791         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
83792         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
83794 2009-04-03  Simon Josefsson  <simon@josefsson.org>
83796         * m4/ld-version-script.m4: Add FIXME comment.
83798 2009-04-02  Simon Josefsson  <simon@josefsson.org>
83800         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
83801         SOVERSION variable.
83803 2009-04-02  Bruno Haible  <bruno@clisp.org>
83805         * Makefile (info, html, dvi, pdf): Combine the rules.
83806         Suggested by Jim Meyering.
83808 2009-04-01  Bruno Haible  <bruno@clisp.org>
83810         * Makefile (info, html, dvi, pdf): New targets.
83811         Reported by Reuben Thomas <rrt@sc3d.org>.
83813 2009-04-01  Bruno Haible  <bruno@clisp.org>
83815         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
83816         can be put into PATH.
83817         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
83819 2009-04-01  Bruno Haible  <bruno@clisp.org>
83821         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
83823 2009-04-01  Bruno Haible  <bruno@clisp.org>
83825         Rename module 'visibility'.
83826         * modules/lib-symbol-visibility: Renamed from modules/visibility.
83827         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
83828         * doc/gnulib.texi: Update.
83829         * MODULES.html.sh (Misc): Update.
83830         * NEWS: Mention the change.
83832 2009-04-01  Simon Josefsson  <simon@josefsson.org>
83834         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
83835         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
83836         Eric Blake <ebb9@byu.net> for review.
83837         * MODULES.html.sh: Add lib-msvc-compat.
83838         * doc/gnulib.texi: Link to new section.
83839         * m4/ld-output-def.m4: New file.
83840         * doc/ld-output-def.texi: New file.
83842 2009-04-01  Simon Josefsson  <simon@josefsson.org>
83844         Rename ld-version-script to lib-symbol-versions.  Suggested by
83845         Bruno Haible <bruno@clisp.org>.
83846         * modules/ld-version-script: Renamed to lib-symbol-versions.
83847         * doc/ld-version-script.texi: Fix module name.
83848         * MODULES.html.sh: Add lib-symbol-versions.
83850 2009-03-31  Simon Josefsson  <simon@josefsson.org>
83852         * modules/u64-tests: New file.
83853         * tests/test-u64.c: New file.
83855 2009-03-04  Simon Josefsson  <simon@josefsson.org>
83857         * MODULES.html.sh: Mention u64.
83858         * modules/u64: New module.
83859         * modules/crypto/sha512: Depend on u64 module instead of providing
83860         u64.h.
83862 2009-03-27  Eric Blake  <ebb9@byu.net>
83864         test-strerror: make debugging EAI_SYSTEM easier
83865         * modules/getaddrinfo-tests (Depends-on): Add strerror.
83866         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
83867         failure was EAI_SYSTEM.
83869 2009-03-25  Bruno Haible  <bruno@clisp.org>
83871         Fix a problem with --enable-relocatable on Solaris 7.
83872         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
83873         since 2008-02-24.
83875 2009-03-25  Eric Blake  <ebb9@byu.net>
83877         test-sockets: avoid gcc warning
83878         * tests/test-sockets.c (main): Silence compiler warning.
83880 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
83882         New modules nproc, pthread, contributed by Glen Lenker.
83884         * MODULES.html.sh: Add pthread, nproc.
83885         * lib/nproc.c: New file.
83886         * lib/nproc.h: New file.
83887         * lib/pthread.in.h: New file.
83888         * m4/pthread.m4: New file.
83889         * modules/nproc: New file.
83890         * modules/pthread: New file.
83892 2009-03-24  Simon Josefsson  <simon@josefsson.org>
83894         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
83895         New variable.
83897 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
83899         filevercmp: handle simple~ and numbered.~3~ backup suffixes
83900         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
83901         * tests/test-filevercmp.c: Add tests for backup suffixes.
83903 2009-03-24  Simon Josefsson  <simon@josefsson.org>
83905         * modules/stdlib (Depends-on): Add stdint, needed when defining
83906         struct random_data on, for example, HP-UX 10.20.  Reported by
83907         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
83909 2009-03-24  Simon Josefsson  <simon@josefsson.org>
83911         * lib/readline.c (readline): Call fflush on stdout after printing
83912         prompt.
83914 2009-03-20  Bruno Haible  <bruno@clisp.org>
83916         Remove dependency from 'close' module to -lws2_32 on native Windows.
83917         * lib/close-hook.h: New file.
83918         * lib/close-hook.c: New file.
83919         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
83920         w32sock.h.
83921         (_gl_close_fd_maybe_socket): Remove function.
83922         (rpl_close): Invoke execute_all_close_hooks instead of
83923         _gl_close_fd_maybe_socket.
83924         * lib/sockets.c: Include close-hook.h, w32sock.h.
83925         (close_fd_maybe_socket): New function, essentially from lib/close.c.
83926         (close_sockets_hook): New variable.
83927         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
83928         (gl_sockets_cleanup): Unregister it.
83929         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
83930         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
83931         * modules/close-hook: New file.
83932         * modules/close (Files): Remove lib/w32sock.h.
83933         (Depends-on): Add close-hook.
83934         (Link): Remove section.
83935         * modules/sockets (Files): Add lib/w32sock.h.
83936         (Depends-on): Add close-hook.
83937         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
83938         invocation.
83939         * NEWS: Mention that LIB_CLOSE is gone.
83941 2009-03-23  Eric Blake  <ebb9@byu.net>
83943         signal-tests: test previous patch
83944         * tests/test-signal.c: New file.
83945         * modules/signal-tests: Likewise.
83947         signal.h: always support 'volatile sig_atomic_t'
83948         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
83949         (gl_SIGNAL_H_DEFAULTS): Add a default.
83950         * modules/signal (Makefile.am): Substitute if needed.
83951         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
83952         users can blindly add volatile.
83953         * doc/posix-headers/signal.texi (signal.h): Document it.
83954         Reported by Matthew Woehlke.
83956 2009-03-23  Jim Meyering  <meyering@redhat.com>
83958         pathmax: PATH_MAX: use pathconf only when available
83959         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
83960         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
83961         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
83962         This avoids a link failure in a PSP cross-compilation environment
83963         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
83965         * lib/vasnprintf.c (divide): Fix typo in comment.
83967 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83969         * gnulib-tool (func_filter_filelist): Fix comment.
83971 2009-03-20  Bruno Haible  <bruno@clisp.org>
83973         Make sockets.h self-contained.
83974         * lib/sockets.c: Include sockets.h first.
83975         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
83977 2009-03-19  Eric Blake  <ebb9@byu.net>
83979         doc: mention more functions added in cygwin 1.7.0
83980         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
83981         addition.
83982         * doc/posix-functions/log2f.texi: Likewise.
83984 2009-03-19  Jim Meyering  <meyering@redhat.com>
83986         fsusage: avoid syntax error due to statement-before-declaration
83987         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
83988         after all declarations.  Reported by Matthew Woehlke in
83989         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
83991 2009-03-18  Eric Blake  <ebb9@byu.net>
83993         build-aux/compile: sync from automake
83994         * build-aux/compile: New file, from automake.
83995         * config/srclist.txt: Mention build-aux/compile.
83997 2009-03-17  Bruno Haible  <bruno@clisp.org>
83999         * lib/git-merge-changelog.c: Fix typo in comment.
84000         Reported by Reuben Thomas <rrt@sc3d.org>.
84002 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
84004         * m4/regex.m4: update and improve help for
84005         --without-included-regex.
84007 2009-03-17  Simon Josefsson  <simon@josefsson.org>
84009         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
84010         failure on missing include files.
84012 2009-03-17  Eric Blake  <ebb9@byu.net>
84014         doc: mention more functions added in cygwin 1.7.0
84015         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
84016         addition.
84017         * doc/posix-functions/fwscanf.texi: Likewise.
84018         * doc/posix-functions/swprintf.texi: Likewise.
84019         * doc/posix-functions/swscanf.texi: Likewise.
84020         * doc/posix-functions/vfwprintf.texi: Likewise.
84021         * doc/posix-functions/vfwscanf.texi: Likewise.
84022         * doc/posix-functions/vswprintf.texi: Likewise.
84023         * doc/posix-functions/vswscanf.texi: Likewise.
84024         * doc/posix-functions/vwprintf.texi: Likewise.
84025         * doc/posix-functions/vwscanf.texi: Likewise.
84026         * doc/posix-functions/wcscasecmp.texi: Likewise.
84027         * doc/posix-functions/wcsdup.texi: Likewise.
84028         * doc/posix-functions/wcsftime.texi: Likewise.
84029         * doc/posix-functions/wcsncasecmp.texi: Likewise.
84030         * doc/posix-functions/wprintf.texi: Likewise.
84031         * doc/posix-functions/wscanf.texi: Likewise.
84032         * doc/glibc-functions/gethostbyname2.texi: Likewise.
84034 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84036         maint.mk: really add $(AM_MAKEFLAGS)
84037         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
84038         was inadvertently omitted in the last commit.
84039         Spotted by Bruno Haible.
84041         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
84042         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
84043         $(AM_MAKEFLAGS)' rather than plain `make'.
84045         gnulib-tool: execute $MAKE not make
84046         * gnulib-tool: Default $MAKE to 'make'.
84047         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
84048         than make.  Initialize $MAKE in the do-autobuild script.
84050         gnulib-tool: use $MAKE not make in generated files
84051         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
84052         make, in generated files.  Initialize $MAKE in the do-autobuild
84053         script.
84055         * top/GNUmakefile (_have-git-version-gen): Fix typo.
84057         GNUmakefile: disable parallelism only for multiple, recursive targets
84058         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
84059         additions in the Makefile.
84060         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
84061         by Automake.
84062         (.NOTPARALLEL): Only disable parallel builds if multiple targets
84063         are listed on the command line and at least one of them is
84064         listed in $(ALL_RECURSIVE_TARGETS).
84066 2009-03-14  Bruno Haible  <bruno@clisp.org>
84068         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
84069         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
84070         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
84071         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
84072         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
84073         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
84074         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
84075         unistr/u8-uctomb.
84076         * modules/unistr/u8-strchr (Depends-on): Likewise.
84077         * modules/unistr/u8-strrchr (Depends-on): Likewise.
84078         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
84079         unistr/u16-uctomb.
84080         * modules/unistr/u16-strchr (Depends-on): Likewise.
84081         * modules/unistr/u16-strrchr (Depends-on): Likewise.
84083 2009-03-12  Bruno Haible  <bruno@clisp.org>
84085         Work around select() bug on Interix 3.5.
84086         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
84087         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
84088         * m4/select.m4: New file.
84089         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
84090         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
84091         * modules/select (Files): Add m4/select.m4.
84092         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
84093         * modules/nanosleep (Depends-on): Add select.
84094         * modules/poll (Depends-on): Likewise.
84095         * doc/posix-functions/select.texi: Mention the Interix bug.
84096         Reported by Markus Duft <mduft@gentoo.org>.
84098         * lib/select.c: Renamed from lib/winsock-select.c.
84099         * modules/select (Files): Add lib/select.c, remove
84100         lib/winsock-select.c.
84101         (configure.ac): Update.
84103 2009-03-12  Jim Meyering  <meyering@redhat.com>
84105         avoid gcc warnings about unused macro definitions
84106         * lib/readtokens.c (STREQ): Remove unused definition.
84107         * lib/xmalloc.c (SIZE_MAX): Likewise.
84108         * lib/openat-die.c (N_): Likewise.
84109         * lib/mountlist.c (SIZE_MAX): Remove definition.
84110         Instead, include <stdint.h>.
84111         * lib/readutmp.c: Likewise.
84112         * modules/readutmp (Depends-on): Add stdint.
84113         * modules/mountlist (Depends-on): Add stdint.
84114         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
84116 2009-03-10  Bruno Haible  <bruno@clisp.org>
84118         Tests for module 'mbmemcasecoll'.
84119         * modules/mbmemcasecoll-tests: New file.
84120         * tests/test-mbmemcasecoll1.sh: New file.
84121         * tests/test-mbmemcasecoll2.sh: New file.
84122         * tests/test-mbmemcasecoll3.sh: New file.
84123         * tests/test-mbmemcasecoll.c: New file.
84125         New module 'mbmemcasecoll'.
84126         * lib/mbmemcasecoll.h: New file.
84127         * lib/mbmemcasecoll.c: New file.
84128         * modules/mbmemcasecoll: New file.
84130         * tests/test-mbmemcasecmp.h: New file, extracted from
84131         tests/test-mbmemcasecmp.c.
84132         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
84133         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
84134         (main): Update.
84135         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
84137 2009-03-09  Bruno Haible  <bruno@clisp.org>
84139         Tests for module 'mbmemcasecmp'.
84140         * modules/mbmemcasecmp-tests: New file.
84141         * tests/test-mbmemcasecmp1.sh: New file.
84142         * tests/test-mbmemcasecmp2.sh: New file.
84143         * tests/test-mbmemcasecmp3.sh: New file.
84144         * tests/test-mbmemcasecmp.c: New file.
84146         New module 'mbmemcasecmp'.
84147         * lib/mbmemcasecmp.h: New file.
84148         * lib/mbmemcasecmp.c: New file.
84149         * modules/mbmemcasecmp: New file.
84151 2009-03-09  Bruno Haible  <bruno@clisp.org>
84153         Tests for module 'unicase/ulc-casecoll'.
84154         * modules/unicase/ulc-casecoll-tests: New file.
84155         * tests/unicase/test-ulc-casecoll1.sh: New file.
84156         * tests/unicase/test-ulc-casecoll2.sh: New file.
84157         * tests/unicase/test-ulc-casecoll.c: New file.
84159         New module 'unicase/ulc-casecoll'.
84160         * lib/unicase.h (ulc_casecoll): New declaration.
84161         * lib/unicase/ulc-casecoll.c: New file.
84162         * modules/unicase/ulc-casecoll: New file.
84164         New module 'unicase/ulc-casexfrm'.
84165         * lib/unicase.h (ulc_casexfrm): New declaration.
84166         * lib/unicase/ulc-casexfrm.c: New file.
84167         * modules/unicase/ulc-casexfrm: New file.
84169 2009-03-09  Bruno Haible  <bruno@clisp.org>
84171         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
84172         invocations.
84174         * m4/mbscasecmp.m4: Remove file.
84175         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
84176         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
84178         * m4/mbscasestr.m4: Remove file.
84179         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
84180         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
84182         * m4/mbschr.m4: Remove file.
84183         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
84184         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
84186         * m4/mbscspn.m4: Remove file.
84187         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
84188         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
84190         * m4/mbslen.m4: Remove file.
84191         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
84192         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
84194         * m4/mbsncasecmp.m4: Remove file.
84195         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
84196         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
84198         * m4/mbsnlen.m4: Remove file.
84199         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
84200         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
84202         * m4/mbspbrk.m4: Remove file.
84203         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
84204         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
84206         * m4/mbspcasecmp.m4: Remove file.
84207         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
84208         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
84210         * m4/mbsrchr.m4: Remove file.
84211         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
84212         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
84214         * m4/mbssep.m4: Remove file.
84215         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
84216         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
84218         * m4/mbsspn.m4: Remove file.
84219         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
84220         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
84222         * m4/mbsstr.m4: Remove file.
84223         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
84224         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
84226         * m4/mbstok_r.m4: Remove file.
84227         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
84228         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
84230         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
84232         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
84233         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
84235         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
84237 2009-03-08  Bruno Haible  <bruno@clisp.org>
84239         Tests for module 'unicase/ulc-casecmp'.
84240         * modules/unicase/ulc-casecmp-tests: New file.
84241         * tests/unicase/test-ulc-casecmp1.sh: New file.
84242         * tests/unicase/test-ulc-casecmp2.sh: New file.
84243         * tests/unicase/test-ulc-casecmp.c: New file.
84245         New module 'unicase/ulc-casecmp'.
84246         * lib/unicase.h (ulc_casecmp): New declaration.
84247         * lib/unicase/ulc-casecmp.c: New file.
84248         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
84249         'const SRC_UNIT *'.
84250         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
84251         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
84252         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
84253         * modules/unicase/ulc-casecmp: New file.
84255         Tests for module 'unicase/u32-is-cased'.
84256         * modules/unicase/u32-is-cased-tests: New file.
84257         * tests/unicase/test-u32-is-cased.c: New file.
84259         Tests for module 'unicase/u16-is-cased'.
84260         * modules/unicase/u16-is-cased-tests: New file.
84261         * tests/unicase/test-u16-is-cased.c: New file.
84263         Tests for module 'unicase/u8-is-cased'.
84264         * modules/unicase/u8-is-cased-tests: New file.
84265         * tests/unicase/test-u8-is-cased.c: New file.
84266         * tests/unicase/test-is-cased.h: New file.
84268         New module 'unicase/u32-is-cased'.
84269         * lib/unicase/u32-is-cased.c: New file.
84270         * modules/unicase/u32-is-cased: New file.
84272         New module 'unicase/u16-is-cased'.
84273         * lib/unicase/u16-is-cased.c: New file.
84274         * modules/unicase/u16-is-cased: New file.
84276         New module 'unicase/u8-is-cased'.
84277         * lib/unicase/u8-is-cased.c: New file.
84278         * lib/unicase/u-is-cased.h: New file.
84279         * modules/unicase/u8-is-cased: New file.
84281         Tests for module 'unicase/u32-is-casefolded'.
84282         * modules/unicase/u32-is-casefolded-tests: New file.
84283         * tests/unicase/test-u32-is-casefolded.c: New file.
84285         Tests for module 'unicase/u16-is-casefolded'.
84286         * modules/unicase/u16-is-casefolded-tests: New file.
84287         * tests/unicase/test-u16-is-casefolded.c: New file.
84289         Tests for module 'unicase/u8-is-casefolded'.
84290         * modules/unicase/u8-is-casefolded-tests: New file.
84291         * tests/unicase/test-u8-is-casefolded.c: New file.
84292         * tests/unicase/test-is-casefolded.h: New file.
84294         New module 'unicase/u32-is-casefolded'.
84295         * lib/unicase/u32-is-casefolded.c: New file.
84296         * modules/unicase/u32-is-casefolded: New file.
84298         New module 'unicase/u16-is-casefolded'.
84299         * lib/unicase/u16-is-casefolded.c: New file.
84300         * modules/unicase/u16-is-casefolded: New file.
84302         New module 'unicase/u8-is-casefolded'.
84303         * lib/unicase/u8-is-casefolded.c: New file.
84304         * modules/unicase/u8-is-casefolded: New file.
84306         Tests for module 'unicase/u32-is-titlecase'.
84307         * modules/unicase/u32-is-titlecase-tests: New file.
84308         * tests/unicase/test-u32-is-titlecase.c: New file.
84310         Tests for module 'unicase/u16-is-titlecase'.
84311         * modules/unicase/u16-is-titlecase-tests: New file.
84312         * tests/unicase/test-u16-is-titlecase.c: New file.
84314         Tests for module 'unicase/u8-is-titlecase'.
84315         * modules/unicase/u8-is-titlecase-tests: New file.
84316         * tests/unicase/test-u8-is-titlecase.c: New file.
84317         * tests/unicase/test-is-titlecase.h: New file.
84319         New module 'unicase/u32-is-titlecase'.
84320         * lib/unicase/u32-is-titlecase.c: New file.
84321         * modules/unicase/u32-is-titlecase: New file.
84323         New module 'unicase/u16-is-titlecase'.
84324         * lib/unicase/u16-is-titlecase.c: New file.
84325         * modules/unicase/u16-is-titlecase: New file.
84327         New module 'unicase/u8-is-titlecase'.
84328         * lib/unicase/u8-is-titlecase.c: New file.
84329         * modules/unicase/u8-is-titlecase: New file.
84331         Tests for module 'unicase/u32-is-lowercase'.
84332         * modules/unicase/u32-is-lowercase-tests: New file.
84333         * tests/unicase/test-u32-is-lowercase.c: New file.
84335         Tests for module 'unicase/u16-is-lowercase'.
84336         * modules/unicase/u16-is-lowercase-tests: New file.
84337         * tests/unicase/test-u16-is-lowercase.c: New file.
84339         Tests for module 'unicase/u8-is-lowercase'.
84340         * modules/unicase/u8-is-lowercase-tests: New file.
84341         * tests/unicase/test-u8-is-lowercase.c: New file.
84342         * tests/unicase/test-is-lowercase.h: New file.
84344         New module 'unicase/u32-is-lowercase'.
84345         * lib/unicase/u32-is-lowercase.c: New file.
84346         * modules/unicase/u32-is-lowercase: New file.
84348         New module 'unicase/u16-is-lowercase'.
84349         * lib/unicase/u16-is-lowercase.c: New file.
84350         * modules/unicase/u16-is-lowercase: New file.
84352         New module 'unicase/u8-is-lowercase'.
84353         * lib/unicase/u8-is-lowercase.c: New file.
84354         * modules/unicase/u8-is-lowercase: New file.
84356         Tests for module 'unicase/u32-is-uppercase'.
84357         * modules/unicase/u32-is-uppercase-tests: New file.
84358         * tests/unicase/test-u32-is-uppercase.c: New file.
84360         Tests for module 'unicase/u16-is-uppercase'.
84361         * modules/unicase/u16-is-uppercase-tests: New file.
84362         * tests/unicase/test-u16-is-uppercase.c: New file.
84364         Tests for module 'unicase/u8-is-uppercase'.
84365         * modules/unicase/u8-is-uppercase-tests: New file.
84366         * tests/unicase/test-u8-is-uppercase.c: New file.
84367         * tests/unicase/test-is-uppercase.h: New file.
84369         New module 'unicase/u32-is-uppercase'.
84370         * lib/unicase/u32-is-uppercase.c: New file.
84371         * modules/unicase/u32-is-uppercase: New file.
84373         New module 'unicase/u16-is-uppercase'.
84374         * lib/unicase/u16-is-uppercase.c: New file.
84375         * modules/unicase/u16-is-uppercase: New file.
84377         New module 'unicase/u8-is-uppercase'.
84378         * lib/unicase/u8-is-uppercase.c: New file.
84379         * modules/unicase/u8-is-uppercase: New file.
84381         New module 'unicase/u32-is-invariant'.
84382         * lib/unicase/u32-is-invariant.c: New file.
84383         * modules/unicase/u32-is-invariant: New file.
84385         New module 'unicase/u16-is-invariant'.
84386         * lib/unicase/u16-is-invariant.c: New file.
84387         * modules/unicase/u16-is-invariant: New file.
84389         New module 'unicase/u8-is-invariant'.
84390         * lib/unicase/u8-is-invariant.c: New file.
84391         * lib/unicase/invariant.h: New file.
84392         * lib/unicase/u-is-invariant.h: New file.
84393         * modules/unicase/u8-is-invariant: New file.
84395         Tests for module 'unicase/u32-casecoll'.
84396         * modules/unicase/u32-casecoll-tests: New file.
84397         * tests/unicase/test-u32-casecoll.c: New file.
84399         Tests for module 'unicase/u16-casecoll'.
84400         * modules/unicase/u16-casecoll-tests: New file.
84401         * tests/unicase/test-u16-casecoll.c: New file.
84403         Tests for module 'unicase/u8-casecoll'.
84404         * modules/unicase/u8-casecoll-tests: New file.
84405         * tests/unicase/test-u8-casecoll.c: New file.
84407         New module 'unicase/u32-casecoll'.
84408         * lib/unicase/u32-casecoll.c: New file.
84409         * modules/unicase/u32-casecoll: New file.
84411         New module 'unicase/u16-casecoll'.
84412         * lib/unicase/u16-casecoll.c: New file.
84413         * modules/unicase/u16-casecoll: New file.
84415         New module 'unicase/u8-casecoll'.
84416         * lib/unicase/u8-casecoll.c: New file.
84417         * lib/unicase/u-casecoll.h: New file.
84418         * modules/unicase/u8-casecoll: New file.
84420         New module 'unicase/u32-casexfrm'.
84421         * lib/unicase/u32-casexfrm.c: New file.
84422         * modules/unicase/u32-casexfrm: New file.
84424         New module 'unicase/u16-casexfrm'.
84425         * lib/unicase/u16-casexfrm.c: New file.
84426         * modules/unicase/u16-casexfrm: New file.
84428         New module 'unicase/u8-casexfrm'.
84429         * lib/unicase/u8-casexfrm.c: New file.
84430         * lib/unicase/u-casexfrm.h: New file.
84431         * modules/unicase/u8-casexfrm: New file.
84433         Tests for module 'unicase/u32-casecmp'.
84434         * modules/unicase/u32-casecmp-tests: New file.
84435         * tests/unicase/test-u32-casecmp.c: New file.
84437         Tests for module 'unicase/u16-casecmp'.
84438         * modules/unicase/u16-casecmp-tests: New file.
84439         * tests/unicase/test-u16-casecmp.c: New file.
84441         Tests for module 'unicase/u8-casecmp'.
84442         * modules/unicase/u8-casecmp-tests: New file.
84443         * tests/unicase/test-u8-casecmp.c: New file.
84444         * tests/unicase/test-casecmp.h: New file.
84446         New module 'unicase/u32-casecmp'.
84447         * lib/unicase/u32-casecmp.c: New file.
84448         * modules/unicase/u32-casecmp: New file.
84450         New module 'unicase/u16-casecmp'.
84451         * lib/unicase/u16-casecmp.c: New file.
84452         * modules/unicase/u16-casecmp: New file.
84454         New module 'unicase/u8-casecmp'.
84455         * lib/unicase/u8-casecmp.c: New file.
84456         * lib/unicase/u-casecmp.h: New file.
84457         * modules/unicase/u8-casecmp: New file.
84459         Tests for module 'unicase/u32-casefold'.
84460         * modules/unicase/u32-casefold-tests: New file.
84461         * tests/unicase/test-u32-casefold.c: New file.
84463         Tests for module 'unicase/u16-casefold'.
84464         * modules/unicase/u16-casefold-tests: New file.
84465         * tests/unicase/test-u16-casefold.c: New file.
84467         Tests for module 'unicase/u8-casefold'.
84468         * modules/unicase/u8-casefold-tests: New file.
84469         * tests/unicase/test-u8-casefold.c: New file.
84471         New module 'unicase/u32-casefold'.
84472         * lib/unicase/u32-casefold.c: New file.
84473         * modules/unicase/u32-casefold: New file.
84475         New module 'unicase/u16-casefold'.
84476         * lib/unicase/u16-casefold.c: New file.
84477         * modules/unicase/u16-casefold: New file.
84479         New module 'unicase/u8-casefold'.
84480         * lib/unicase/u8-casefold.c: New file.
84481         * lib/unicase/u-casefold.h: New file.
84482         * modules/unicase/u8-casefold: New file.
84484         New module 'unicase/tocasefold'.
84485         * lib/unicase/casefold.h: New file.
84486         * lib/unicase/tocasefold.c: New file.
84487         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
84488         * modules/unicase/tocasefold: New file.
84490         Tests for module 'unicase/u32-totitle'.
84491         * modules/unicase/u32-totitle-tests: New file.
84492         * tests/unicase/test-u32-totitle.c: New file.
84494         Tests for module 'unicase/u16-totitle'.
84495         * modules/unicase/u16-totitle-tests: New file.
84496         * tests/unicase/test-u16-totitle.c: New file.
84498         Tests for module 'unicase/u8-totitle'.
84499         * modules/unicase/u8-totitle-tests: New file.
84500         * tests/unicase/test-u8-totitle.c: New file.
84502         New module 'unicase/u32-totitle'.
84503         * lib/unicase/u32-totitle.c: New file.
84504         * modules/unicase/u32-totitle: New file.
84506         New module 'unicase/u16-totitle'.
84507         * lib/unicase/u16-totitle.c: New file.
84508         * modules/unicase/u16-totitle: New file.
84510         New module 'unicase/u8-totitle'.
84511         * lib/unicase/u8-totitle.c: New file.
84512         * lib/unicase/u-totitle.h: New file.
84513         * modules/unicase/u8-totitle: New file.
84515         Tests for module 'unicase/u32-tolower'.
84516         * modules/unicase/u32-tolower-tests: New file.
84517         * tests/unicase/test-u32-tolower.c: New file.
84519         Tests for module 'unicase/u16-tolower'.
84520         * modules/unicase/u16-tolower-tests: New file.
84521         * tests/unicase/test-u16-tolower.c: New file.
84523         Tests for module 'unicase/u8-tolower'.
84524         * modules/unicase/u8-tolower-tests: New file.
84525         * tests/unicase/test-u8-tolower.c: New file.
84527         New module 'unicase/u32-tolower'.
84528         * lib/unicase/u32-tolower.c: New file.
84529         * modules/unicase/u32-tolower: New file.
84531         New module 'unicase/u16-tolower'.
84532         * lib/unicase/u16-tolower.c: New file.
84533         * modules/unicase/u16-tolower: New file.
84535         New module 'unicase/u8-tolower'.
84536         * lib/unicase/u8-tolower.c: New file.
84537         * modules/unicase/u8-tolower: New file.
84539         Tests for module 'unicase/u32-toupper'.
84540         * modules/unicase/u32-toupper-tests: New file.
84541         * tests/unicase/test-u32-toupper.c: New file.
84543         Tests for module 'unicase/u16-toupper'.
84544         * modules/unicase/u16-toupper-tests: New file.
84545         * tests/unicase/test-u16-toupper.c: New file.
84547         Tests for module 'unicase/u8-toupper'.
84548         * modules/unicase/u8-toupper-tests: New file.
84549         * tests/unicase/test-u8-toupper.c: New file.
84551         New module 'unicase/u32-toupper'.
84552         * lib/unicase/u32-toupper.c: New file.
84553         * modules/unicase/u32-toupper: New file.
84555         New module 'unicase/u16-toupper'.
84556         * lib/unicase/u16-toupper.c: New file.
84557         * modules/unicase/u16-toupper: New file.
84559         New module 'unicase/u8-toupper'.
84560         * lib/unicase/u8-toupper.c: New file.
84561         * modules/unicase/u8-toupper: New file.
84563         New module 'unicase/u32-casemap'.
84564         * lib/unicase/u32-casemap.c: New file.
84565         * modules/unicase/u32-casemap: New file.
84567         New module 'unicase/u16-casemap'.
84568         * lib/unicase/u16-casemap.c: New file.
84569         * modules/unicase/u16-casemap: New file.
84571         New module 'unicase/u8-casemap'.
84572         * lib/unicase/unicasemap.h: New file.
84573         * lib/unicase/u8-casemap.c: New file.
84574         * lib/unicase/u-casemap.h: New file.
84575         * modules/unicase/u8-casemap: New file.
84577         New module 'unicase/special-casing'.
84578         * lib/unicase/special-casing.h: New file.
84579         * lib/unicase/special-casing.c: New file.
84580         * lib/unicase/special-casing-table.gperf: New file, generated by
84581         gen-uni-tables.c.
84582         * modules/unicase/special-casing: New file.
84584         Tests for module 'unicase/locale-language'.
84585         * modules/unicase/locale-language-tests: New file.
84586         * tests/unicase/test-locale-language.sh: New file.
84587         * tests/unicase/test-locale-language.c: New file.
84589         New module 'unicase/locale-language'.
84590         * lib/unicase/locale-language.c: New file.
84591         * lib/unicase/locale-languages.gperf: New file.
84592         * modules/unicase/locale-language: New file.
84594         Generate more tables for case conversion and case folding.
84595         * lib/gen-uni-tables.c (SCC_*): New enum items.
84596         (struct special_casing_rule): New type.
84597         (casing_rules, num_casing_rules, allocated_casing_rules): New
84598         variables.
84599         (add_casing_rule, fill_casing_rules): New functions.
84600         (struct casefold_rule): New type.
84601         (casefolding_rules, num_casefolding_rules,
84602         allocated_casefolding_rules): New variables.
84603         (fill_casefolding_rules): New function.
84604         (unicode_casefold): New variable.
84605         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
84606         sort_casing_rules, output_casing_rules): New functions.
84607         (main): Accept to more arguments: SpecialCasing.txt and
84608         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
84609         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
84610         Output mapping for casefolding.
84612         * lib/unicase.h: Include stdbool.h, uninorm.h.
84613         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
84614         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
84615         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
84616         arguments.
84617         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
84618         resultp arguments.
84619         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
84620         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
84621         resultp arguments.
84622         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
84623         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
84624         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
84625         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
84626         declarations.
84627         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
84629 2009-03-08  Bruno Haible  <bruno@clisp.org>
84631         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
84632         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
84633         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
84634         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
84636 2009-03-07  Bruno Haible  <bruno@clisp.org>
84638         Adjust u*_normcmp, u*_normcoll API.
84639         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
84640         u16_normcoll, u32_normcoll): Change failure conventions.
84641         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
84642         errno and return -1.
84643         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
84645 2009-03-07  Bruno Haible  <bruno@clisp.org>
84647         Tests for module 'uninorm/u32-normcoll'.
84648         * modules/uninorm/u32-normcoll-tests: New file.
84649         * tests/uninorm/test-u32-normcoll.c: New file.
84651         Tests for module 'uninorm/u16-normcoll'.
84652         * modules/uninorm/u16-normcoll-tests: New file.
84653         * tests/uninorm/test-u16-normcoll.c: New file.
84655         Tests for module 'uninorm/u8-normcoll'.
84656         * modules/uninorm/u8-normcoll-tests: New file.
84657         * tests/uninorm/test-u8-normcoll.c: New file.
84659 2009-03-07  Bruno Haible  <bruno@clisp.org>
84661         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
84662         tests/uninorm/test-u32-normcmp.c.
84663         * tests/uninorm/test-u32-normcmp.c: Include it.
84664         (test_nonascii): New function, extracted from main. Add some more
84665         tests.
84666         (main): Invoke test_ascii and test_nonascii.
84667         * modules/uninorm/u32-normcmp-tests (Files): Add
84668         tests/uninorm/test-u32-normcmp.h.
84669         (Depends-on): Remove uninorm/u32-normcmp.
84671         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
84672         tests/uninorm/test-u16-normcmp.c.
84673         * tests/uninorm/test-u16-normcmp.c: Include it.
84674         (test_nonascii): New function, extracted from main. Add some more
84675         tests.
84676         (main): Invoke test_ascii and test_nonascii.
84677         * modules/uninorm/u16-normcmp-tests (Files): Add
84678         tests/uninorm/test-u16-normcmp.h.
84679         (Depends-on): Remove uninorm/u16-normcmp.
84681         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
84682         tests/uninorm/test-u8-normcmp.c.
84683         * tests/uninorm/test-u8-normcmp.c: Include it.
84684         (test_nonascii): New function, extracted from main. Add some more
84685         tests.
84686         (main): Invoke test_ascii and test_nonascii.
84687         * modules/uninorm/u8-normcmp-tests (Files): Add
84688         tests/uninorm/test-u8-normcmp.h.
84689         (Depends-on): Remove uninorm/u8-normcmp.
84691 2009-03-07  Bruno Haible  <bruno@clisp.org>
84693         New module 'uninorm/u32-normcoll'.
84694         * lib/uninorm/u32-normcoll.c: New file.
84695         * modules/uninorm/u32-normcoll: New file.
84697         New module 'uninorm/u16-normcoll'.
84698         * lib/uninorm/u16-normcoll.c: New file.
84699         * modules/uninorm/u16-normcoll: New file.
84701         New module 'uninorm/u8-normcoll'.
84702         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
84703         declarations.
84704         * lib/uninorm/u8-normcoll.c: New file.
84705         * lib/uninorm/u-normcoll.h: New file.
84706         * modules/uninorm/u8-normcoll: New file.
84708         New module 'uninorm/u32-normxfrm'.
84709         * lib/uninorm/u32-normxfrm.c: New file.
84710         * modules/uninorm/u32-normxfrm: New file.
84712         New module 'uninorm/u16-normxfrm'.
84713         * lib/uninorm/u16-normxfrm.c: New file.
84714         * modules/uninorm/u16-normxfrm: New file.
84716         New module 'uninorm/u8-normxfrm'.
84717         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
84718         declarations.
84719         * lib/uninorm/u8-normxfrm.c: New file.
84720         * lib/uninorm/u-normxfrm.h: New file.
84721         * modules/uninorm/u8-normxfrm: New file.
84723 2009-03-07  Bruno Haible  <bruno@clisp.org>
84725         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
84726         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
84727         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
84729 2009-03-07  Bruno Haible  <bruno@clisp.org>
84731         New module 'memxfrm'.
84732         * lib/memxfrm.h: New file.
84733         * lib/memxfrm.c: New file.
84734         * modules/memxfrm: New file.
84736 2009-03-07  Bruno Haible  <bruno@clisp.org>
84738         New module 'memcmp2'.
84739         * lib/memcmp2.h: New file.
84740         * lib/memcmp2.c: New file.
84741         * modules/memcmp2: New file.
84743 2009-03-07  Bruno Haible  <bruno@clisp.org>
84745         Tests for module 'uninorm/decomposing-form'.
84746         * modules/uninorm/decomposing-form-tests: New file.
84747         * tests/uninorm/test-decomposing-form.c: New file.
84749         New module 'uninorm/decomposing-form'.
84750         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
84751         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
84752         Add 'decomposing_variant' field.
84753         * lib/uninorm/decomposing-form.c: New file.
84754         * lib/uninorm/nfc.c (uninorm_nfc): Update.
84755         * lib/uninorm/nfd.c (uninorm_nfd): Update.
84756         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
84757         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
84758         * modules/uninorm/decomposing-form: New file.
84759         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
84760         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
84762 2009-03-07  Bruno Haible  <bruno@clisp.org>
84764         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
84765         strings.
84767 2009-03-06  Bruno Haible  <bruno@clisp.org>
84769         Tests for module 'uninorm/u32-normcmp'.
84770         * tests/uninorm/test-u32-normcmp.c: New file.
84771         * modules/uninorm/u32-normcmp-tests: New file.
84773         Tests for module 'uninorm/u16-normcmp'.
84774         * tests/uninorm/test-u16-normcmp.c: New file.
84775         * modules/uninorm/u16-normcmp-tests: New file.
84777         Tests for module 'uninorm/u8-normcmp'.
84778         * tests/uninorm/test-u8-normcmp.c: New file.
84779         * modules/uninorm/u8-normcmp-tests: New file.
84781         New module 'uninorm/u32-normcmp'.
84782         * lib/uninorm/u32-normcmp.c: New file.
84783         * modules/uninorm/u32-normcmp: New file.
84785         New module 'uninorm/u16-normcmp'.
84786         * lib/uninorm/u16-normcmp.c: New file.
84787         * modules/uninorm/u16-normcmp: New file.
84789         New module 'uninorm/u8-normcmp'.
84790         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
84791         declarations.
84792         * lib/uninorm/u8-normcmp.c: New file.
84793         * lib/uninorm/u-normcmp.h: New file.
84794         * modules/uninorm/u8-normcmp: New file.
84796 2009-03-06  Bruno Haible  <bruno@clisp.org>
84798         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
84799         Reported by Eric Blake.
84801 2009-03-06  Eric Blake  <ebb9@byu.net>
84802             Bruno Haible  <bruno@clisp.org>
84804         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
84805         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
84806         condition.
84807         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
84808         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
84809         condition.
84810         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
84812 2009-03-06  Eric Blake  <ebb9@byu.net>
84814         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
84815         to avoid compiler warnings.
84816         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
84818 2009-03-05  Bruno Haible  <bruno@clisp.org>
84820         * tests/test-ftell.c (main): Disable test beyond end of file on
84821         FreeMiNT.
84822         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
84824 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
84826         * lib/filevercmp.c: Move hidden files up in ordering.
84827         * tests/test-filevercmp.c: Add tests for hidden files.
84829 2009-03-04  Bruno Haible  <bruno@clisp.org>
84831         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
84832         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
84833         AM_CFLAGS.
84834         Reported by Simon Josefsson.
84836 2009-03-03  Bruno Haible  <bruno@clisp.org>
84838         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
84839         Reported by Simon Josefsson.
84841         * doc/ld-version-script.texi: Update node reference.
84843 2009-03-03  Bruno Haible  <bruno@clisp.org>
84845         * modules/visibility (License): Change to 'unlimited'.
84846         Suggested by Simon Josefsson.
84848 2009-03-03  Jim Meyering  <meyering@redhat.com>
84850         unlinkdir: cannot_unlink_dir may modify process state
84851         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
84852         it's neither thread-safe nor appropriate for use in a library.
84854 2009-03-03  Eric Blake  <ebb9@byu.net>
84856         test-closein: silence test under Darwin
84857         * tests/test-closein.sh: Ignore stderr from cat, since we don't
84858         care if it dies from EPIPE or EBADF.
84860 2009-03-03  Bruno Haible  <bruno@clisp.org>
84862         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
84863         earlier.
84864         * doc/visibility.texi: Fix @node and @section.
84866 2009-03-03  Simon Josefsson  <simon@josefsson.org>
84868         * doc/gnulib.texi: Link to sections for ld version script and
84869         visibility.
84870         * doc/visibility.texi: Add @node and @section.
84871         * modules/ld-version-script: New module.
84872         * m4/ld-version-script.m4: New file.
84873         * doc/ld-version-script.texi: New file.
84875 2009-03-02  David Lutterkort  <lutter@redhat.com>
84877         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
84878         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
84880 2009-03-02  Bruno Haible  <bruno@clisp.org>
84882         * doc/visibility.texi: Mention libtool's -export-symbols option.
84884 2009-03-02  Jim Meyering  <meyering@redhat.com>
84886         announce-gen: new option: --no-print-checksums
84887         * build-aux/announce-gen (usage): Describe it.
84888         (print_checksums): Print a newline here, not in the [*] footnote.
84889         (main): Honor it.
84891 2009-03-01  Bruno Haible  <bruno@clisp.org>
84893         Use socklen_t in the native Windows replacements prototypes.
84894         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
84895         instead of 'int'.
84896         * lib/getsockopt.c (rpl_getsockopt): Likewise.
84897         * lib/setsockopt.c (rpl_setsockopt): Likewise.
84898         * modules/getsockopt (Depends-on): Add socklen.
84899         * modules/setsockopt (Depends-on): Add socklen.
84901 2009-03-01  Bruno Haible  <bruno@clisp.org>
84903         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
84904         least 4.2.
84906 2009-03-01  Eric Blake  <ebb9@byu.net>
84907             Bruno Haible  <bruno@clisp.org>
84909         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
84910         error messages.
84911         * lib/wait-process.c (wait_subprocess): Omit error message about
84912         deadly signal sent to the child of termsigp != NULL.
84914 2009-03-01  Eric Blake  <ebb9@byu.net>
84916         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
84918 2009-03-01  Bruno Haible  <bruno@clisp.org>
84920         Avoid a gcc warning.
84921         * tests/test-sched.c (b): Make global.
84922         Reported by Eric Blake.
84924 2009-01-19  Martin Lambers  <marlam@marlam.de>
84926         Provide POSIX semantics for socket timeout options on W32.
84927         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
84928         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
84929         * modules/setsockopt: Depend on sys_time module for struct timeval.
84930         * modules/getsockopt: Depend on sys_time module for struct timeval.
84932 2009-03-01  Simon Josefsson  <simon@josefsson.org>
84934         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
84935         __USE_GNU, for consistency with netdb.in.h.
84936         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
84938 2009-03-01  Bruno Haible  <bruno@clisp.org>
84940         More support for FreeMiNT.
84941         * lib/fseeko.c (rpl_fseeko): Complete last commit.
84942         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
84944 2009-03-01  Bruno Haible  <bruno@clisp.org>
84946         More support for FreeMiNT.
84947         * lib/fpurge.c (fpurge): Correct last commit.
84948         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
84950 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84952         Fix unportable awk script in vc-list-files.
84953         * build-aux/vc-list-files: In the replacement awk script, use
84954         substr with a second argument of 1, not zero.
84955         Report by Simon Josefsson.
84957 2009-02-28  Bruno Haible  <bruno@clisp.org>
84959         More support for FreeMiNT.
84960         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
84961         to FreeMiNT today.
84962         * lib/fwriting.c (fwriting): Likewise.
84963         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
84965 2009-02-28  Bruno Haible  <bruno@clisp.org>
84967         * tests/test-freadseek.c (main): Disable test beyond end of file on
84968         FreeMiNT.
84969         * tests/test-ftello.c (main): Likewise.
84970         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
84972 2009-02-28  Bruno Haible  <bruno@clisp.org>
84974         Add tentative support for FreeMiNT.
84975         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
84976         * lib/fpurge.c (fpurge): Likewise.
84977         * lib/freadable.c (freadable): Likewise.
84978         * lib/freading.c (freading): Likewise.
84979         * lib/freadptr.c (freadptr): Likewise.
84980         * lib/freadseek.c (freadptrinc): Likewise.
84981         * lib/fseeko.c (rpl_fseeko): Likewise.
84982         * lib/fseterr.c (fseterr): Likewise.
84983         * lib/fwritable.c (fwritable): Likewise.
84984         * lib/fwriting.c (fwriting): Likewise.
84985         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
84986         Hourihane.
84987         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
84989 2009-02-28  Bruno Haible  <bruno@clisp.org>
84991         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
84992         SIGCHLD.
84993         Reported by Jim Meyering.
84995 2009-02-28  Bruno Haible  <bruno@clisp.org>
84997         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
84998         Mention the results of these tests on various platforms.
84999         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
85000         order.
85001         * doc/posix-functions/printf.texi: Likewise.
85002         * doc/posix-functions/snprintf.texi: Likewise.
85003         * doc/posix-functions/sprintf.texi: Likewise.
85004         * doc/posix-functions/vfprintf.texi: Likewise.
85005         * doc/posix-functions/vprintf.texi: Likewise.
85006         * doc/posix-functions/vsnprintf.texi: Likewise.
85007         * doc/posix-functions/vsprintf.texi: Likewise.
85008         * doc/glibc-functions/obstack_printf.texi: Likewise.
85009         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
85011 2009-02-28  Bruno Haible  <bruno@clisp.org>
85013         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
85014         Reported by Loïc Minier <lool@dooz.org>.
85016 2009-02-27  Bruno Haible  <bruno@clisp.org>
85018         * gnulib-tool (func_import): Make the sed expression used to create the
85019         sed script for updating the .gitignore file POSIX compliant.
85020         Reported by Eric Blake.
85022 2009-02-27  Bruno Haible  <bruno@clisp.org>
85024         * gnulib-tool (sed): Don't alias as "sed --posix".
85025         Reported by Eric Blake.
85027 2009-02-27  Bruno Haible  <bruno@clisp.org>
85029         Avoid test link errors.
85030         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
85031         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
85032         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
85033         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
85034         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85036 2009-02-27  Bruno Haible  <bruno@clisp.org>
85038         Avoid spurious "(cached)" in configure output.
85039         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
85040         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
85041         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
85042         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
85043         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
85044         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
85045         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
85046         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
85047         Reported by Eric Blake.
85049 2009-02-27  Eric Blake  <ebb9@byu.net>
85051         printf: fix regression in previous patch
85052         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
85054 2009-02-27  Bruno Haible  <bruno@clisp.org>
85056         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
85057         value.
85058         * lib/stdint.in.h: Likewise.
85059         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
85061 2009-02-27  Eric Blake  <ebb9@byu.net>
85063         doc: mention more functions added in cygwin 1.7.0
85064         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
85065         addition.
85066         * doc/posix-functions/open_wmemstream.texi: Likewise.
85067         * doc/posix-functions/wcsnlen.texi: Likewise.
85068         * doc/posix-functions/wcsnrtombs.texi: Likewise.
85069         * doc/posix-functions/wcstod.texi: Likewise.
85070         * doc/posix-functions/wcstof.texi: Likewise.
85071         * doc/posix-functions/wcstoimax.texi: Likewise.
85072         * doc/posix-functions/wcstok.texi: Likewise.
85073         * doc/posix-functions/wcstoumax.texi: Likewise.
85075         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
85076         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
85077         * doc/posix-functions/fprintf.texi: Update.
85078         * doc/posix-functions/printf.texi: Update.
85079         * doc/posix-functions/snprintf.texi: Update.
85080         * doc/posix-functions/sprintf.texi: Update.
85081         * doc/posix-functions/vfprintf.texi: Update.
85082         * doc/posix-functions/vprintf.texi: Update.
85083         * doc/posix-functions/vsnprintf.texi: Update.
85084         * doc/posix-functions/vsprintf.texi: Update.
85085         * doc/glibc-functions/obstack_printf.texi: Update.
85086         * doc/glibc-functions/obstack_vprintf.texi: Update.
85088 2009-02-26  Eric Blake  <ebb9@byu.net>
85090         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
85091         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
85092         compilation bug by using runtime conversion.
85093         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
85094         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
85095         * modules/ceill-tests (Files): Use nan.h.
85096         * modules/floorl-tests (Files): Likewise.
85097         * modules/frexpl-tests (Files): Likewise.
85098         * modules/isnanl-tests (Files): Likewise.
85099         * modules/ldexpl-tests (Files): Likewise.
85100         * modules/roundl-tests (Files): Likewise.
85101         * modules/truncl-tests (Files): Likewise.
85102         * tests/test-ceill.c (main): Use a working NaN.
85103         * tests/test-floorl.c (main): Likewise.
85104         * tests/test-frexpl.c (main): Likewise.
85105         * tests/test-isnan.c (test_long_double): Likewise.
85106         * tests/test-isnanl.h (main): Likewise.
85107         * tests/test-ldexpl.h (main): Likewise.
85108         * tests/test-roundl.h (main): Likewise.
85109         * tests/test-truncl.h (main): Likewise.
85110         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
85112 2009-02-26  Eric Blake  <ebb9@byu.net>
85113             Bruno Haible  <bruno@clisp.org>
85115         Work around a *printf bug with %ls on Solaris.
85116         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
85117         precision is specified, sprintf stops converting the wide string
85118         argument when the number of bytes that have been produced by this
85119         conversion equals or exceeds the precision.
85120         * doc/posix-functions/fprintf.texi: Update.
85121         * doc/posix-functions/printf.texi: Update.
85122         * doc/posix-functions/snprintf.texi: Update.
85123         * doc/posix-functions/sprintf.texi: Update.
85124         * doc/posix-functions/vfprintf.texi: Update.
85125         * doc/posix-functions/vprintf.texi: Update.
85126         * doc/posix-functions/vsnprintf.texi: Update.
85127         * doc/posix-functions/vsprintf.texi: Update.
85128         * doc/glibc-functions/obstack_printf.texi: Update.
85129         * doc/glibc-functions/obstack_vprintf.texi: Update.
85131 2009-02-26  Eric Blake  <ebb9@byu.net>
85133         stdlib: favor compiler check of random.h
85134         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
85135         to avoid an ObjC random.h installed by Swarm.
85137 2009-02-26  Bruno Haible  <bruno@clisp.org>
85139         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
85140         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
85141         Reported by Gary V. Vaughan <gary@gnu.org>.
85143 2009-02-26  Bruno Haible  <bruno@clisp.org>
85145         Fix *printf behaviour regarding the %ls directive.
85146         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
85147         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
85148         NEED_PRINTF_DIRECTIVE_LS.
85149         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
85150         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
85151         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
85152         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
85153         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
85154         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
85155         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
85156         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
85157         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
85158         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
85159         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
85160         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
85161         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
85162         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
85163         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
85164         * doc/posix-functions/fprintf.texi: Update.
85165         * doc/posix-functions/printf.texi: Update.
85166         * doc/posix-functions/snprintf.texi: Update.
85167         * doc/posix-functions/sprintf.texi: Update.
85168         * doc/posix-functions/vfprintf.texi: Update.
85169         * doc/posix-functions/vprintf.texi: Update.
85170         * doc/posix-functions/vsnprintf.texi: Update.
85171         * doc/posix-functions/vsprintf.texi: Update.
85172         * doc/glibc-functions/obstack_printf.texi: Update.
85173         * doc/glibc-functions/obstack_vprintf.texi: Update.
85174         Reported by Eric Blake.
85176 2009-02-25  Bruno Haible  <bruno@clisp.org>
85178         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
85179         with known value.
85180         Reported by Gary V. Vaughan <gary@gnu.org>.
85182 2009-02-25  Bruno Haible  <bruno@clisp.org>
85184         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
85185         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
85186         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
85187         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
85188         Reported by Gary V. Vaughan <gary@gnu.org>.
85190 2009-02-25  Bruno Haible  <bruno@clisp.org>
85192         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
85193         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
85194         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
85195         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
85196         Reported by Gary V. Vaughan <gary@gnu.org>.
85198 2009-02-25  Eric Blake  <ebb9@byu.net>
85200         tests: skip fseek/ftell tests if ungetc is broken
85201         * m4/ungetc.m4: New file.
85202         * modules/fseek-tests: Split test, so ungetc dependency is
85203         separate from rest of test.
85204         * modules/fseeko-tests: Likewise.
85205         * modules/ftell-tests: Likewise.
85206         * modules/ftello-tests: Likewise.
85207         * tests/test-fseek.c (main): Isolate ungetc dependency.
85208         * tests/test-fseeko.c (main): Likewise.
85209         * tests/test-ftell.c (main): Likewise.
85210         * tests/test-ftello.c (main): Likewise.
85211         * tests/test-fseek2.sh: New file.
85212         * tests/test-fseeko2.sh: Likewise.
85213         * tests/test-ftell2.sh: Likewise.
85214         * tests/test-ftello2.sh: Likewise.
85216 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
85218         test-getaddrinfo: fix usage of skip return code 77
85219         * tests/test-gettaddrinfo.c: Return skip code 77 only
85220         for first occurrence of skip (4x77 is not 77)
85222 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
85224         strtod: avoid C99 decl-after-statement
85225         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
85227 2009-02-24  Eric Blake  <ebb9@byu.net>
85229         strtod: detect HP-UX 11.31 bug
85230         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
85231         Reported by Gary V. Vaughan.
85233 2009-02-23  Bruno Haible  <bruno@clisp.org>
85235         Fix invalid read past end of memory block.
85236         * lib/vasnprintf.c (DCHAR_SET): Define.
85237         (local_wcslen): Define only when needed.
85238         (local_strnlen, local_wcsnlen): New functions.
85239         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
85240         directives that involve a conversion ourselves.
85241         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
85242         wcsnlen, mbrtowc, wcrtomb.
85243         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
85244         * tests/test-vasprintf-posix.c (test_function): Likewise.
85245         * tests/test-snprintf-posix.h (test_function): Likewise.
85246         * tests/test-sprintf-posix.h (test_function): Likewise.
85247         Reported by Ben Pfaff <blp@cs.stanford.edu>.
85249 2009-02-22  Bruno Haible  <bruno@clisp.org>
85251         Implement new clarified decomposition of Hangul syllables.
85252         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
85253         of type LTV, return only a pairwise decomposition.
85254         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
85255         Likewise.
85256         * tests/uninorm/test-decomposition.c (main): Updated expected result.
85257         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
85258         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
85260 2009-02-22  Bruno Haible  <bruno@clisp.org>
85262         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
85263         zero-length results and shrink excess allocated memory.
85264         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
85265         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
85266         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
85267         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
85268         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
85269         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
85270         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
85271         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
85272         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
85273         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
85274         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
85275         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
85277 2009-02-21  Bruno Haible  <bruno@clisp.org>
85279         * doc/gnulib.texi: Include safe-alloc.texi earlier.
85280         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
85281         spaces after a period. Put a space between a macro name and its
85282         argument list. Trivial rewordings.
85283         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
85284         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
85285         (main): Return 0 explicitly.
85287 2009-02-21  Bruno Haible  <bruno@clisp.org>
85289         Tests for module 'uninorm/filter'.
85290         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
85291         * modules/uninorm/filter-tests: New file.
85293         New module 'uninorm/filter'.
85294         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
85295         uninorm_filter_flush, uninorm_filter_free): New declarations.
85296         * lib/uninorm/uninorm-filter.c: New file.
85297         * modules/uninorm/filter: New file.
85299 2009-02-21  Bruno Haible  <bruno@clisp.org>
85301         Tests for module 'uninorm/nfkc'.
85302         * tests/uninorm/test-nfkc.c: New file.
85303         * tests/uninorm/test-u8-nfkc.c: New file.
85304         * tests/uninorm/test-u16-nfkc.c: New file.
85305         * tests/uninorm/test-u32-nfkc.c: New file.
85306         * tests/uninorm/test-u32-nfkc-big.sh: New file.
85307         * tests/uninorm/test-u32-nfkc-big.c: New file.
85308         * modules/uninorm/nfkc-tests: New file.
85310         New module 'uninorm/nfkc'.
85311         * lib/uninorm/nfkc.c: New file.
85312         * modules/uninorm/nfkc: New file.
85314         Tests for module 'uninorm/nfkd'.
85315         * tests/uninorm/test-nfkd.c: New file.
85316         * tests/uninorm/test-u8-nfkd.c: New file.
85317         * tests/uninorm/test-u16-nfkd.c: New file.
85318         * tests/uninorm/test-u32-nfkd.c: New file.
85319         * tests/uninorm/test-u32-nfkd-big.sh: New file.
85320         * tests/uninorm/test-u32-nfkd-big.c: New file.
85321         * modules/uninorm/nfkd-tests: New file.
85323         New module 'uninorm/nfkd'.
85324         * lib/uninorm/nfkd.c: New file.
85325         * modules/uninorm/nfkd: New file.
85327         Tests for module 'uninorm/nfc'.
85328         * tests/uninorm/test-nfc.c: New file.
85329         * tests/uninorm/test-u8-nfc.c: New file.
85330         * tests/uninorm/test-u16-nfc.c: New file.
85331         * tests/uninorm/test-u32-nfc.c: New file.
85332         * tests/uninorm/test-u32-nfc-big.sh: New file.
85333         * tests/uninorm/test-u32-nfc-big.c: New file.
85334         * modules/uninorm/nfc-tests: New file.
85336         New module 'uninorm/nfc'.
85337         * lib/uninorm/nfc.c: New file.
85338         * modules/uninorm/nfc: New file.
85340         Tests for module 'uninorm/nfd'.
85341         * tests/uninorm/test-nfd.c: New file.
85342         * tests/uninorm/test-u8-nfd.c: New file.
85343         * tests/uninorm/test-u16-nfd.c: New file.
85344         * tests/uninorm/test-u32-nfd.c: New file.
85345         * tests/uninorm/test-u32-nfd-big.sh: New file.
85346         * tests/uninorm/test-u32-nfd-big.c: New file.
85347         * tests/uninorm/test-u32-normalize-big.h: New file.
85348         * tests/uninorm/test-u32-normalize-big.c: New file.
85349         * tests/uninorm/NormalizationTest.txt: New file, created from
85350         Unicode 5.1.0 NormalizationTest.txt.
85351         * modules/uninorm/nfd-tests: New file.
85353         New module 'uninorm/nfd'.
85354         * lib/uninorm/nfd.c: New file.
85355         * modules/uninorm/nfd: New file.
85357         New module 'uninorm/u32-normalize'.
85358         * lib/uninorm/u32-normalize.c: New file.
85359         * modules/uninorm/u32-normalize: New file.
85361         New module 'uninorm/u16-normalize'.
85362         * lib/uninorm/u16-normalize.c: New file.
85363         * modules/uninorm/u16-normalize: New file.
85365         New module 'uninorm/u8-normalize'.
85366         * lib/uninorm/u8-normalize.c: New file.
85367         * lib/uninorm/normalize-internal.h: New file.
85368         * lib/uninorm/u-normalize-internal.h: New file.
85369         * modules/uninorm/u8-normalize: New file.
85371         New module 'uninorm/decompose-internal'.
85372         * lib/uninorm/decompose-internal.c: New file.
85373         * modules/uninorm/decompose-internal: New file.
85375         Tests for module 'uninorm/composition'.
85376         * tests/uninorm/test-composition.c: New file.
85377         * modules/uninorm/composition-tests: New file.
85379         New module 'uninorm/composition'.
85380         * lib/uninorm/composition.c: New file.
85381         * lib/uninorm/composition-table.gperf: New file, generated by
85382         gen-uni-tables.
85383         * modules/uninorm/composition: New file.
85385         Tests for module 'uninorm/compat-decomposition'.
85386         * tests/uninorm/test-compat-decomposition.c: New file.
85387         * modules/uninorm/compat-decomposition-tests: New file.
85389         New module 'uninorm/compat-decomposition'.
85390         * lib/uninorm/decompose-internal.h: New file.
85391         * lib/uninorm/compat-decomposition.c: New file.
85392         * modules/uninorm/compat-decomposition: New file.
85394         Tests for module 'uninorm/canonical-decomposition'.
85395         * tests/uninorm/test-canonical-decomposition.c: New file.
85396         * modules/uninorm/canonical-decomposition-tests: New file.
85398         New module 'uninorm/canonical-decomposition'.
85399         * lib/uninorm/canonical-decomposition.c: New file.
85400         * modules/uninorm/canonical-decomposition: New file.
85402         Tests for module 'uninorm/decomposition'.
85403         * tests/uninorm/test-decomposition.c: New file.
85404         * modules/uninorm/decomposition-tests: New file.
85406         New module 'uninorm/decomposition'.
85407         * lib/uninorm/decomposition.c: New file.
85408         * modules/uninorm/decomposition: New file.
85410         New module 'uninorm/decomposition-table'.
85411         * lib/uninorm/decomposition-table.h: New file.
85412         * lib/uninorm/decomposition-table.c: New file.
85413         * lib/uninorm/decomposition-table1.h: New file, generated by
85414         gen-uni-tables.
85415         * lib/uninorm/decomposition-table2.h: New file, generated by
85416         gen-uni-tables.
85417         * modules/uninorm/decomposition-table: New file.
85419         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
85420         (UC_DECOMP_*): New enumeration items.
85421         (get_decomposition): New function.
85422         (struct decomp_table): New type.
85423         (output_decomposition, output_decomposition_tables): New functions.
85424         (unicode_composition_exclusions): New variable.
85425         (fill_composition_exclusions, debug_output_composition_tables): New
85426         functions.
85427         (main): Accept one more argument. Invoke fill_composition_exclusions.
85428         Output decomposition and composition tables.
85430         New module 'uninorm/base'.
85431         * lib/uninorm.h: New file.
85432         * lib/unictype.h: Update comment.
85433         * modules/uninorm/base: New file.
85435 2009-02-21  David Lutterkort  <lutter@redhat.com>
85437         Tests for module 'safe-alloc'.
85438         * tests/test-safe-alloc.c: New file.
85439         * modules/safe-alloc-tests: New file.
85441         New module 'safe-alloc'.
85442         * lib/safe-alloc.h: New file.
85443         * lib/safe-alloc.c: New file.
85444         * m4/safe-alloc.m4: New file.
85445         * modules/safe-alloc: New file.
85446         * doc/safe-alloc.texi: New file.
85447         * doc/gnulib.texi: Include it.
85448         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
85449         safe-alloc.
85451 2009-02-18  Bruno Haible  <bruno@clisp.org>
85453         Fix link error on non-glibc systems.
85454         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
85455         variable.
85456         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85458 2009-02-18  Jim Meyering  <meyering@redhat.com>
85460         fts: avoid used-uninitialized error due to recent change
85461         * lib/fts.c (fts_read): Guard uses of the new member,
85462         parent->fts_n_dirs_remaining, since it's not relevant for
85463         the parent of a directory specified on the command-line.
85465 2009-02-17  James Youngman  <jay@gnu.org>
85466             Bruno Haible  <bruno@clisp.org>
85468         * m4/include_next.m4: Reformulate comment.
85470 2009-02-16  Jim Meyering  <meyering@redhat.com>
85472         fts: add #if guards so that the fts_lgpl module still builds
85473         * lib/fts.c: Guard just-added hash-table-using parts with
85474         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
85475         Reported by Simon Josefsson.
85477 2009-02-15  Bruno Haible  <bruno@clisp.org>
85479         * modules/array-mergesort-tests: New file.
85480         * tests/test-array-mergesort.c: New file.
85482         New module 'array-mergesort'.
85483         * modules/array-mergesort: New file.
85484         * lib/array-mergesort.h: New file.
85486 2009-02-15  Bruno Haible  <bruno@clisp.org>
85488         Fix 2009-02-07 commit.
85489         * lib/gen-uni-tables.c (output_predicate, output_category,
85490         output_combclass, output_bidi_category, output_decimal_digit,
85491         output_digit, output_numeric, output_mirror, output_scripts,
85492         output_ident_category, output_simple_mapping): Fix format directives.
85493         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
85495 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
85497         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
85498         fixes are available from IBM.
85500 2009-02-13  Jim Meyering  <meyering@redhat.com>
85502         fts: arrange not to stat non-directories in more cases
85503         This makes GNU find (when it doesn't need to stat each file)
85504         *much* more efficient at traversing reiserfs file systems.
85505         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
85506         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
85507         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
85508         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
85509         (leaf_optimization_applies): New function.
85510         (LCO_hash, LCO_compare): New helper functions.
85511         (link_count_optimize_ok): New function.
85512         (fts_stat): Initialize new member (if dir).
85513         (fts_read): Decrement parent's fts_n_dirs_remaining count if
85514         we've just stat'ed a directory.  Skip the stat call when possible.
85515         ---
85516         Note this AFS-related exchange:
85517         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
85518         and note find's pioctl call in find/fstype.c.
85519         But that is necessary only if you want to enable the
85520         optimization for AFS, and for now, I don't.
85522         fts: move a function definition "up" (no semantic change)
85523         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
85524         "up" to precede upcoming use of a related function.
85526 2009-02-11  Jim Meyering  <meyering@redhat.com>
85528         fts: correct internal computation of nlinks (optimization-related)
85529         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
85530         whether the current entry is a directory, so don't test it.
85532 2009-02-10  Bruno Haible  <bruno@clisp.org>
85534         Tests for module 'uniwbrk/ulc-wordbreaks'.
85535         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
85536         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
85537         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
85539         Tests for module 'uniwbrk/u32-wordbreaks'.
85540         * modules/uniwbrk/u32-wordbreaks-tests: New file.
85541         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
85543         Tests for module 'uniwbrk/u16-wordbreaks'.
85544         * modules/uniwbrk/u16-wordbreaks-tests: New file.
85545         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
85547         Tests for module 'uniwbrk/u8-wordbreaks'.
85548         * modules/uniwbrk/u8-wordbreaks-tests: New file.
85549         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
85551 2009-02-10  Bruno Haible  <bruno@clisp.org>
85553         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
85554         property.
85555         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
85556         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
85557         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
85559 2009-02-10  Simon Josefsson  <simon@josefsson.org>
85561         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
85562         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
85564 2009-02-10  Bruno Haible  <bruno@clisp.org>
85566         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
85567         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
85568         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
85569         * lib/unilbrk/u8-possible-linebreaks.c: Update.
85570         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
85571         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
85573 2009-02-09  Simon Josefsson  <simon@josefsson.org>
85575         * lib/sockets.h (gl_fd_to_handle): New function.
85577         * tests/test-sockets.c: Call gl_fd_to_handle.
85579 2009-02-09  Bruno Haible  <bruno@clisp.org>
85581         * doc/havelib.texi: Document the conventions on bi-arch systems.
85583 2009-02-08  Bruno Haible  <bruno@clisp.org>
85585         Document the AC_LIB_LINKFLAGS macro.
85586         * doc/havelib.texi: New file, mostly written on 2005-05-24.
85587         * doc/gnulib.texi: Include it.
85589 2009-02-08  Bruno Haible  <bruno@clisp.org>
85591         Fix wrong order of sections, compared to TOC.
85592         * doc/gnulib.texi: Include relocatable-maint.texi after the
85593         "Regular expressions" node, not before.
85595 2009-02-08  Bruno Haible  <bruno@clisp.org>
85597         Tests for module 'unicase/totitle'.
85598         * modules/unicase/totitle-tests: New file.
85600         Tests for module 'unicase/tolower'.
85601         * modules/unicase/tolower-tests: New file.
85603         Tests for module 'unicase/toupper'.
85604         * modules/unicase/toupper-tests: New file.
85605         * tests/unicase/test-mapping-part1.h: New file.
85606         * tests/unicase/test-mapping-part2.h: New file.
85608         New module 'unicase/totitle'.
85609         * modules/unicase/totitle: New file.
85610         * lib/unicase/totitle.c: New file.
85612         New module 'unicase/tolower'.
85613         * modules/unicase/tolower: New file.
85614         * lib/unicase/tolower.c: New file.
85616         New module 'unicase/toupper'.
85617         * modules/unicase/toupper: New file.
85618         * lib/unicase/toupper.c: New file.
85619         * lib/unicase/simple-mapping.h: New file.
85621         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
85622         (mapping_table): New structure.
85623         (output_simple_mapping): New function.
85624         (main): Invoke output_simple_mapping_test and output_simple_mapping.
85625         * modules/gen-uni-tables (Description): Update.
85626         * lib/unicase/toupper.h: New file, automatically generated by
85627         gen-uni-tables.
85628         * lib/unicase/tolower.h: New file, automatically generated by
85629         gen-uni-tables.
85630         * lib/unicase/totitle.h: New file, automatically generated by
85631         gen-uni-tables.
85632         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
85633         gen-uni-tables.
85634         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
85635         gen-uni-tables.
85636         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
85637         gen-uni-tables.
85639         New module 'unicase/base'.
85640         * modules/unicase/base: New file.
85641         * lib/unicase.h: New file.
85643 2009-02-08  Bruno Haible  <bruno@clisp.org>
85645         New module 'uniwbrk/ulc-wordbreaks'.
85646         * modules/uniwbrk/ulc-wordbreaks: New file.
85647         * lib/uniwbrk/ulc-wordbreaks.c: New file.
85649         New module 'uniwbrk/u32-wordbreaks'.
85650         * modules/uniwbrk/u32-wordbreaks: New file.
85651         * lib/uniwbrk/u32-wordbreaks.c: New file.
85653         New module 'uniwbrk/u16-wordbreaks'.
85654         * modules/uniwbrk/u16-wordbreaks: New file.
85655         * lib/uniwbrk/u16-wordbreaks.c: New file.
85657         New module 'uniwbrk/u8-wordbreaks'.
85658         * modules/uniwbrk/u8-wordbreaks: New file.
85659         * lib/uniwbrk/u8-wordbreaks.c: New file.
85660         * lib/uniwbrk/u-wordbreaks.h: New file.
85662         New module 'uniwbrk/table'.
85663         * modules/uniwbrk/table: New file.
85664         * lib/uniwbrk/wbrktable.h: New file.
85665         * lib/uniwbrk/wbrktable.c: New file.
85667         New module 'uniwbrk/wordbreak-property'.
85668         * modules/uniwbrk/wordbreak-property: New file.
85669         * lib/uniwbrk/wordbreak-property.c: New file.
85671         * lib/gen-uni-tables.c (WBP_*): New enum items.
85672         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
85673         (unicode_org_wbp): New variable.
85674         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
85675         New functions.
85676         (wbp_table): New structure.
85677         (output_wbp, output_wbrk_tables): New functions.
85678         (main): Accept additional argument. Invoke fill_org_wbp,
85679         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
85680         output_wbrk_tables.
85681         * modules/gen-uni-tables (Description): Update.
85682         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
85683         gen-uni-tables.
85685         New module 'uniwbrk/base'.
85686         * modules/uniwbrk/base: New file.
85687         * lib/uniwbrk.h: New file.
85689 2009-02-08  Bruno Haible  <bruno@clisp.org>
85691         Update to Unicode 5.1.0.
85692         * lib/gen-uni-tables.c (is_property_alphabetic): Include
85693         U+2185..U+2188.
85694         (is_property_default_ignorable_code_point): Don't include characters
85695         of category Cc or Cs and not-a-characters.
85696         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
85697         U+0D79, U+109E, U+109F, U+A60C.
85698         * lib/unictype/bidi_of.h: Regenerated.
85699         * lib/unictype/blocks.h: Regenerated.
85700         * lib/unictype/categ_C.h: Regenerated.
85701         * lib/unictype/categ_Cf.h: Regenerated.
85702         * lib/unictype/categ_Cn.h: Regenerated.
85703         * lib/unictype/categ_L.h: Regenerated.
85704         * lib/unictype/categ_Ll.h: Regenerated.
85705         * lib/unictype/categ_Lm.h: Regenerated.
85706         * lib/unictype/categ_Lo.h: Regenerated.
85707         * lib/unictype/categ_Lu.h: Regenerated.
85708         * lib/unictype/categ_M.h: Regenerated.
85709         * lib/unictype/categ_Mc.h: Regenerated.
85710         * lib/unictype/categ_Me.h: Regenerated.
85711         * lib/unictype/categ_Mn.h: Regenerated.
85712         * lib/unictype/categ_N.h: Regenerated.
85713         * lib/unictype/categ_Nd.h: Regenerated.
85714         * lib/unictype/categ_Nl.h: Regenerated.
85715         * lib/unictype/categ_No.h: Regenerated.
85716         * lib/unictype/categ_P.h: Regenerated.
85717         * lib/unictype/categ_Pd.h: Regenerated.
85718         * lib/unictype/categ_Pe.h: Regenerated.
85719         * lib/unictype/categ_Pf.h: Regenerated.
85720         * lib/unictype/categ_Pi.h: Regenerated.
85721         * lib/unictype/categ_Po.h: Regenerated.
85722         * lib/unictype/categ_Ps.h: Regenerated.
85723         * lib/unictype/categ_S.h: Regenerated.
85724         * lib/unictype/categ_Sk.h: Regenerated.
85725         * lib/unictype/categ_Sm.h: Regenerated.
85726         * lib/unictype/categ_So.h: Regenerated.
85727         * lib/unictype/categ_of.h: Regenerated.
85728         * lib/unictype/combining.h: Regenerated.
85729         * lib/unictype/ctype_alnum.h: Regenerated.
85730         * lib/unictype/ctype_alpha.h: Regenerated.
85731         * lib/unictype/ctype_graph.h: Regenerated.
85732         * lib/unictype/ctype_lower.h: Regenerated.
85733         * lib/unictype/ctype_print.h: Regenerated.
85734         * lib/unictype/ctype_punct.h: Regenerated.
85735         * lib/unictype/ctype_upper.h: Regenerated.
85736         * lib/unictype/decdigit.h: Regenerated.
85737         * lib/unictype/digit.h: Regenerated.
85738         * lib/unictype/mirror.h: Regenerated.
85739         * lib/unictype/numeric.h: Regenerated.
85740         * lib/unictype/pr_alphabetic.h: Regenerated.
85741         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
85742         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
85743         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
85744         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
85745         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
85746         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
85747         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
85748         * lib/unictype/pr_combining.h: Regenerated.
85749         * lib/unictype/pr_dash.h: Regenerated.
85750         * lib/unictype/pr_decimal_digit.h: Regenerated.
85751         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
85752         * lib/unictype/pr_deprecated.h: Regenerated.
85753         * lib/unictype/pr_diacritic.h: Regenerated.
85754         * lib/unictype/pr_extender.h: Regenerated.
85755         * lib/unictype/pr_format_control.h: Regenerated.
85756         * lib/unictype/pr_grapheme_base.h: Regenerated.
85757         * lib/unictype/pr_grapheme_extend.h: Regenerated.
85758         * lib/unictype/pr_grapheme_link.h: Regenerated.
85759         * lib/unictype/pr_id_continue.h: Regenerated.
85760         * lib/unictype/pr_id_start.h: Regenerated.
85761         * lib/unictype/pr_ideographic.h: Regenerated.
85762         * lib/unictype/pr_ignorable_control.h: Regenerated.
85763         * lib/unictype/pr_lowercase.h: Regenerated.
85764         * lib/unictype/pr_math.h: Regenerated.
85765         * lib/unictype/pr_numeric.h: Regenerated.
85766         * lib/unictype/pr_other_alphabetic.h: Regenerated.
85767         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
85768         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
85769         * lib/unictype/pr_other_id_continue.h: Regenerated.
85770         * lib/unictype/pr_other_lowercase.h: Regenerated.
85771         * lib/unictype/pr_other_math.h: Regenerated.
85772         * lib/unictype/pr_punctuation.h: Regenerated.
85773         * lib/unictype/pr_sentence_terminal.h: Regenerated.
85774         * lib/unictype/pr_soft_dotted.h: Regenerated.
85775         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
85776         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
85777         * lib/unictype/pr_unified_ideograph.h: Regenerated.
85778         * lib/unictype/pr_uppercase.h: Regenerated.
85779         * lib/unictype/pr_xid_continue.h: Regenerated.
85780         * lib/unictype/pr_xid_start.h: Regenerated.
85781         * lib/unictype/pr_zero_width.h: Regenerated.
85782         * lib/unictype/scripts.h: Regenerated.
85783         * lib/unictype/scripts_byname.gperf: Regenerated.
85784         * lib/unictype/sy_java_ident.h: Regenerated.
85785         * lib/unilbrk/lbrkprop1.h: Regenerated.
85786         * lib/unilbrk/lbrkprop2.h: Regenerated.
85787         * tests/unictype/test-categ_C.c: Regenerated.
85788         * tests/unictype/test-categ_Cf.c: Regenerated.
85789         * tests/unictype/test-categ_Cn.c: Regenerated.
85790         * tests/unictype/test-categ_L.c: Regenerated.
85791         * tests/unictype/test-categ_Ll.c: Regenerated.
85792         * tests/unictype/test-categ_Lm.c: Regenerated.
85793         * tests/unictype/test-categ_Lo.c: Regenerated.
85794         * tests/unictype/test-categ_Lu.c: Regenerated.
85795         * tests/unictype/test-categ_M.c: Regenerated.
85796         * tests/unictype/test-categ_Mc.c: Regenerated.
85797         * tests/unictype/test-categ_Me.c: Regenerated.
85798         * tests/unictype/test-categ_Mn.c: Regenerated.
85799         * tests/unictype/test-categ_N.c: Regenerated.
85800         * tests/unictype/test-categ_Nd.c: Regenerated.
85801         * tests/unictype/test-categ_Nl.c: Regenerated.
85802         * tests/unictype/test-categ_No.c: Regenerated.
85803         * tests/unictype/test-categ_P.c: Regenerated.
85804         * tests/unictype/test-categ_Pd.c: Regenerated.
85805         * tests/unictype/test-categ_Pe.c: Regenerated.
85806         * tests/unictype/test-categ_Pf.c: Regenerated.
85807         * tests/unictype/test-categ_Pi.c: Regenerated.
85808         * tests/unictype/test-categ_Po.c: Regenerated.
85809         * tests/unictype/test-categ_Ps.c: Regenerated.
85810         * tests/unictype/test-categ_S.c: Regenerated.
85811         * tests/unictype/test-categ_Sk.c: Regenerated.
85812         * tests/unictype/test-categ_Sm.c: Regenerated.
85813         * tests/unictype/test-categ_So.c: Regenerated.
85814         * tests/unictype/test-ctype_alnum.c: Regenerated.
85815         * tests/unictype/test-ctype_alpha.c: Regenerated.
85816         * tests/unictype/test-ctype_graph.c: Regenerated.
85817         * tests/unictype/test-ctype_lower.c: Regenerated.
85818         * tests/unictype/test-ctype_print.c: Regenerated.
85819         * tests/unictype/test-ctype_punct.c: Regenerated.
85820         * tests/unictype/test-ctype_upper.c: Regenerated.
85821         * tests/unictype/test-decdigit.h: Regenerated.
85822         * tests/unictype/test-digit.h: Regenerated.
85823         * tests/unictype/test-numeric.h: Regenerated.
85824         * tests/unictype/test-pr_alphabetic.c: Regenerated.
85825         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
85826         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
85827         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
85828         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
85829         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
85830         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
85831         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
85832         * tests/unictype/test-pr_combining.c: Regenerated.
85833         * tests/unictype/test-pr_dash.c: Regenerated.
85834         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
85835         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
85836         * tests/unictype/test-pr_deprecated.c: Regenerated.
85837         * tests/unictype/test-pr_diacritic.c: Regenerated.
85838         * tests/unictype/test-pr_extender.c: Regenerated.
85839         * tests/unictype/test-pr_format_control.c: Regenerated.
85840         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
85841         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
85842         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
85843         * tests/unictype/test-pr_id_continue.c: Regenerated.
85844         * tests/unictype/test-pr_id_start.c: Regenerated.
85845         * tests/unictype/test-pr_ideographic.c: Regenerated.
85846         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
85847         * tests/unictype/test-pr_lowercase.c: Regenerated.
85848         * tests/unictype/test-pr_math.c: Regenerated.
85849         * tests/unictype/test-pr_numeric.c: Regenerated.
85850         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
85851         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
85852         Regenerated.
85853         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
85854         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
85855         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
85856         * tests/unictype/test-pr_other_math.c: Regenerated.
85857         * tests/unictype/test-pr_punctuation.c: Regenerated.
85858         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
85859         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
85860         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
85861         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
85862         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
85863         * tests/unictype/test-pr_uppercase.c: Regenerated.
85864         * tests/unictype/test-pr_xid_continue.c: Regenerated.
85865         * tests/unictype/test-pr_xid_start.c: Regenerated.
85866         * tests/unictype/test-pr_zero_width.c: Regenerated.
85868         Update to Unicode 5.1.0.
85869         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
85870         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
85871         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
85872         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
85873         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
85874         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
85875         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
85876         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
85877         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
85878         (nonspacing_table_ind): Update.
85879         * tests/uniwidth/test-uc_width2.sh: Update expected result.
85881         Update to Unicode 5.1.0.
85882         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
85883         code transform.
85884         * lib/uniname/uniname.c (unicode_character_name,
85885         unicode_name_character): Add the range 0x1Fxxx to the code transform.
85886         * lib/uniname/uninames.h: Regenerated.
85887         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
85889 2009-02-07  Bruno Haible  <bruno@clisp.org>
85891         Merge gen-ctype and gen-lbrk into a single program.
85892         * lib/gen-uni-tables.c: New file, incorporating
85893         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
85894         Add directory prefixes to the names of the generated files.
85895         * lib/unictype/gen-ctype.c: Remove file.
85896         * lib/unilbrk/gen-lbrk.c: Remove file.
85897         * modules/gen-uni-tables: New file.
85898         * modules/unictype/gen-ctype: Remove file.
85899         * modules/unilbrk/gen-lbrk: Remove file.
85901 2009-02-07  Bruno Haible  <bruno@clisp.org>
85903         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
85905         New module 'unistr/u32-strcoll'.
85906         * modules/unistr/u32-strcoll: New file.
85907         * lib/unistr/u32-strcoll.c: New file.
85909         New module 'unistr/u16-strcoll'.
85910         * modules/unistr/u16-strcoll: New file.
85911         * lib/unistr/u16-strcoll.c: New file.
85913         New module 'unistr/u8-strcoll'.
85914         * modules/unistr/u8-strcoll: New file.
85915         * lib/unistr/u8-strcoll.c: New file.
85916         * lib/unistr/u-strcoll.h: New file.
85918 2009-02-07  Bruno Haible  <bruno@clisp.org>
85920         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
85921         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
85922         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
85923         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
85924         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
85925         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
85927 2009-02-07  Bruno Haible  <bruno@clisp.org>
85929         Make 64-bit clean.
85930         * lib/unictype/gen-ctype.c (output_predicate, output_category,
85931         output_combclass, output_bidi_category, output_decimal_digit,
85932         output_digit, output_numeric, output_mirror, output_scripts,
85933         output_ident_category): Use proper width specifier in format strings.
85935 2009-02-07  Bruno Haible  <bruno@clisp.org>
85937         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
85938         failure behaviour.
85940 2009-02-07  Jim Meyering  <meyering@redhat.com>
85942         regex: avoid compilation failure with upcoming gcc-4.4
85943         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
85944         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
85945         "... error: integer overflow in preprocessor expression".
85947 2009-02-05  Ben Pfaff  <blp@gnu.org>
85949         Fix link errors on Windows when close module is used.
85950         * modules/close: Add $(LIB_CLOSE) to Link section.
85951         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
85952         $(LIB_CLOSE) on Windows.
85954 2009-02-05  Jim Meyering  <meyering@redhat.com>
85956         still avoid unused-parameter warnings, but do it cleanly
85957         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
85958         (get_fs_usage): Cast to void instead.
85959         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
85960         (dev_from_mount_options, read_file_system_list): Cast to void.
85961         Prompted by Bruno Haible.
85963 2009-02-04  Jim Meyering  <meyering@redhat.com>
85965         fsusage.c: correct copyright year
85966         * lib/fsusage.c: Reflect year in which the change is pushed into
85968         avoid misc. warnings
85969         * lib/fsusage.c (UNUSED_PARAM): Define.
85970         (get_fs_usage): Mark parameter "disk" as unused.
85971         * lib/getugroups.c (getgrent): Use "void" in prototype.
85972         * lib/mountlist.c: Mark unused parameters.
85973         (read_file_system_list): Declare a local with "const".
85974         * lib/nanosleep.c (getnow): Declare static.
85975         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
85977         dirfd: set errno upon failure
85978         * lib/dirfd.c: Include <errno.h>.
85979         Set errno to ENOTSUP when returning -1.
85980         * modules/dirfd (Depends-on): Add errno.
85981         Suggested by John Kodis <kodis@comcast.net>.
85983 2009-02-01  Bruno Haible  <bruno@clisp.org>
85985         Don't assume sizeof (long) >= sizeof (void *).
85986         * lib/memcmp.c: Include stdint.h.
85987         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
85988         srcp2 to 'const byte *'.
85989         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
85990         types to uintptr_t.
85991         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
85992         * modules/memcmp (Depends-on): Add stdint.
85993         Reported by Ozkan Sezer <sezeroz@gmail.com>.
85995 2009-01-30  Eric Blake  <ebb9@byu.net>
85997         fix more require-before-expand issues
85998         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
85999         expand, AC_PROG_AWK.
86000         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
86002 2009-01-28  Eric Blake  <ebb9@byu.net>
86004         version-etc: use consistent URL formatting
86005         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
86006         Improve formatting.  Use fputs for string without %.
86008 2009-01-28  Jim Meyering  <meyering@redhat.com>
86010         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
86011         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
86012         "underquoted definition of NAME" from autoconf-2.59.
86014 2009-01-28  Bruno Haible  <bruno@clisp.org>
86016         * doc/gnulib.texi: Add "Obsolete modules" to index.
86018 2009-01-28  Jim Meyering  <meyering@redhat.com>
86020         useless-if-before-free: recognize more variants
86021         * build-aux/useless-if-before-free: Also recognize e.g.,
86022         if (NULL != p) free (p);
86024 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
86026         test-getaddrinfo: skip (don't fail) this test when there's no network
86027         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
86028         on the presumption that it means you lack network access.
86030 2009-01-26  Jim Meyering  <meyering@redhat.com>
86032         fflush: avoid warnings on modern systems
86033         * lib/fflush.c (rpl_fflush): Move declarations of locals,
86034         pos and result, into scopes where they're used.
86036 2009-01-26  Eric Blake  <ebb9@byu.net>
86038         Silence warning reintroduced by recent extensions patch.
86039         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
86040         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
86041         autoconf.
86043         Backport improved autoconf semantics of AC_DEFUN_ONCE.
86044         * m4/00gnulib.m4: New file.
86045         * gnulib-tool (func_get_filelist): Always use it.
86046         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
86047         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
86049 2009-01-25  Bruno Haible  <bruno@clisp.org>
86051         Make test-quotearg work on MacOS X and AIX.
86052         * tests/test-quotearg.sh: New file.
86053         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
86054         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
86055         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
86056         include <libintl.h>.
86057         (fake_locale): Remove variable.
86058         (gettext, dgettext, dcgettext): Remove functions.
86059         (main): Instead of setting a fake locale, set a real locale. Call
86060         textdomain and bindtextdomain.
86061         * modules/quotearg-tests (Files): Add the new files.
86062         (Depends-on): Add gettext, setenv, unsetenv.
86063         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
86064         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
86065         Augment TESTS_ENVIRONMENT.
86067 2009-01-25  Bruno Haible  <bruno@clisp.org>
86069         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
86070         fr_FR.ISO8859-1 locale on MacOS X.
86071         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
86072         ja_JP.eucJP locale on MacOS X.
86073         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
86074         zh_CN.GB18030 locale on MacOS X.
86076 2009-01-25  Bruno Haible  <bruno@clisp.org>
86078         Avoid link errors on MacOS X 10.3.
86079         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
86080         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
86082 2009-01-25  Bruno Haible  <bruno@clisp.org>
86084         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86085         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
86086         * modules/pipe (Files): Remove m4/posix_spawn.m4.
86087         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86088         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
86089         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86090         posix_spawnattr_init, posix_spawnattr_setsigmask,
86091         posix_spawnattr_setflags, posix_spawnattr_destroy.
86093         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86094         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
86095         * modules/execute (Files): Remove m4/posix_spawn.m4.
86096         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86097         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86098         posix_spawnattr_init, posix_spawnattr_setsigmask,
86099         posix_spawnattr_setflags, posix_spawnattr_destroy.
86101 2009-01-25  Bruno Haible  <bruno@clisp.org>
86103         * lib/glthread/threadlib.c: Include <stdlib.h>.
86105 2009-01-25  Bruno Haible  <bruno@clisp.org>
86107         * lib/glthread/threadlib.c (dummy): New declaration.
86109 2009-01-25  Bruno Haible  <bruno@clisp.org>
86111         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
86112         multibyte characters also for the GB18030 encoding. Don't crash when
86113         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
86115 2009-01-25  Bruno Haible  <bruno@clisp.org>
86117         Avoid redefining 'struct random_data' on OSF/1 5.1.
86118         * lib/stdlib.in.h: Include <random.h> if it exists.
86119         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
86120         HAVE_RANDOM_H. Include <random.h> when testing whether
86121         'struct random_data' exists.
86122         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
86124 2009-01-25  Bruno Haible  <bruno@clisp.org>
86126         Don't install charset.alias on MacOS X >= 10.3.
86127         * lib/localcharset.c (DARWIN7): New macro.
86128         (get_charset_aliases): Hardcode the result for Darwin7.
86129         * modules/localcharset (install-exec-local): Don't install
86130         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
86132 2009-01-25  Bruno Haible  <bruno@clisp.org>
86134         Don't install charset.alias on mingw and Cygwin.
86135         * modules/localcharset (install-exec-local): Don't install
86136         charset.alias on mingw and Cygwin, if the file does not yet exist.
86137         The result for these platforms is hardcoded in localcharset.c.
86139 2009-01-25  Bruno Haible  <bruno@clisp.org>
86141         Make it possible again to use AC_GNU_SOURCE together with gnulib.
86142         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
86143         before requiring AC_USE_SYSTEM_EXTENSIONS.
86145 2009-01-25  Jim Meyering  <meyering@redhat.com>
86147         c-strtod: avoid warnings
86148         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
86149         "assignment discards qualifiers from pointer target type" warnings.
86151 2009-01-24  Bruno Haible  <bruno@clisp.org>
86153         Add support for non-UTF-8 locales on MacOS X.
86154         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
86155         canonical encodings. For Darwin 7 and newer, don't map traditional
86156         encodings to UTF-8.
86157         Reported by Vincent Lefevre <vincent@vinc17.org>
86158         at <http://savannah.gnu.org/bugs/?25235>.
86160 2009-01-24  Bruno Haible  <bruno@clisp.org>
86162         * doc/gnulib.texi (Obsolete modules): New section.
86163         Reported by Mike Frysinger <vapier@gentoo.org>.
86165 2009-01-24  Bruno Haible  <bruno@clisp.org>
86167         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
86168         (%.dvi): New rule.
86170 2009-01-24  Bruno Haible  <bruno@clisp.org>
86172         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
86173         Reported by Eric Blake.
86175 2009-01-24  Bruno Haible  <bruno@clisp.org>
86177         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
86178         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
86179         Reported by Gary V. Vaughan <gary@gnu.org>.
86181 2009-01-24  Bruno Haible  <bruno@clisp.org>
86183         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
86185 2009-01-23  Bruno Haible  <bruno@clisp.org>
86187         Make c-strtod, c-strtold usable in libraries.
86188         * lib/c-strtod.c: Include string.h instead of xalloc.h.
86189         (C_STRTOD): Call strdup instead of xstrdup.
86190         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
86191         * modules/c-strtold (Depends-on): Likewise.
86192         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
86193         * NEWS: Mention the change.
86194         Reported by Michael Gold <mgold@ncf.ca>.
86196 2009-01-23  Jim Meyering  <meyering@redhat.com>
86198         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
86199         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
86200         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
86202 2009-01-23  Simon Josefsson  <simon@josefsson.org>
86204         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
86205         GNU CoreUtils.
86206         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
86207         * modules/version-etc (Description): Update.
86209 2009-01-22  Bruno Haible  <bruno@clisp.org>
86211         Cache the C locale object.
86212         * lib/c-strtod.c (c_locale_cache): New variable.
86213         (c_locale): New function.
86214         (C_STRTOD): Use it, and don't call freelocale.
86215         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
86216         Suggested by Paolo Bonzini.
86218 2009-01-21  Bruno Haible  <bruno@clisp.org>
86220         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
86221         conditions other than overflow.
86223 2009-01-21  Bruno Haible  <bruno@clisp.org>
86225         * lib/c-strtod.c: Include errno.h.
86226         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
86227         value from STRTOD_L and STRTOD.
86229 2009-01-21  Bruno Haible  <bruno@clisp.org>
86230         and Jim Meyering  <meyering@redhat.com>
86232         nanosleep: skip configure test (fail it) for apple universal builds
86233         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
86234         universal builds, assume that nanosleep does not work.
86235         * modules/nanosleep (Depends-on): Add multiarch.
86237         mktime: skip configure test (fail it) for apple universal builds
86238         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
86239         universal builds, assume that mktime does not work.
86240         * modules/mktime (Depends-on): Add multiarch.
86242 2009-01-21  Eric Blake  <ebb9@byu.net>
86244         multiarch: avoid expand-before-require warning
86245         * modules/multiarch (configure.ac): Require, rather than expand,
86246         gl_MULTIARCH.
86247         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
86248         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
86249         enforce that all clients require it.  Partial reversion of
86250         2008-12-29 patch.
86252         error: avoid expand-before-require warning
86253         * modules/errno (configure.ac): Require, rather than expand,
86254         gl_HEADER_ERRNO_H.
86255         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
86256         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
86257         enforce that all clients require it.
86259         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
86260         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
86261         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
86262         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
86264 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
86266         Revert:
86267         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86269         regex: do not depend on obsolete modules.
86270         * modules/regex: Remove memcmp and memmove.
86272 2009-01-20  Bruno Haible  <bruno@clisp.org>
86274         Make the 'link' module link on Windows NT 4.
86275         * lib/link.c (_WIN32_WINNT): Don't define.
86276         (CreateHardLinkFuncType): New type.
86277         (CreateHardLinkFunc, initialized): New variables.
86278         (initialize): New function.
86279         (link): Invoke CreateHardLink indirectly through the function pointer.
86281 2009-01-20  Bruno Haible  <bruno@clisp.org>
86283         Fix compilation failure on mingw.
86284         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
86286 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
86288         * doc/c-strtod.texi: Mention a couple of restrictions.
86290 2009-01-20  Jim Meyering  <meyering@redhat.com>
86292         gettimeofday: move more declarations out of functions
86293         * lib/gettimeofday.c: Move extern declarations of tzset and
86294         gmtime out of containing functions.  Prompted by Bruno Haible.
86296 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86298         regex: do not depend on obsolete modules.
86299         * modules/regex: Remove memcmp and memmove.
86301 2009-01-19  Bruno Haible  <bruno@clisp.org>
86303         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86304         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
86305         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86306         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
86307         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
86309 2009-01-19  Bruno Haible  <bruno@clisp.org>
86311         * tests/test-link.c: Include <errno.h>.
86312         (main): Exit with code 77 when a hard link cannot be created due to
86313         the file system.
86314         * tests/test-link.sh: Skip test when a hard link cannot be created due
86315         to the file system.
86316         Suggested by Eric Blake.
86318 2009-01-19  Martin Lambers  <marlam@marlam.de>
86320         * modules/link-tests: New file.
86321         * tests/test-link.sh: New file.
86322         * tests/test-link.c: New file.
86324 2009-01-19  Eric Blake  <ebb9@byu.net>
86326         doc: mention another function added in cygwin 1.7.0
86327         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
86328         Another new function in cygwin 1.7.
86330 2009-01-19  Bruno Haible  <bruno@clisp.org>
86332         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86333         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
86334         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
86335         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86336         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
86337         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
86338         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
86339         * m4/md4.m4 (gl_MD4): Likewise.
86340         * m4/md5.m4 (gl_MD5): Likewise.
86341         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
86342         * m4/sha1.m4 (gl_SHA1): Likewise.
86343         * m4/sha256.m4 (gl_SHA256): Likewise.
86344         * m4/sha512.m4 (gl_SHA512): Likewise.
86346 2009-01-19  Bruno Haible  <bruno@clisp.org>
86348         * modules/uniname/uniname-tests (Depends-on): Add progname.
86349         * tests/uniname/test-uninames.c: Include progname.h.
86350         (main): Call set_program_name.
86352         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
86353         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
86354         (main): Call set_program_name.
86356         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
86357         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
86358         (main): Call set_program_name.
86360         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
86361         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
86362         (main): Call set_program_name.
86364         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
86365         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
86366         (main): Call set_program_name.
86368         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
86369         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
86370         (main): Call set_program_name.
86372         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
86373         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
86374         (main): Call set_program_name.
86376         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
86377         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
86378         (main): Call set_program_name.
86380         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
86381         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
86382         (main): Call set_program_name.
86384 2009-01-19  Eric Blake  <ebb9@byu.net>
86386         test-unistd: test previous patch
86387         * tests/test-unistd.c: Test *_FILENO macros.
86389         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
86390         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86391         Guarantee a definition.
86392         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
86393         * modules/unistd-safer (Depends-on): Add dependency on unistd.
86394         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
86395         * lib/dup-safer.c (STDERR_FILENO): Likewise.
86396         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86397         Likewise.
86398         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
86399         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
86400         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86401         Likewise.
86402         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
86403         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
86404         (STDERR_FILENO): Likewise.
86405         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
86406         (STDERR_FILENO): Likewise.
86407         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
86408         (STDERR_FILENO): Likewise.
86409         Reported by Elbert Pol.
86411 2009-01-19  Eric Blake  <ebb9@byu.net>
86413         doc: mention more functions added in cygwin 1.7.0
86414         * doc/posix-functions/abort.texi (abort): Update wording related
86415         to cygwin.
86416         * doc/posix-functions/daylight.texi (daylight): Likewise.
86417         * doc/posix-functions/optarg.texi (optarg): Likewise.
86418         * doc/posix-functions/optarg.texi (opterr): Likewise.
86419         * doc/posix-functions/optarg.texi (optind): Likewise.
86420         * doc/posix-functions/optarg.texi (optopt): Likewise.
86421         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
86422         worked in 1.5.x, and was withdrawn in 1.7.
86423         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
86424         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
86425         cygwin versions.
86426         * doc/posix-functions/perror.texi (perror): Likewise.
86427         * doc/posix-functions/printf.texi (printf): Likewise.
86428         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
86429         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
86430         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
86431         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
86432         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
86433         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
86434         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
86435         Likewise.
86436         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
86437         Likewise.
86438         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
86439         this function.
86440         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
86441         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
86442         Likewise.
86443         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
86444         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
86445         * doc/posix-functions/confstr.texi (confstr): Likewise.
86446         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
86447         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
86448         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
86449         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
86450         * doc/posix-functions/fputws.texi (fputws): Likewise.
86451         * doc/posix-functions/fwide.texi (fwide): Likewise.
86452         * doc/posix-functions/getwc.texi (getwc): Likewise.
86453         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
86454         * doc/posix-functions/putwc.texi (putwc): Likewise.
86455         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
86456         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
86457         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
86458         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
86459         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
86460         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
86461         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
86462         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
86463         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
86464         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
86465         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
86467 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
86469         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
86470         * lib/ioctl.c: Include <sys/ioctl.h>.
86472 2009-01-19  Simon Josefsson  <simon@josefsson.org>
86474         * modules/getdate-tests (Depends-on): Add progname.
86475         * tests/test-getdate.c: Use progname module, to avoid link errors
86476         on non-glibc systems.
86478 2009-01-18  Simon Josefsson  <simon@josefsson.org>
86480         * modules/filenamecat-tests (Depends-on): Add progname.
86481         * modules/fstrcmp-tests (Depends-on): Likewise.
86483         * tests/test-filenamecat.c: Use progname module, to avoid link
86484         errors on non-glibc systems.
86485         * tests/test-fstrcmp.c: Likewise.
86487 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
86489         gettimeofday: avoid warning: nested extern declaration of 'localtime'
86490         * lib/gettimeofday.c: Move extern declaration out of function.
86492 2009-01-18  Bruno Haible  <bruno@clisp.org>
86494         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
86495         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
86496         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
86498 2009-01-18  Bruno Haible  <bruno@clisp.org>
86500         * lib/strftime.c (MEMPCPY): Remove unused macro.
86501         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
86503 2009-01-18  Martin Lambers  <marlam@marlam.de>
86505         New module 'link'.
86506         * lib/unistd.in.h (link): New declaration.
86507         * lib/link.c: New file.
86508         * m4/link.m4: New file.
86509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
86510         HAVE_LINK.
86511         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
86512         * modules/link: New file.
86513         * doc/posix-functions/link.texi: Mention the new module.
86515 2009-01-18  Bruno Haible  <bruno@clisp.org>
86517         * tests/test-avltree_list.c (main): Call set_program_name.
86518         * tests/test-avltree_oset.c (main): Likewise.
86519         * tests/test-obstack-printf.c: Include progname.h.
86520         (main): Call set_program_name.
86521         * tests/test-quotearg.c: Include progname.h.
86522         (main): Call set_program_name.
86523         * tests/test-xmemdup0.c: Include progname.h.
86524         (main): Call set_program_name.
86526 2009-01-18  Bruno Haible  <bruno@clisp.org>
86528         New module 'alphasort'.
86529         * lib/dirent.in.h (alphasort): New declaration.
86530         * lib/alphasort.c: New file, from glibc with modifications.
86531         * m4/alphasort.m4: New file.
86532         * modules/alphasort: New file.
86533         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
86534         HAVE_ALPHASORT.
86535         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
86536         HAVE_ALPHASORT.
86537         * doc/posix-functions/alphasort.texi: Mention the new module and the
86538         portability problems.
86540 2009-01-18  Bruno Haible  <bruno@clisp.org>
86542         New module 'scandir'.
86543         * lib/dirent.in.h (scandir): New declaration.
86544         * lib/scandir.c: New file, from glibc with modifications.
86545         * m4/scandir.m4: New file.
86546         * modules/scandir: New file.
86547         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
86548         HAVE_SCANDIR.
86549         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
86550         HAVE_SCANDIR.
86551         * doc/posix-functions/scandir.texi: Mention the new module and the
86552         portability problems.
86554 2009-01-17  Bruno Haible  <bruno@clisp.org>
86556         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
86557         Update documentation.
86558         (func_remove_suffix): Escape all dots in the suffix. Update
86559         documentation.
86560         (func_filter_filelist): Update documentation.
86561         Reported by Ralf Wildenhues.
86563 2009-01-17  Bruno Haible  <bruno@clisp.org>
86565         * modules/dprintf-posix-tests: New file.
86566         * tests/test-dprintf-posix.sh: New file.
86567         * tests/test-dprintf-posix.c: New file.
86569         New modules 'dprintf', 'dprintf-posix'.
86570         * lib/stdio.in.h (dprintf): New declaration.
86571         * lib/dprintf.c: New file.
86572         * m4/dprintf.m4: New file.
86573         * m4/dprintf-posix.m4: New file.
86574         * modules/dprintf: New file.
86575         * modules/dprintf-posix: New file.
86576         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
86577         HAVE_DPRINTF, REPLACE_DPRINTF.
86578         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
86579         HAVE_DPRINTF, REPLACE_DPRINTF.
86580         * doc/posix-functions/dprintf.texi: Mention the new modules.
86582 2009-01-17  Bruno Haible  <bruno@clisp.org>
86584         * modules/vdprintf-posix-tests: New file.
86585         * tests/test-vdprintf-posix.sh: New file.
86586         * tests/test-vdprintf-posix.c: New file.
86588         New modules 'vdprintf', 'vdprintf-posix'.
86589         * lib/stdio.in.h (vdprintf): New declaration.
86590         * lib/vdprintf.c: New file.
86591         * m4/vdprintf.m4: New file.
86592         * m4/vdprintf-posix.m4: New file.
86593         * modules/vdprintf: New file.
86594         * modules/vdprintf-posix: New file.
86595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
86596         HAVE_VDPRINTF, REPLACE_VDPRINTF.
86597         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
86598         HAVE_VDPRINTF, REPLACE_VDPRINTF.
86599         * doc/posix-functions/vdprintf.texi: Mention the new modules.
86601 2009-01-17  Bruno Haible  <bruno@clisp.org>
86603         Fix replacement of fopen on mingw.
86604         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
86605         mingw.
86607 2009-01-17  Bruno Haible  <bruno@clisp.org>
86609         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
86610         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
86612 2009-01-17  Bruno Haible  <bruno@clisp.org>
86614         Avoid test-fflush2.sh failure on mingw.
86615         * tests/test-fflush2.c: Include binary-io.h.
86616         (main): Put standard input into binary mode.
86617         * modules/fflush-tests (Depends-on): Add binary-io.
86619 2009-01-17  Bruno Haible  <bruno@clisp.org>
86621         * lib/wchar.in.h: In another particular situation, include only the
86622         system's <wchar.h> file.
86623         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
86624         Reported by Albert Chin-A-Young <china@thewrittenword.com>
86625         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
86627 2009-01-17  Bruno Haible  <bruno@clisp.org>
86629         Support for stripping executables in --enable-relocatable.
86630         * build-aux/install-reloc: Expect one more argument, or an environment
86631         variable RELOC_STRIP_PROG. If set, strip the destination program and
86632         its wrapper.
86633         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
86634         RELOC_STRIP_PROG.
86635         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
86636         to set RELOCATABLE_STRIP.
86637         * NEWS: Mention the new Makefile requirement.
86639 2009-01-17  Bruno Haible  <bruno@clisp.org>
86641         * build-aux/install-reloc: Remove debugging information left over by
86642         C compiler on MacOS X.
86644 2009-01-17  Bruno Haible  <bruno@clisp.org>
86646         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
86647         * lib/progreloc.c (find_executable): Fix type of pointer passed to
86648         _NSGetExecutablePath.
86650 2009-01-16  Jim Meyering  <meyering@redhat.com>
86652         strerror: avoid warnings about discarding "const"
86653         * lib/strerror.c (rpl_strerror): Instead of returning a const
86654         string from each and every "case", use a variable, and add a single
86655         cast after the switch.
86657 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
86659         * lib/arpa_inet.in.h: Add extern "C" block for C++.
86661 2009-01-16  Bruno Haible  <bruno@clisp.org>
86663         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
86664         array initializer syntax that also works in C++ mode.
86665         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
86667 2009-01-16  Jim Meyering  <meyering@redhat.com>
86669         poll: suppress a warning
86670         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
86671         to ignore "...unsigned expression < 0 is always false" warnings.
86673 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
86675         poll: remove declarations of unused variables
86676         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
86677         sockbuf and optlen.
86679 2009-01-15  Bruno Haible  <bruno@clisp.org>
86681         Make fflush-after-ungetc POSIX compliant on BSD systems.
86682         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
86683         (clear_ungetc_buffer): Implement also for other systems.
86684         (rpl_fflush): On glibc systems, invoke
86685         clear_ungetc_buffer_preserving_position. Otherwise, invoke
86686         clear_ungetc_buffer after fetching the stream's position, not before.
86688 2009-01-15  Bruno Haible  <bruno@clisp.org>
86690         Make fflush-after-ungetc POSIX compliant on glibc systems.
86691         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
86692         after ungetc.
86693         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
86694         (rpl_fflush): On glibc systems, simply call the system's fflush
86695         function after clearing the ungetc buffer.
86696         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
86697         Instead, lseek only to the end of file, then use the system's fseeko
86698         for the rest. On glibc systems, reset the EOF indicator bit.
86700 2009-01-15  Jim Meyering  <meyering@redhat.com>
86702         openmp.m4: revert quote-adding change, for portability to older autoconf
86703         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
86704         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
86705         Simon Josefsson noticed the problem when using autoconf-2.61.
86707 2009-01-15  Bruno Haible  <bruno@clisp.org>
86709         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
86710         * tests/test-fflush2.c (ASSERT): Always fail.
86711         (main): Add two tests for fflush() after ungetc(), taking into account
86712         the Austin Group's clarification.
86713         Suggested by Eric Blake.
86715 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
86717         mktime.m4: remove K&R-style function prototypes
86718         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
86719         for the Sun C++ compiler.
86721 2009-01-14  Bruno Haible  <bruno@clisp.org>
86723         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
86724         while including <wchar.h>.
86725         * lib/wchar.in.h: In two particular situations on HP-UX, include only
86726         the system's <wchar.h> file.
86727         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
86729 2009-01-14  Bruno Haible  <bruno@clisp.org>
86731         * m4/csharp.m4: Don't mention gettext on the serial number line.
86732         * m4/csharpexec.m4: Likewise.
86733         * m4/eaccess.m4: Likewise.
86734         * m4/javaexec.m4: Likewise.
86735         * m4/sig_atomic_t.m4: Likewise.
86736         * m4/tmpdir.m4: Likewise.
86737         * m4/intldir.m4: Bump gettext version.
86738         * m4/lib-ld.m4: Likewise.
86740 2009-01-14  Bruno Haible  <bruno@clisp.org>
86742         * lib/progname.c (set_program_name): Add more comments.
86743         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
86745 2009-01-14  Simon Josefsson  <simon@josefsson.org>
86747         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
86748         were sys/stat.h does not define it.
86750 2009-01-14  Jim Meyering  <meyering@redhat.com>
86752         many *.m4 files: improve m4 quoting
86753         99% of this change was performed by running the following commands:
86754         git ls-files | grep '\.m4$' | xargs perl -pi \
86755           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
86756           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
86757           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
86758           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
86759         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
86760         The remainder were to add Copyright dates, increment serial numbers,
86761         undo some changes in comments, exclude m4/intl.m4, and add quotes
86762         around the "1" in ",1" where the unusual spacing prohibited the
86763         above regexps from doing the job.  For more details, see
86764         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
86765         * m4/acl.m4: Modified.
86766         * m4/afs.m4: Likewise.
86767         * m4/alloca.m4: Likewise.
86768         * m4/argp.m4: Likewise.
86769         * m4/argz.m4: Likewise.
86770         * m4/atexit.m4: Likewise.
86771         * m4/bison-i18n.m4: Likewise.
86772         * m4/bison.m4: Likewise.
86773         * m4/byteswap.m4: Likewise.
86774         * m4/c-stack.m4: Likewise.
86775         * m4/c-strtod.m4: Likewise.
86776         * m4/calloc.m4: Likewise.
86777         * m4/canonicalize-lgpl.m4: Likewise.
86778         * m4/chown.m4: Likewise.
86779         * m4/clock_time.m4: Likewise.
86780         * m4/codeset.m4: Likewise.
86781         * m4/copy-file.m4: Likewise.
86782         * m4/csharp.m4: Likewise.
86783         * m4/csharpcomp.m4: Likewise.
86784         * m4/csharpexec.m4: Likewise.
86785         * m4/d-ino.m4: Likewise.
86786         * m4/d-type.m4: Likewise.
86787         * m4/dirfd.m4: Likewise.
86788         * m4/double-slash-root.m4: Likewise.
86789         * m4/eaccess.m4: Likewise.
86790         * m4/eealloc.m4: Likewise.
86791         * m4/environ.m4: Likewise.
86792         * m4/errno_h.m4: Likewise.
86793         * m4/euidaccess.m4: Likewise.
86794         * m4/execute.m4: Likewise.
86795         * m4/fatal-signal.m4: Likewise.
86796         * m4/fchdir.m4: Likewise.
86797         * m4/fcntl_h.m4: Likewise.
86798         * m4/fileblocks.m4: Likewise.
86799         * m4/filenamecat.m4: Likewise.
86800         * m4/findprog.m4: Likewise.
86801         * m4/flexmember.m4: Likewise.
86802         * m4/fnmatch.m4: Likewise.
86803         * m4/fopen.m4: Likewise.
86804         * m4/fpending.m4: Likewise.
86805         * m4/fprintf-posix.m4: Likewise.
86806         * m4/free.m4: Likewise.
86807         * m4/frexp.m4: Likewise.
86808         * m4/frexpl.m4: Likewise.
86809         * m4/fsusage.m4: Likewise.
86810         * m4/ftruncate.m4: Likewise.
86811         * m4/gc-camellia.m4: Likewise.
86812         * m4/gc-random.m4: Likewise.
86813         * m4/gc.m4: Likewise.
86814         * m4/getaddrinfo.m4: Likewise.
86815         * m4/getcwd-abort-bug.m4: Likewise.
86816         * m4/getcwd-path-max.m4: Likewise.
86817         * m4/getdate.m4: Likewise.
86818         * m4/getdomainname.m4: Likewise.
86819         * m4/getgroups.m4: Likewise.
86820         * m4/gethostname.m4: Likewise.
86821         * m4/gethrxtime.m4: Likewise.
86822         * m4/getline.m4: Likewise.
86823         * m4/getloadavg.m4: Likewise.
86824         * m4/getndelim2.m4: Likewise.
86825         * m4/getpass.m4: Likewise.
86826         * m4/gettext.m4: Likewise.
86827         * m4/gettime.m4: Likewise.
86828         * m4/gettimeofday.m4: Likewise.
86829         * m4/gnulib-common.m4: Likewise.
86830         * m4/group-member.m4: Likewise.
86831         * m4/host-os.m4: Likewise.
86832         * m4/iconv.m4: Likewise.
86833         * m4/iconv_open.m4: Likewise.
86834         * m4/inet_ntop.m4: Likewise.
86835         * m4/inet_pton.m4: Likewise.
86836         * m4/inline.m4: Likewise.
86837         * m4/intldir.m4: Likewise.
86838         * m4/intlmacosx.m4: Likewise.
86839         * m4/intmax.m4: Likewise.
86840         * m4/intmax_t.m4: Likewise.
86841         * m4/inttypes.m4: Likewise.
86842         * m4/inttypes_h.m4: Likewise.
86843         * m4/inttypes-pri.m4: Likewise.
86844         * m4/isapipe.m4: Likewise.
86845         * m4/isnand.m4: Likewise.
86846         * m4/isnanf.m4: Likewise.
86847         * m4/isnanl.m4: Likewise.
86848         * m4/javacomp.m4: Likewise.
86849         * m4/javaexec.m4: Likewise.
86850         * m4/jm-winsz1.m4: Likewise.
86851         * m4/jm-winsz2.m4: Likewise.
86852         * m4/lchown.m4: Likewise.
86853         * m4/lcmessage.m4: Likewise.
86854         * m4/ldexpl.m4: Likewise.
86855         * m4/lib-ld.m4: Likewise.
86856         * m4/lib-link.m4: Likewise.
86857         * m4/libsigsegv.m4: Likewise.
86858         * m4/link-follow.m4: Likewise.
86859         * m4/localcharset.m4: Likewise.
86860         * m4/locale-fr.m4: Likewise.
86861         * m4/locale-ja.m4: Likewise.
86862         * m4/locale-tr.m4: Likewise.
86863         * m4/locale-zh.m4: Likewise.
86864         * m4/lock.m4: Likewise.
86865         * m4/longlong.m4: Likewise.
86866         * m4/ls-mntd-fs.m4: Likewise.
86867         * m4/lstat.m4: Likewise.
86868         * m4/malloc.m4: Likewise.
86869         * m4/mathl.m4: Likewise.
86870         * m4/mbrtowc.m4: Likewise.
86871         * m4/mbstate_t.m4: Likewise.
86872         * m4/mbswidth.m4: Likewise.
86873         * m4/memchr.m4: Likewise.
86874         * m4/memcmp.m4: Likewise.
86875         * m4/memcpy.m4: Likewise.
86876         * m4/memmem.m4: Likewise.
86877         * m4/memmove.m4: Likewise.
86878         * m4/mempcpy.m4: Likewise.
86879         * m4/memrchr.m4: Likewise.
86880         * m4/memset.m4: Likewise.
86881         * m4/minmax.m4: Likewise.
86882         * m4/mkdir-slash.m4: Likewise.
86883         * m4/mkdtemp.m4: Likewise.
86884         * m4/mktime.m4: Likewise.
86885         * m4/mmap-anon.m4: Likewise.
86886         * m4/mountlist.m4: Likewise.
86887         * m4/nanosleep.m4: Likewise.
86888         * m4/nls.m4: Likewise.
86889         * m4/nocrash.m4: Likewise.
86890         * m4/open.m4: Likewise.
86891         * m4/openat.m4: Likewise.
86892         * m4/openmp.m4: Likewise.
86893         * m4/pathmax.m4: Likewise.
86894         * m4/perl.m4: Likewise.
86895         * m4/physmem.m4: Likewise.
86896         * m4/pipe.m4: Likewise.
86897         * m4/po.m4: Likewise.
86898         * m4/poll.m4: Likewise.
86899         * m4/posixtm.m4: Likewise.
86900         * m4/posixver.m4: Likewise.
86901         * m4/printf-frexp.m4: Likewise.
86902         * m4/printf-frexpl.m4: Likewise.
86903         * m4/printf-posix.m4: Likewise.
86904         * m4/printf-posix-rpl.m4: Likewise.
86905         * m4/printf.m4: Likewise.
86906         * m4/progtest.m4: Likewise.
86907         * m4/putenv.m4: Likewise.
86908         * m4/readline.m4: Likewise.
86909         * m4/readlink.m4: Likewise.
86910         * m4/readutmp.m4: Likewise.
86911         * m4/realloc.m4: Likewise.
86912         * m4/regex.m4: Likewise.
86913         * m4/relocatable.m4: Likewise.
86914         * m4/relocatable-lib.m4: Likewise.
86915         * m4/rename-dest-slash.m4: Likewise.
86916         * m4/rename.m4: Likewise.
86917         * m4/rmdir-errno.m4: Likewise.
86918         * m4/rmdir.m4: Likewise.
86919         * m4/roundf.m4: Likewise.
86920         * m4/roundl.m4: Likewise.
86921         * m4/rpmatch.m4: Likewise.
86922         * m4/save-cwd.m4: Likewise.
86923         * m4/selinux-selinux-h.m4: Likewise.
86924         * m4/setenv.m4: Likewise.
86925         * m4/settime.m4: Likewise.
86926         * m4/sig2str.m4: Likewise.
86927         * m4/sig_atomic_t.m4: Likewise.
86928         * m4/signalblocking.m4: Likewise.
86929         * m4/signbit.m4: Likewise.
86930         * m4/sigpipe.m4: Likewise.
86931         * m4/sockets.m4: Likewise.
86932         * m4/sockpfaf.m4: Likewise.
86933         * m4/st_dm_mode.m4: Likewise.
86934         * m4/stat-time.m4: Likewise.
86935         * m4/stdbool.m4: Likewise.
86936         * m4/stdint.m4: Likewise.
86937         * m4/stdint_h.m4: Likewise.
86938         * m4/stpcpy.m4: Likewise.
86939         * m4/stpncpy.m4: Likewise.
86940         * m4/strcase.m4: Likewise.
86941         * m4/strchrnul.m4: Likewise.
86942         * m4/strcspn.m4: Likewise.
86943         * m4/strdup.m4: Likewise.
86944         * m4/strftime.m4: Likewise.
86945         * m4/strndup.m4: Likewise.
86946         * m4/strnlen.m4: Likewise.
86947         * m4/strpbrk.m4: Likewise.
86948         * m4/strptime.m4: Likewise.
86949         * m4/strsep.m4: Likewise.
86950         * m4/strtod.m4: Likewise.
86951         * m4/strtoimax.m4: Likewise.
86952         * m4/strtok_r.m4: Likewise.
86953         * m4/strtol.m4: Likewise.
86954         * m4/strtoll.m4: Likewise.
86955         * m4/strtoul.m4: Likewise.
86956         * m4/strtoull.m4: Likewise.
86957         * m4/strtoumax.m4: Likewise.
86958         * m4/strverscmp.m4: Likewise.
86959         * m4/threadlib.m4: Likewise.
86960         * m4/timegm.m4: Likewise.
86961         * m4/tm_gmtoff.m4: Likewise.
86962         * m4/tmpdir.m4: Likewise.
86963         * m4/tmpfile.m4: Likewise.
86964         * m4/tzset.m4: Likewise.
86965         * m4/uintmax_t.m4: Likewise.
86966         * m4/unlinkdir.m4: Likewise.
86967         * m4/unlocked-io.m4: Likewise.
86968         * m4/uptime.m4: Likewise.
86969         * m4/userspec.m4: Likewise.
86970         * m4/utimbuf.m4: Likewise.
86971         * m4/utime.m4: Likewise.
86972         * m4/utimes-null.m4: Likewise.
86973         * m4/utimes.m4: Likewise.
86974         * m4/vararrays.m4: Likewise.
86975         * m4/vasnprintf.m4: Likewise.
86976         * m4/vfprintf-posix.m4: Likewise.
86977         * m4/vprintf-posix.m4: Likewise.
86978         * m4/wait-process.m4: Likewise.
86979         * m4/wchar_t.m4: Likewise.
86980         * m4/wint_t.m4: Likewise.
86981         * m4/write-any-file.m4: Likewise.
86982         * m4/yield.m4: Likewise.
86984 2009-01-13  Bruno Haible  <bruno@clisp.org>
86986         Avoid test-copy-file.sh failures when ACL support insufficient.
86987         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
86988         TESTS_ENVIRONMENT.
86989         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
86990         Reported by Jim Meyering.
86992 2009-01-13  Bruno Haible  <bruno@clisp.org>
86994         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
86995         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
86996         * modules/unistdio/u8-printf-parse (Files): Likewise.
86997         * modules/unistdio/u32-printf-parse (Files): Likewise.
86998         * modules/unistdio/ulc-printf-parse (Files): Likewise.
87000 2009-01-13  Simon Josefsson  <simon@josefsson.org>
87002         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
87003         and m4/inttypes_h.m4 too.
87005 2009-01-12  Eric Blake  <ebb9@byu.net>
87007         tests: IRIX 6.2 cc can't compile -0.0 into .data
87008         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
87009         rather than at compile-time.
87010         * tests/test-floorl.c (minus_zero): Likewise.
87011         * tests/test-frexpl.c (minus_zero): Likewise.
87012         * tests/test-isnan.c (minus_zerol): Likewise.
87013         * tests/test-isnanl.h (minus_zero): Likewise.
87014         * tests/test-ldexpl.c (minus_zero): Likewise.
87015         * tests/test-roundl.c (minus_zero): Likewise.
87016         * tests/test-signbit.c (minus_zerol): Likewise.
87017         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
87018         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
87019         * tests/test-truncl.c (minus_zero): Likewise.
87020         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
87021         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
87022         Reported by Tom G. Christensen and Nelson H. F. Beebe.
87024 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87026         regex: fix glibc bug 9697
87027         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
87028         handling.
87030 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87032         regex: fix glibc bug 697
87033         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
87034         being NULL also if there are no backreferences.
87036 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87038         regex: merge glibc changes
87039         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
87040         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
87041         re_string_skip_chars, re_string_reconstruct): Likewise.
87042         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
87044 2009-01-07  Jim Meyering  <meyering@redhat.com>
87046         poll: filter through cppi
87047         * lib/poll.c: Indent cpp directives to reflect nesting.
87049 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
87051         poll: don't return uninitialized
87052         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
87054 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
87056         avoid compile failure on AIX 6.1
87057         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
87058         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
87060 2009-01-04  Jim Meyering  <meyering@redhat.com>
87062         remove duplicate inclusion of <stdio.h>
87063         * tests/test-fprintf-posix.c: Likewise.
87064         * tests/test-printf-posix.c: Likewise.
87065         * tests/test-snprintf-posix.c: Likewise.
87066         * tests/test-sprintf-posix.c: Likewise.
87067         * tests/test-vasprintf-posix.c: Likewise.
87068         * tests/test-vfprintf-posix.c: Likewise.
87069         * tests/test-vprintf-posix.c: Likewise.
87070         * tests/test-vsnprintf-posix.c: Likewise.
87071         * tests/test-vsprintf-posix.c: Likewise.
87073 2009-01-03  Jim Meyering  <meyering@redhat.com>
87075         gnulib-tool: fix sed-based filtering
87076         * gnulib-tool (func_filter_filelist): Remove extra backslash
87077         in sed_fff_filter definition.
87079 2009-01-02  Jim Meyering  <meyering@redhat.com>
87081         strftime: avoid compilation failure on Solaris 2.6
87082         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
87083         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
87084         Don't #define mbrlen or mbsinit, since now they're guaranteed to
87085         be available.  Reported by Tom G. Christensen.  Details in
87086         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
87088 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87089             Bruno Haible  <bruno@clisp.org>
87091         Speed up gnulib-tool by doing more string processing through shell
87092         built-ins.
87093         * gnulib-tool (fast_func_append): New variable.
87094         (func_remove_prefix, func_remove_suffix): New functions.
87095         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
87096         (func_filter_filelist): New function.
87097         (func_get_dependencies): Use func_remove_suffix instead of sed.
87098         (func_get_automake_snippet): Use func_filter_filelist instead of a
87099         subshell and sed invocation.
87101 2009-01-01  Bruno Haible  <bruno@clisp.org>
87103         Fix a security bug.
87104         * gnulib-tool (func_import, import, update): Don't allow the characters
87105         '"', '$', '`', '\' in macro arguments that become part of commands that
87106         are evaluated.
87108 2009-01-01  Bruno Haible  <bruno@clisp.org>
87110         * gnulib-tool (func_reset_sigpipe): Add more comments.
87112 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87114         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
87115         func_emit_tests_Makefile_am, func_import): Abort loops early if we
87116         already know the answer.
87118 2009-01-01  Jim Meyering  <meyering@redhat.com>
87120         * lib/version-etc.c (version_etc_va): Update copyright year.
87122 2008-12-30  Bruno Haible  <bruno@clisp.org>
87124         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
87125         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
87126         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
87128 2008-12-29  Eric Blake  <ebb9@byu.net>
87130         multiarch: avoid autoconf AC_REQUIRE bug
87131         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
87132         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
87133         2.63 and older.
87134         Reported by Bruno Haible, and analyzed in
87135         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
87137 2008-12-29  Bruno Haible  <bruno@clisp.org>
87139         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
87140         files in subdirectories correctly.
87141         Reported by Ralf Wildenhues.
87143 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87145         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
87146         rather than 'join FILE -', for Solaris join.
87148 2008-12-29  Bruno Haible  <bruno@clisp.org>
87150         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
87151         quoting.
87152         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
87153         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
87154         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
87155         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
87156         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
87157         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
87158         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
87159         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
87160         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
87161         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
87162         * m4/nls.m4 (AM_NLS): Likewise.
87163         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
87164         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
87165         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
87166         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
87167         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
87168         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
87169         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
87170         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
87171         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
87172         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
87173         * m4/xsize.m4 (gl_XSIZE): Likewise.
87174         Suggested by Jim Meyering.
87176 2008-11-17  Bruce Korb  <bkorb@gnu.org>
87178         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
87179         * lib/parse-duration.c: use a switch instead of cascading if's.
87181 2008-12-29  Eric Blake  <ebb9@byu.net>
87183         wchar.h: supply WEOF on Irix 5.3
87184         * lib/wchar.in.h (wint_t): Also supply WEOF.
87185         * lib/wctype.in.h (wint_t): Likewise.
87186         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
87187         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
87188         Reported by Tom G. Christensen.
87190 2008-12-26  Bruno Haible  <bruno@clisp.org>
87192         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
87193         i486, i586, i686.
87195 2008-12-26  Bruno Haible  <bruno@clisp.org>
87197         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
87199 2008-12-26  Bruno Haible  <bruno@clisp.org>
87201         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
87202         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
87203         not __STDC_CONSTANT_MACROS.
87204         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
87206 2008-12-25  Bruno Haible  <bruno@clisp.org>
87208         Add support for universal builds to vasnprintf.
87209         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
87210         universal builds, guess no.
87211         * modules/vasnprintf-posix (Depends-on): Add multiarch.
87212         * modules/vasprintf-posix (Depends-on): Likewise.
87213         * modules/fprintf-posix (Depends-on): Likewise.
87214         * modules/vfprintf-posix (Depends-on): Likewise.
87215         * modules/snprintf-posix (Depends-on): Likewise.
87216         * modules/vsnprintf-posix (Depends-on): Likewise.
87217         * modules/sprintf-posix (Depends-on): Likewise.
87218         * modules/vsprintf-posix (Depends-on): Likewise.
87219         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
87220         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
87221         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
87222         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
87223         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
87224         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
87225         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
87227         Add support for universal builds to <inttypes.h>.
87228         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
87229         _SCNu64_PREFIX): In Apple
87230         universal builds, define directly, using _LP64.
87231         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
87232         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
87233         * modules/inttypes (Depends-on): Add multiarch.
87234         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87236         Add support for universal builds to <stdint.h>.
87237         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
87238         universal builds, define directly, using _LP64.
87239         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
87240         Apple universal builds, don't test for the size and suffix of ptrdiff_t
87241         and size_t.
87242         * modules/stdint (Depends-on): Add multiarch.
87243         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87245         New module 'multiarch'.
87246         * modules/multiarch: New file.
87247         * m4/multiarch.m4: New file.
87249 2008-12-25  Bruno Haible  <bruno@clisp.org>
87251         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
87253 2008-12-25  Bruno Haible  <bruno@clisp.org>
87255         * modules/btowc (License): Relicense under LGPLv2+.
87256         * modules/mbsinit (License): Likewise.
87257         * modules/mbrtowc (License): Likewise.
87258         * modules/wcrtomb (License): Likewise.
87259         * modules/streq (License): Likewise.
87260         Reported by David Lutterkort <lutter@redhat.com>.
87262 2008-12-23  Bruno Haible  <bruno@clisp.org>
87264         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
87266 2008-12-23  Bruno Haible  <bruno@clisp.org>
87268         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
87269         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
87270         GETADDRINFO_LIB, not in LIBS.
87271         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
87272         * modules/canon-host (Link): Likewise.
87273         * NEWS: Mention the change.
87274         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
87275         GETADDRINFO_LIB.
87277 2008-12-22  Bruno Haible  <bruno@clisp.org>
87279         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
87280         * doc/posix-functions/iswalpha_l.texi: Likewise.
87281         * doc/posix-functions/iswblank_l.texi: Likewise.
87282         * doc/posix-functions/iswcntrl_l.texi: Likewise.
87283         * doc/posix-functions/iswctype_l.texi: Likewise.
87284         * doc/posix-functions/iswdigit_l.texi: Likewise.
87285         * doc/posix-functions/iswgraph_l.texi: Likewise.
87286         * doc/posix-functions/iswlower_l.texi: Likewise.
87287         * doc/posix-functions/iswprint_l.texi: Likewise.
87288         * doc/posix-functions/iswpunct_l.texi: Likewise.
87289         * doc/posix-functions/iswspace_l.texi: Likewise.
87290         * doc/posix-functions/iswupper_l.texi: Likewise.
87291         * doc/posix-functions/iswxdigit_l.texi: Likewise.
87292         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
87293         * doc/posix-functions/open_wmemstream.texi: Likewise.
87294         * doc/posix-functions/swscanf.texi: Likewise.
87295         * doc/posix-functions/towctrans_l.texi: Likewise.
87296         * doc/posix-functions/towlower.texi: Likewise.
87297         * doc/posix-functions/towlower_l.texi: Likewise.
87298         * doc/posix-functions/towupper.texi: Likewise.
87299         * doc/posix-functions/towupper_l.texi: Likewise.
87300         * doc/posix-functions/vfwprintf.texi: Likewise.
87301         * doc/posix-functions/vfwscanf.texi: Likewise.
87302         * doc/posix-functions/vswscanf.texi: Likewise.
87303         * doc/posix-functions/vwprintf.texi: Likewise.
87304         * doc/posix-functions/vwscanf.texi: Likewise.
87305         * doc/posix-functions/wcpcpy.texi: Likewise.
87306         * doc/posix-functions/wcpncpy.texi: Likewise.
87307         * doc/posix-functions/wcscasecmp.texi: Likewise.
87308         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
87309         * doc/posix-functions/wcscoll_l.texi: Likewise.
87310         * doc/posix-functions/wcsdup.texi: Likewise.
87311         * doc/posix-functions/wcsncasecmp.texi: Likewise.
87312         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
87313         * doc/posix-functions/wcsnlen.texi: Likewise.
87314         * doc/posix-functions/wcsnrtombs.texi: Likewise.
87315         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
87316         * doc/posix-functions/wctrans_l.texi: Likewise.
87317         * doc/posix-functions/wctype_l.texi: Likewise.
87318         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
87319         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
87320         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
87321         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
87322         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
87323         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
87324         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
87325         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
87326         * doc/glibc-functions/wcschrnul.texi: Likewise.
87327         * doc/glibc-functions/wcsftime_l.texi: Likewise.
87328         * doc/glibc-functions/wcstod_l.texi: Likewise.
87329         * doc/glibc-functions/wcstof_l.texi: Likewise.
87330         * doc/glibc-functions/wcstol_l.texi: Likewise.
87331         * doc/glibc-functions/wcstold_l.texi: Likewise.
87332         * doc/glibc-functions/wcstoll_l.texi: Likewise.
87333         * doc/glibc-functions/wcstoq.texi: Likewise.
87334         * doc/glibc-functions/wcstoul_l.texi: Likewise.
87335         * doc/glibc-functions/wcstoull_l.texi: Likewise.
87336         * doc/glibc-functions/wcstouq.texi: Likewise.
87337         * doc/glibc-functions/wmempcpy.texi: Likewise.
87339 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
87340             Eric Blake  <ebb9@byu.net>
87341             Paolo Bonzini  <bonzini@gnu.org>
87342             Bruno Haible  <bruno@clisp.org>
87344         Make c-stack work on Haiku.
87345         * lib/c-stack.c (SA_ONSTACK): Define fallback.
87346         (c_stack_action): Use SA_ONSTACK flag.
87348 2008-12-22  Bruno Haible  <bruno@clisp.org>
87350         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
87352 2008-12-22  Bruno Haible  <bruno@clisp.org>
87354         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
87355         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
87356         being overridden.
87357         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
87358         New macros.
87359         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
87360         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
87361         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
87362         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
87364 2008-12-22  Bruno Haible  <bruno@clisp.org>
87366         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
87367         from test code.
87369 2008-12-22  Eric Blake  <ebb9@byu.net>
87371         Avoid gcc warnings on cygwin.
87372         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
87373         Avoid unused variable.
87374         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
87375         Likewise.
87377 2008-12-22  Bruno Haible  <bruno@clisp.org>
87379         Remove HAVE_MBRTOWC conditionals.
87380         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
87381         (mbscasecmp): Assume mbrtowc function.
87382         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
87383         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
87384         * lib/mbschr.c: Include mbuiter.h unconditionally.
87385         (mbschr): Assume mbrtowc function.
87386         * lib/mbscspn.c: Include mbuiter.h unconditionally.
87387         (mbscspn): Assume mbrtowc function.
87388         * lib/mbslen.c: Include mbuiter.h unconditionally.
87389         (mbslen): Assume mbrtowc function.
87390         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
87391         (mbsncasecmp): Assume mbrtowc function.
87392         * lib/mbsnlen.c: Include mbiter.h unconditionally.
87393         (mbsnlen): Assume mbrtowc function.
87394         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
87395         (mbspbrk): Assume mbrtowc function.
87396         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
87397         (mbspcasecmp): Assume mbrtowc function.
87398         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
87399         (mbsrchr): Assume mbrtowc function.
87400         * lib/mbssep.c: Include mbuiter.h unconditionally.
87401         (mbssep): Assume mbrtowc function.
87402         * lib/mbsspn.c: Include mbuiter.h unconditionally.
87403         (mbsspn): Assume mbrtowc function.
87404         * lib/mbsstr.c: Include mbuiter.h unconditionally.
87405         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
87406         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
87407         (mbstok_r): Assume mbrtowc function.
87408         * lib/propername.c: Include mbuiter.h unconditionally.
87409         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
87410         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
87411         (trim2): Assume mbrtowc function.
87412         * lib/mbswidth.c (mbsinit): Remove fallback definition.
87413         (mbsnwidth): Assume mbrtowc function.
87414         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
87415         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
87416         fallback definitions.
87417         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
87419 2008-12-22  Bruno Haible  <bruno@clisp.org>
87421         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
87423 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
87425         * modules/regex: Request emulations for the mb*/wc* functions we need.
87426         * m4/regex.m4: Don't look for those functions here.
87427         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
87429 2008-12-22  Bruno Haible  <bruno@clisp.org>
87431         * modules/fnmatch (Depends-on): Remove duplicated dependency.
87433 2008-12-21  Bruno Haible  <bruno@clisp.org>
87435         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
87436         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
87437         (Include): Remove conditionalization.
87438         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
87439         (Include): Remove conditionalization.
87440         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
87441         (Include): Remove conditionalization.
87442         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
87443         * m4/mbfile.m4 (gl_MBFILE): Likewise.
87444         * NEWS: Mention the change.
87445         Reported by Alan Hourihane <alanh@fairlite.co.uk>
87446         via Sergey Poznyakoff <gray@gnu.org.ua>.
87448 2008-12-21  Bruno Haible  <bruno@clisp.org>
87450         * MODULES.html.sh (Extended multibyte and wide character utilities
87451         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
87452         wcrtomb, wcsrtombs.
87453         (Support for systems lacking POSIX:2008): Add accept, bind, close,
87454         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
87455         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
87456         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
87458 2008-12-21  Bruno Haible  <bruno@clisp.org>
87460         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
87462 2008-12-21  Bruno Haible  <bruno@clisp.org>
87464         * modules/wcsnrtombs-tests: New file.
87465         * tests/test-wcsnrtombs1.sh: New file.
87466         * tests/test-wcsnrtombs2.sh: New file.
87467         * tests/test-wcsnrtombs3.sh: New file.
87468         * tests/test-wcsnrtombs4.sh: New file.
87469         * tests/test-wcsnrtombs.c: New file.
87471         New module 'wcsnrtombs'.
87472         * lib/wchar.in.h (wcsnrtombs): New declaration.
87473         * lib/wcsnrtombs.c: New file.
87474         * lib/wcsrtombs-state.c: New file.
87475         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
87476         (internal_state): Remove variable.
87477         * m4/wcsnrtombs.m4: New file.
87478         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
87479         compilation units.
87480         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
87481         HAVE_WCSNRTOMBS.
87482         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
87483         HAVE_WCSNRTOMBS.
87484         * modules/wcsnrtombs: New file.
87485         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
87486         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
87488 2008-12-21  Bruno Haible  <bruno@clisp.org>
87490         * modules/wcsrtombs-tests: New file.
87491         * tests/test-wcsrtombs1.sh: New file.
87492         * tests/test-wcsrtombs2.sh: New file.
87493         * tests/test-wcsrtombs3.sh: New file.
87494         * tests/test-wcsrtombs4.sh: New file.
87495         * tests/test-wcsrtombs.c: New file.
87497         New module 'wcsrtombs'.
87498         * lib/wchar.in.h (wcsrtombs): New declaration.
87499         * lib/wcsrtombs.c: New file.
87500         * m4/wcsrtombs.m4: New file.
87501         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
87502         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
87503         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
87504         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
87505         * modules/wcsrtombs: New file.
87506         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
87507         bugs.
87509 2008-12-21  Bruno Haible  <bruno@clisp.org>
87511         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
87512         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
87513         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
87514         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
87515         if not correct.
87516         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
87517         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
87518         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87519         m4/locale-zh.m4, m4/codeset.m4.
87520         * doc/posix-functions/wcrtomb.texi: Document the bug.
87522 2008-12-21  Bruno Haible  <bruno@clisp.org>
87524         Work around a btowc() bug on IRIX 6.5.
87525         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
87526         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
87527         REPLACE_WTOBC if not.
87528         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
87529         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
87530         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
87532 2008-12-21  Bruno Haible  <bruno@clisp.org>
87534         * modules/wcrtomb-tests: New file.
87535         * tests/test-wcrtomb.sh: New file.
87536         * tests/test-wcrtomb.c: New file.
87538         New module 'wcrtomb'.
87539         * lib/wchar.in.h (wcrtomb): New declaration.
87540         * lib/wcrtomb.c: New file.
87541         * m4/wcrtomb.m4: New file.
87542         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
87543         HAVE_WCRTOMB.
87544         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
87545         HAVE_WCRTOMB.
87546         * modules/wcrtomb: New file.
87547         * doc/posix-functions/wcrtomb.texi: Mention the new module.
87549 2008-12-21  Bruno Haible  <bruno@clisp.org>
87551         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
87552         * modules/mbsrtowcs (Files): Likewise.
87553         * modules/wctob (Files): Likewise.
87554         * modules/c-strcase-tests (Files): Likewise.
87555         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
87556         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
87557         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
87558         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
87559         * modules/vasnprintf-posix-tests (Files): Likewise.
87561 2008-12-21  William Pursell  <bill.pursell@gmail.com>
87563         gitlog-to-changelog: pass all command-line arguments to git-log
87564         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
87565         it is sometimes convenient to filter the commits in various ways.
87566         gitlog-to-changelog only allows --since to specify a start date,
87567         but git-log itself supports many other filtering mechanisms.
87568         At the moment, I want to filter by branch name.  Rather than
87569         adding a --branch option to gitlog-to-changelog, it seems more
87570         flexible to simply pass all options directly to git-log and let
87571         git do the work.  Notice that this effectively makes --since a
87572         redundant option for gitlog-to-changelog, but removing it would
87573         require current usage to change since calls would then require
87574         an additional '--'.
87576 2008-12-21  Bruno Haible  <bruno@clisp.org>
87578         * modules/mbsnrtowcs-tests: New file.
87579         * tests/test-mbsnrtowcs1.sh: New file.
87580         * tests/test-mbsnrtowcs2.sh: New file.
87581         * tests/test-mbsnrtowcs3.sh: New file.
87582         * tests/test-mbsnrtowcs4.sh: New file.
87583         * tests/test-mbsnrtowcs.c: New file.
87585         New module 'mbsnrtowcs'.
87586         * lib/wchar.in.h (mbsnrtowcs): New declaration.
87587         * lib/mbsnrtowcs.c: New file.
87588         * lib/mbsrtowcs-state.c: New file.
87589         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
87590         (internal_state): Remove variable.
87591         * m4/mbsnrtowcs.m4: New file.
87592         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
87593         compilation units.
87594         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
87595         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
87596         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
87597         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
87598         * modules/mbsnrtowcs: New file.
87599         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
87600         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
87601         portability problem.
87603 2008-12-21  Bruno Haible  <bruno@clisp.org>
87605         Work around mbsrtowcs bug.
87606         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
87607         (gl_FUNC_MBSRTOWCS): Invoke it.
87608         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87609         m4/locale-zh.m4.
87610         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
87612 2008-12-21  Bruno Haible  <bruno@clisp.org>
87614         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
87616 2008-12-21  Bruno Haible  <bruno@clisp.org>
87618         Update doc for AIX.
87619         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
87620         16-bit wchar_t type.
87621         * doc/posix-functions/btowc.texi: Likewise.
87622         * doc/posix-functions/fgetwc.texi: Likewise.
87623         * doc/posix-functions/fgetws.texi: Likewise.
87624         * doc/posix-functions/fputwc.texi: Likewise.
87625         * doc/posix-functions/fputws.texi: Likewise.
87626         * doc/posix-functions/fwide.texi: Likewise.
87627         * doc/posix-functions/fwprintf.texi: Likewise.
87628         * doc/posix-functions/fwscanf.texi: Likewise.
87629         * doc/posix-functions/getwchar.texi: Likewise.
87630         * doc/posix-functions/getwc.texi: Likewise.
87631         * doc/posix-functions/iswalnum.texi: Likewise.
87632         * doc/posix-functions/iswalpha.texi: Likewise.
87633         * doc/posix-functions/iswblank.texi: Likewise.
87634         * doc/posix-functions/iswcntrl.texi: Likewise.
87635         * doc/posix-functions/iswctype.texi: Likewise.
87636         * doc/posix-functions/iswdigit.texi: Likewise.
87637         * doc/posix-functions/iswgraph.texi: Likewise.
87638         * doc/posix-functions/iswlower.texi: Likewise.
87639         * doc/posix-functions/iswprint.texi: Likewise.
87640         * doc/posix-functions/iswpunct.texi: Likewise.
87641         * doc/posix-functions/iswspace.texi: Likewise.
87642         * doc/posix-functions/iswupper.texi: Likewise.
87643         * doc/posix-functions/iswxdigit.texi: Likewise.
87644         * doc/posix-functions/mbrtowc.texi: Likewise.
87645         * doc/posix-functions/mbsrtowcs.texi: Likewise.
87646         * doc/posix-functions/mbstowcs.texi: Likewise.
87647         * doc/posix-functions/mbtowc.texi: Likewise.
87648         * doc/posix-functions/putwchar.texi: Likewise.
87649         * doc/posix-functions/putwc.texi: Likewise.
87650         * doc/posix-functions/swprintf.texi: Likewise.
87651         * doc/posix-functions/tolower.texi: Likewise.
87652         * doc/posix-functions/toupper.texi: Likewise.
87653         * doc/posix-functions/towctrans.texi: Likewise.
87654         * doc/posix-functions/ungetwc.texi: Likewise.
87655         * doc/posix-functions/vswprintf.texi: Likewise.
87656         * doc/posix-functions/wcrtomb.texi: Likewise.
87657         * doc/posix-functions/wcscat.texi: Likewise.
87658         * doc/posix-functions/wcschr.texi: Likewise.
87659         * doc/posix-functions/wcscmp.texi: Likewise.
87660         * doc/posix-functions/wcscoll.texi: Likewise.
87661         * doc/posix-functions/wcscpy.texi: Likewise.
87662         * doc/posix-functions/wcscspn.texi: Likewise.
87663         * doc/posix-functions/wcsftime.texi: Likewise.
87664         * doc/posix-functions/wcslen.texi: Likewise.
87665         * doc/posix-functions/wcsncat.texi: Likewise.
87666         * doc/posix-functions/wcsncmp.texi: Likewise.
87667         * doc/posix-functions/wcsncpy.texi: Likewise.
87668         * doc/posix-functions/wcspbrk.texi: Likewise.
87669         * doc/posix-functions/wcsrchr.texi: Likewise.
87670         * doc/posix-functions/wcsrtombs.texi: Likewise.
87671         * doc/posix-functions/wcsspn.texi: Likewise.
87672         * doc/posix-functions/wcsstr.texi: Likewise.
87673         * doc/posix-functions/wcstod.texi: Likewise.
87674         * doc/posix-functions/wcstof.texi: Likewise.
87675         * doc/posix-functions/wcstoimax.texi: Likewise.
87676         * doc/posix-functions/wcstok.texi: Likewise.
87677         * doc/posix-functions/wcstold.texi: Likewise.
87678         * doc/posix-functions/wcstoll.texi: Likewise.
87679         * doc/posix-functions/wcstol.texi: Likewise.
87680         * doc/posix-functions/wcstombs.texi: Likewise.
87681         * doc/posix-functions/wcstoull.texi: Likewise.
87682         * doc/posix-functions/wcstoul.texi: Likewise.
87683         * doc/posix-functions/wcstoumax.texi: Likewise.
87684         * doc/posix-functions/wcswidth.texi: Likewise.
87685         * doc/posix-functions/wcsxfrm.texi: Likewise.
87686         * doc/posix-functions/wctob.texi: Likewise.
87687         * doc/posix-functions/wctomb.texi: Likewise.
87688         * doc/posix-functions/wctrans.texi: Likewise.
87689         * doc/posix-functions/wctype.texi: Likewise.
87690         * doc/posix-functions/wcwidth.texi: Likewise.
87691         * doc/posix-functions/wmemchr.texi: Likewise.
87692         * doc/posix-functions/wmemcmp.texi: Likewise.
87693         * doc/posix-functions/wmemcpy.texi: Likewise.
87694         * doc/posix-functions/wmemmove.texi: Likewise.
87695         * doc/posix-functions/wmemset.texi: Likewise.
87696         * doc/posix-functions/wprintf.texi: Likewise.
87697         * doc/posix-functions/wscanf.texi: Likewise.
87699 2008-12-21  Bruno Haible  <bruno@clisp.org>
87701         Update doc for HP-UX 11.11.
87702         * doc/posix-functions/btowc.texi: Clarify that the function is missing
87703         in HP-UX version 11.00, not in all versions of HP-UX 11.
87704         * doc/posix-functions/fwide.texi: Likewise.
87705         * doc/posix-functions/fwprintf.texi: Likewise.
87706         * doc/posix-functions/fwscanf.texi: Likewise.
87707         * doc/posix-functions/inet_ntop.texi: Likewise.
87708         * doc/posix-functions/inet_pton.texi: Likewise.
87709         * doc/posix-functions/mbrlen.texi: Likewise.
87710         * doc/posix-functions/mbrtowc.texi: Likewise.
87711         * doc/posix-functions/mbsinit.texi: Likewise.
87712         * doc/posix-functions/mbsrtowcs.texi: Likewise.
87713         * doc/posix-functions/swprintf.texi: Likewise.
87714         * doc/posix-functions/swscanf.texi: Likewise.
87715         * doc/posix-functions/towctrans.texi: Likewise.
87716         * doc/posix-functions/vfwprintf.texi: Likewise.
87717         * doc/posix-functions/vswprintf.texi: Likewise.
87718         * doc/posix-functions/vwprintf.texi: Likewise.
87719         * doc/posix-functions/wcrtomb.texi: Likewise.
87720         * doc/posix-functions/wcsrtombs.texi: Likewise.
87721         * doc/posix-functions/wcsstr.texi: Likewise.
87722         * doc/posix-functions/wctob.texi: Likewise.
87723         * doc/posix-functions/wctrans.texi: Likewise.
87724         * doc/posix-functions/wmemchr.texi: Likewise.
87725         * doc/posix-functions/wmemcmp.texi: Likewise.
87726         * doc/posix-functions/wmemcpy.texi: Likewise.
87727         * doc/posix-functions/wmemmove.texi: Likewise.
87728         * doc/posix-functions/wmemset.texi: Likewise.
87729         * doc/posix-functions/wprintf.texi: Likewise.
87730         * doc/posix-functions/wscanf.texi: Likewise.
87732 2008-12-21  Bruno Haible  <bruno@clisp.org>
87734         Work around a portability problem.
87735         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
87736         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
87738 2008-12-20  Bruno Haible  <bruno@clisp.org>
87740         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
87741         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
87742         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
87743         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
87744         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
87746         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
87747         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
87748         set.
87749         (GNULIB_defined_mbstate_t): New macro.
87750         (mbsinit): Redefine if REPLACE_MBSINIT is set.
87751         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
87752         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
87753         reuses the system's mbrtowc function but works around the bugs.
87754         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
87755         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
87756         macros.
87757         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
87758         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
87759         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
87760         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
87761         REPLACE_MBSINIT if mbsinit needs to be overridden.
87762         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
87763         REPLACE_MBSINIT, REPLACE_MBRTOWC.
87764         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
87765         REPLACE_MBSINIT, REPLACE_MBRTOWC.
87766         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87767         m4/locale-zh.m4.
87768         (Depends): Add mbsinit.
87769         * modules/mbsinit (Depends): Add mbrtowc.
87770         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
87772 2008-12-20  Bruno Haible  <bruno@clisp.org>
87774         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
87775         so that there are no conversion errors on AIX.
87776         * tests/test-mbsrtowcs.c (main): LIkewise.
87778 2008-12-20  Bruno Haible  <bruno@clisp.org>
87780         Work around wctob bug on Solaris <= 9.
87781         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
87782         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
87783         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
87784         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
87785         * modules/wctob (Files): Add m4/locale-fr.m4.
87786         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
87788 2008-12-20  Bruno Haible  <bruno@clisp.org>
87790         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
87791         /dev/null.
87792         * tests/test-select-in.sh: Likewise.
87793         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
87795 2008-12-20  Bruno Haible  <bruno@clisp.org>
87797         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
87798         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
87799         Cygwin 1.5.x.
87801 2008-12-20  Bruno Haible  <bruno@clisp.org>
87803         Ensure mbstate_t is defined on HP-UX 11.11.
87804         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
87805         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
87806         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
87807         AC_USE_SYSTEM_EXTENSIONS.
87808         * modules/fnmatch (Depends-on): Add extensions.
87809         * modules/mbrlen (Depends-on): Likewise.
87810         * modules/mbrtowc (Depends-on): Likewise.
87811         * modules/mbsinit (Depends-on): Likewise.
87812         * modules/mbsrtowcs (Depends-on): Likewise.
87813         * modules/mbswidth (Depends-on): Likewise.
87814         * modules/quotearg (Depends-on): Likewise.
87815         * modules/strftime (Depends-on): Likewise.
87817 2008-12-20  Bruno Haible  <bruno@clisp.org>
87819         Ensure wctob is declared on IRIX 6.5.
87820         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
87821         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
87822         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
87823         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
87824         of HAVE_WCTOB.
87825         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
87826         HAVE_WCTOB.
87827         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
87829 2008-12-19  Bruno Haible  <bruno@clisp.org>
87831         * modules/mbsrtowcs-tests: New file.
87832         * tests/test-mbsrtowcs1.sh: New file.
87833         * tests/test-mbsrtowcs2.sh: New file.
87834         * tests/test-mbsrtowcs3.sh: New file.
87835         * tests/test-mbsrtowcs4.sh: New file.
87836         * tests/test-mbsrtowcs.c: New file.
87838         New module 'mbsrtowcs'.
87839         * lib/wchar.in.h (mbsrtowcs): New declaration.
87840         * lib/mbsrtowcs.c: New file.
87841         * m4/mbsrtowcs.m4: New file.
87842         * modules/mbsrtowcs: New file.
87843         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
87844         HAVE_MBSRTOWCS.
87845         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
87846         HAVE_MBSRTOWCS.
87847         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
87849 2008-12-19  Bruno Haible  <bruno@clisp.org>
87851         New module 'mbrlen'.
87852         * lib/wchar.in.h (mbrlen): New declaration.
87853         * lib/mbrlen.c: New file.
87854         * m4/mbrlen.m4: New file.
87855         * modules/mbrlen: New file.
87856         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
87857         HAVE_MBRLEN.
87858         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
87859         HAVE_MBRLEN.
87860         * doc/posix-functions/mbrlen.texi: Document the new module.
87862 2008-12-19  Bruno Haible  <bruno@clisp.org>
87864         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
87865         * modules/mbrtowc (Depends-on): Add verify.
87866         Suggested by Paul Eggert.
87868 2008-12-18  Bruno Haible  <bruno@clisp.org>
87870         * modules/mbsinit-tests: New file.
87871         * tests/test-mbsinit.sh: New file.
87872         * tests/test-mbsinit.c: New file.
87874 2008-12-18  Bruno Haible  <bruno@clisp.org>
87876         * modules/mbrtowc-tests: New file.
87877         * tests/test-mbrtowc1.sh: New file.
87878         * tests/test-mbrtowc2.sh: New file.
87879         * tests/test-mbrtowc3.sh: New file.
87880         * tests/test-mbrtowc4.sh: New file.
87881         * tests/test-mbrtowc.c: New file.
87883         New module 'mbrtowc'.
87884         * lib/wchar.in.h (mbstate_t): Override when the system does not have
87885         mbsinit and mbrtowc.
87886         (mbrtowc): New declaration.
87887         * lib/mbrtowc.c: New file.
87888         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
87889         * modules/mbrtowc: New file.
87890         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
87891         HAVE_MBRTOWC.
87892         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
87893         HAVE_MBRTOWC.
87894         * doc/posix-functions/mbrtowc.texi: Document the new module.
87896 2008-12-18  Bruno Haible  <bruno@clisp.org>
87898         New module 'wctob'.
87899         * lib/wchar.in.h (wctob): New declaration.
87900         * lib/wctob.c: New file.
87901         * m4/wctob.m4: New file.
87902         * modules/wctob: New file.
87903         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
87904         HAVE_WCTOB.
87905         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
87906         * doc/posix-functions/wctob.texi: Document the new module.
87908 2008-12-18  Bruno Haible  <bruno@clisp.org>
87910         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
87911         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
87913 2008-12-18  Simon Josefsson  <simon@josefsson.org>
87915         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
87916         G. Christensen" <tgc@jupiterrise.com>.
87918         * lib/flock.c: Need to include errno.h.  Reported by "Tom
87919         G. Christensen" <tgc@jupiterrise.com>.
87921         * lib/flock.c: Need to include string.h.  Reported by "Tom
87922         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
87923         <ebb9@byu.net>.
87925 2008-12-18  Bruno Haible  <bruno@clisp.org>
87927         * m4/locale-ja.m4: New file, from GNU gettext.
87929 2008-12-17  Bruno Haible  <bruno@clisp.org>
87931         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
87932         Suggested by Eric Blake.
87934 2008-12-17  Bruno Haible  <bruno@clisp.org>
87936         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
87938 2008-12-17  Bruno Haible  <bruno@clisp.org>
87940         * lib/mbsinit.c: Include verify.h. Verify an assumption.
87941         * modules/mbsinit (Depends-on): Add verify.
87942         Suggested by Paul Eggert.
87944 2008-12-17  Bruno Haible  <bruno@clisp.org>
87946         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
87947         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
87948         gl_FUNC_MBRTOWC.
87949         * m4/mbiter.m4 (gl_MBITER): LIkewise.
87950         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
87951         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
87952         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
87953         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
87954         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
87955         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
87956         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
87957         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
87958         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
87959         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
87960         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
87961         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
87962         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
87963         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
87964         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
87965         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
87966         * modules/trim (configure.ac): Likewise.
87968 2008-12-17  Bruno Haible  <bruno@clisp.org>
87970         * modules/btowc-tests: New file.
87971         * tests/test-btowc1.sh: New file.
87972         * tests/test-btowc2.sh: New file.
87973         * tests/test-btowc.c: New file.
87975         New module 'btowc'.
87976         * lib/wchar.in.h (btowc): New declaration.
87977         * lib/btowc.c: New file.
87978         * m4/btowc.m4: New file.
87979         * modules/btowc: New file.
87980         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
87981         HAVE_BTOWC.
87982         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
87983         * doc/posix-functions/btowc.texi: Document the new module.
87985 2008-12-17  Bruno Haible  <bruno@clisp.org>
87987         New module 'mbsinit'.
87988         * lib/wchar.in.h (mbsinit): New declaration.
87989         * lib/mbsinit.c: New file.
87990         * m4/mbsinit.m4: New file.
87991         * modules/mbsinit: New file.
87992         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
87993         HAVE_MBSINIT.
87994         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
87995         HAVE_MBSINIT.
87996         * doc/posix-functions/mbsinit.texi: Document the new module.
87998 2008-12-16  Bruno Haible  <bruno@clisp.org>
88000         * lib/unistd.in.h: Add comment.
88001         * tests/test-environ.c: Don't include <stdlib.h>.
88003 2008-12-16  Bruno Haible  <bruno@clisp.org>
88005         * lib/parse-duration.h (parse_duration): Document return value
88006         convention.
88007         * lib/parse-duration.c: Include specification header first. Add
88008         comments.
88009         (_): Remove macro.
88010         (parse_year_month_day, parse_hour_minute_second): Move side effects
88011         outside of strchr call.
88012         (parse_non_iso8601): Move side effects outside of isspace call.
88013         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
88014         call.
88016 2008-12-16  Bruno Haible  <bruno@clisp.org>
88018         * tests/test-parse-duration.sh: Produce no output when the test
88019         succeeds.
88021 2008-12-16  Bruno Haible  <bruno@clisp.org>
88023         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
88024         expressions.
88026 2008-12-15  Bruno Haible  <bruno@clisp.org>
88028         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
88029         * doc/glibc-functions/flistxattr.texi: Likewise.
88030         * doc/glibc-functions/fopencookie.texi: Likewise.
88031         * doc/glibc-functions/fremovexattr.texi: Likewise.
88032         * doc/glibc-functions/fsetxattr.texi: Likewise.
88033         * doc/glibc-functions/getxattr.texi: Likewise.
88034         * doc/glibc-functions/lgetxattr.texi: Likewise.
88035         * doc/glibc-functions/listxattr.texi: Likewise.
88036         * doc/glibc-functions/llistxattr.texi: Likewise.
88037         * doc/glibc-functions/lremovexattr.texi: Likewise.
88038         * doc/glibc-functions/lsetxattr.texi: Likewise.
88039         * doc/glibc-functions/removexattr.texi: Likewise.
88040         * doc/glibc-functions/setxattr.texi: Likewise.
88041         * doc/posix-functions/open_memstream.texi: Likewise.
88043 2008-12-15  Eric Blake  <ebb9@byu.net>
88045         Update doc for cygwin 1.7.
88046         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
88047         functions.
88048         * doc/posix-functions/fchmodat.texi: Likewise.
88049         * doc/posix-functions/fchownat.texi: Likewise.
88050         * doc/posix-functions/fdopendir.texi: Likewise.
88051         * doc/posix-functions/fmemopen.texi: Likewise.
88052         * doc/posix-functions/freeaddrinfo.texi: Likewise.
88053         * doc/posix-functions/fstatat.texi: Likewise.
88054         * doc/posix-functions/futimens.texi: Likewise.
88055         * doc/posix-functions/gai_strerror.texi: Likewise.
88056         * doc/posix-functions/getaddrinfo.texi: Likewise.
88057         * doc/posix-functions/getnameinfo.texi: Likewise.
88058         * doc/posix-functions/if_freenameindex.texi: Likewise.
88059         * doc/posix-functions/if_indextoname.texi: Likewise.
88060         * doc/posix-functions/if_nameindex.texi: Likewise.
88061         * doc/posix-functions/if_nametoindex.texi: Likewise.
88062         * doc/posix-functions/insque.texi: Likewise.
88063         * doc/posix-functions/linkat.texi: Likewise.
88064         * doc/posix-functions/llrint.texi: Likewise.
88065         * doc/posix-functions/llrintf.texi: Likewise.
88066         * doc/posix-functions/llrintl.texi: Likewise.
88067         * doc/posix-functions/lockf.texi: Likewise.
88068         * doc/posix-functions/lrintl.texi: Likewise.
88069         * doc/posix-functions/mkdirat.texi: Likewise.
88070         * doc/posix-functions/mkfifoat.texi: Likewise.
88071         * doc/posix-functions/mknodat.texi: Likewise.
88072         * doc/posix-functions/mq_close.texi: Likewise.
88073         * doc/posix-functions/mq_getattr.texi: Likewise.
88074         * doc/posix-functions/mq_notify.texi: Likewise.
88075         * doc/posix-functions/mq_open.texi: Likewise.
88076         * doc/posix-functions/mq_receive.texi: Likewise.
88077         * doc/posix-functions/mq_send.texi: Likewise.
88078         * doc/posix-functions/mq_setattr.texi: Likewise.
88079         * doc/posix-functions/mq_timedreceive.texi: Likewise.
88080         * doc/posix-functions/mq_timedsend.texi: Likewise.
88081         * doc/posix-functions/mq_unlink.texi: Likewise.
88082         * doc/posix-functions/open_memstream.texi: Likewise.
88083         * doc/posix-functions/openat.texi: Likewise.
88084         * doc/posix-functions/posix_fadvise.texi: Likewise.
88085         * doc/posix-functions/posix_fallocate.texi: Likewise.
88086         * doc/posix-functions/posix_madvise.texi: Likewise.
88087         * doc/posix-functions/posix_memalign.texi: Likewise.
88088         * doc/posix-functions/posix_openpt.texi: Likewise.
88089         * doc/posix-functions/readlinkat.texi: Likewise.
88090         * doc/posix-functions/remque.texi: Likewise.
88091         * doc/posix-functions/renameat.texi: Likewise.
88092         * doc/posix-functions/rintl.texi: Likewise.
88093         * doc/posix-functions/sem_unlink.texi: Likewise.
88094         * doc/posix-functions/shm_open.texi: Likewise.
88095         * doc/posix-functions/shm_unlink.texi: Likewise.
88096         * doc/posix-functions/signgam.texi: Likewise.
88097         * doc/posix-functions/sigset.texi: Likewise.
88098         * doc/posix-functions/stpcpy.texi: Likewise.
88099         * doc/posix-functions/stpncpy.texi: Likewise.
88100         * doc/posix-functions/strerror.texi: Likewise.
88101         * doc/posix-functions/strtod.texi: Likewise.
88102         * doc/posix-functions/symlinkat.texi: Likewise.
88103         * doc/posix-functions/unlinkat.texi: Likewise.
88104         * doc/posix-functions/utimensat.texi: Likewise.
88105         * doc/glibc-functions/bindresvport.texi: Likewise.
88106         * doc/glibc-functions/dn_expand.texi: Likewise.
88107         * doc/glibc-functions/exp10.texi: Likewise.
88108         * doc/glibc-functions/exp10f.texi: Likewise.
88109         * doc/glibc-functions/fgetxattr.texi: Likewise.
88110         * doc/glibc-functions/flistxattr.texi: Likewise.
88111         * doc/glibc-functions/fopencookie.texi: Likewise.
88112         * doc/glibc-functions/freeifaddrs.texi: Likewise.
88113         * doc/glibc-functions/fremovexattr.texi: Likewise.
88114         * doc/glibc-functions/fsetxattr.texi: Likewise.
88115         * doc/glibc-functions/getifaddrs.texi: Likewise.
88116         * doc/glibc-functions/getxattr.texi: Likewise.
88117         * doc/glibc-functions/lgetxattr.texi: Likewise.
88118         * doc/glibc-functions/listxattr.texi: Likewise.
88119         * doc/glibc-functions/llistxattr.texi: Likewise.
88120         * doc/glibc-functions/lremovexattr.texi: Likewise.
88121         * doc/glibc-functions/lsetxattr.texi: Likewise.
88122         * doc/glibc-functions/pow10.texi: Likewise.
88123         * doc/glibc-functions/pow10f.texi: Likewise.
88124         * doc/glibc-functions/rcmd_af.texi: Likewise.
88125         * doc/glibc-functions/removexattr.texi: Likewise.
88126         * doc/glibc-functions/res_init.texi: Likewise.
88127         * doc/glibc-functions/res_mkquery.texi: Likewise.
88128         * doc/glibc-functions/res_query.texi: Likewise.
88129         * doc/glibc-functions/res_querydomain.texi: Likewise.
88130         * doc/glibc-functions/res_send.texi: Likewise.
88131         * doc/glibc-functions/rresvport_af.texi: Likewise.
88132         * doc/glibc-functions/setxattr.texi: Likewise.
88133         * doc/glibc-functions/strcasestr.texi: Likewise.
88135 2008-12-15  Bruno Haible  <bruno@clisp.org>
88137         Fix compilation error on OSF/1 4.0.
88138         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
88139         <sys/time.h>, simply delegate to the system header.
88140         Reported by Daniel Richard G. <oss@teragram.com>.
88142 2008-12-15  Bruno Haible  <bruno@clisp.org>
88144         * doc/posix-functions/openat.texi: Mention the 'openat' module.
88145         * doc/posix-functions/fchmodat.texi: Likewise.
88146         * doc/posix-functions/fchownat.texi: Likewise.
88147         * doc/posix-functions/fdopendir.texi: Likewise.
88148         * doc/posix-functions/fstatat.texi: Likewise.
88149         * doc/posix-functions/mkdirat.texi: Likewise.
88150         * doc/posix-functions/unlinkat.texi: Likewise.
88152 2008-12-14  Bruno Haible  <bruno@clisp.org>
88154         Update doc for POSIX:2008.
88155         * doc/posix-functions/faccessat.texi: New file.
88156         * doc/posix-functions/fchmodat.texi: New file.
88157         * doc/posix-functions/fchownat.texi: New file.
88158         * doc/posix-functions/fdopendir.texi: New file.
88159         * doc/posix-functions/fstatat.texi: New file.
88160         * doc/posix-functions/futimens.texi: New file.
88161         * doc/posix-functions/linkat.texi: New file.
88162         * doc/posix-functions/mkdirat.texi: New file.
88163         * doc/posix-functions/mkfifoat.texi: New file.
88164         * doc/posix-functions/mknodat.texi: New file.
88165         * doc/posix-functions/open_wmemstream.texi: New file.
88166         * doc/posix-functions/openat.texi: New file.
88167         * doc/posix-functions/psiginfo.texi: New file.
88168         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
88169         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
88170         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
88171         * doc/posix-functions/readlinkat.texi: New file.
88172         * doc/posix-functions/renameat.texi: New file.
88173         * doc/posix-functions/strerror_l.texi: New file.
88174         * doc/posix-functions/symlinkat.texi: New file.
88175         * doc/posix-functions/unlinkat.texi: New file.
88176         * doc/posix-functions/utimensat.texi: New file.
88177         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88179 2008-12-14  Bruno Haible  <bruno@clisp.org>
88181         Update doc for POSIX:2008.
88182         * doc/posix-functions/alphasort.texi: Renamed from
88183         doc/glibc-functions/alphasort.texi.
88184         * doc/posix-functions/dirfd.texi: Renamed from
88185         doc/glibc-functions/dirfd.texi.
88186         * doc/posix-functions/dprintf.texi: Renamed from
88187         doc/glibc-functions/dprintf.texi.
88188         * doc/posix-functions/duplocale.texi: Renamed from
88189         doc/glibc-functions/duplocale.texi.
88190         * doc/posix-functions/fexecve.texi: Renamed from
88191         doc/glibc-functions/fexecve.texi.
88192         * doc/posix-functions/fmemopen.texi: Renamed from
88193         doc/glibc-functions/fmemopen.texi.
88194         * doc/posix-functions/freelocale.texi: Renamed from
88195         doc/glibc-functions/freelocale.texi.
88196         * doc/posix-functions/getdate_err.texi: Renamed from
88197         doc/glibc-functions/getdate_err.texi.
88198         * doc/posix-functions/isalnum_l.texi: Renamed from
88199         doc/glibc-functions/isalnum_l.texi.
88200         * doc/posix-functions/isalpha_l.texi: Renamed from
88201         doc/glibc-functions/isalpha_l.texi.
88202         * doc/posix-functions/isblank_l.texi: Renamed from
88203         doc/glibc-functions/isblank_l.texi.
88204         * doc/posix-functions/iscntrl_l.texi: Renamed from
88205         doc/glibc-functions/iscntrl_l.texi.
88206         * doc/posix-functions/isdigit_l.texi: Renamed from
88207         doc/glibc-functions/isdigit_l.texi.
88208         * doc/posix-functions/isgraph_l.texi: Renamed from
88209         doc/glibc-functions/isgraph_l.texi.
88210         * doc/posix-functions/islower_l.texi: Renamed from
88211         doc/glibc-functions/islower_l.texi.
88212         * doc/posix-functions/isprint_l.texi: Renamed from
88213         doc/glibc-functions/isprint_l.texi.
88214         * doc/posix-functions/ispunct_l.texi: Renamed from
88215         doc/glibc-functions/ispunct_l.texi.
88216         * doc/posix-functions/isspace_l.texi: Renamed from
88217         doc/glibc-functions/isspace_l.texi.
88218         * doc/posix-functions/isupper_l.texi: Renamed from
88219         doc/glibc-functions/isupper_l.texi.
88220         * doc/posix-functions/iswalnum_l.texi: Renamed from
88221         doc/glibc-functions/iswalnum_l.texi.
88222         * doc/posix-functions/iswalpha_l.texi: Renamed from
88223         doc/glibc-functions/iswalpha_l.texi.
88224         * doc/posix-functions/iswblank_l.texi: Renamed from
88225         doc/glibc-functions/iswblank_l.texi.
88226         * doc/posix-functions/iswcntrl_l.texi: Renamed from
88227         doc/glibc-functions/iswcntrl_l.texi.
88228         * doc/posix-functions/iswctype_l.texi: Renamed from
88229         doc/glibc-functions/iswctype_l.texi.
88230         * doc/posix-functions/iswdigit_l.texi: Renamed from
88231         doc/glibc-functions/iswdigit_l.texi.
88232         * doc/posix-functions/iswgraph_l.texi: Renamed from
88233         doc/glibc-functions/iswgraph_l.texi.
88234         * doc/posix-functions/iswlower_l.texi: Renamed from
88235         doc/glibc-functions/iswlower_l.texi.
88236         * doc/posix-functions/iswprint_l.texi: Renamed from
88237         doc/glibc-functions/iswprint_l.texi.
88238         * doc/posix-functions/iswpunct_l.texi: Renamed from
88239         doc/glibc-functions/iswpunct_l.texi.
88240         * doc/posix-functions/iswspace_l.texi: Renamed from
88241         doc/glibc-functions/iswspace_l.texi.
88242         * doc/posix-functions/iswupper_l.texi: Renamed from
88243         doc/glibc-functions/iswupper_l.texi.
88244         * doc/posix-functions/iswxdigit_l.texi: Renamed from
88245         doc/glibc-functions/iswxdigit_l.texi.
88246         * doc/posix-functions/isxdigit_l.texi: Renamed from
88247         doc/glibc-functions/isxdigit_l.texi.
88248         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
88249         doc/glibc-functions/mbsnrtowcs.texi.
88250         * doc/posix-functions/mkdtemp.texi: Renamed from
88251         doc/glibc-functions/mkdtemp.texi.
88252         * doc/posix-functions/newlocale.texi: Renamed from
88253         doc/glibc-functions/newlocale.texi.
88254         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
88255         doc/glibc-functions/nl_langinfo_l.texi.
88256         * doc/posix-functions/open_memstream.texi: Renamed from
88257         doc/glibc-functions/open_memstream.texi.
88258         * doc/posix-functions/opterr.texi: Renamed from
88259         doc/glibc-functions/opterr.texi.
88260         * doc/posix-functions/optind.texi: Renamed from
88261         doc/glibc-functions/optind.texi.
88262         * doc/posix-functions/optopt.texi: Renamed from
88263         doc/glibc-functions/optopt.texi.
88264         * doc/posix-functions/psignal.texi: Renamed from
88265         doc/glibc-functions/psignal.texi.
88266         * doc/posix-functions/scandir.texi: Renamed from
88267         doc/glibc-functions/scandir.texi.
88268         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
88269         doc/glibc-functions/sched_get_priority_min.texi.
88270         * doc/posix-functions/signgam.texi: Renamed from
88271         doc/glibc-functions/signgam.texi.
88272         * doc/posix-functions/stpcpy.texi: Renamed from
88273         doc/glibc-functions/stpcpy.texi.
88274         * doc/posix-functions/stpncpy.texi: Renamed from
88275         doc/glibc-functions/stpncpy.texi.
88276         * doc/posix-functions/strcasecmp_l.texi: Renamed from
88277         doc/glibc-functions/strcasecmp_l.texi.
88278         * doc/posix-functions/strcoll_l.texi: Renamed from
88279         doc/glibc-functions/strcoll_l.texi.
88280         * doc/posix-functions/strfmon_l.texi: Renamed from
88281         doc/glibc-functions/strfmon_l.texi.
88282         * doc/posix-functions/strftime_l.texi: Renamed from
88283         doc/glibc-functions/strftime_l.texi.
88284         * doc/posix-functions/strncasecmp_l.texi: Renamed from
88285         doc/glibc-functions/strncasecmp_l.texi.
88286         * doc/posix-functions/strndup.texi: Renamed from
88287         doc/glibc-functions/strndup.texi.
88288         * doc/posix-functions/strnlen.texi: Renamed from
88289         doc/glibc-functions/strnlen.texi.
88290         * doc/posix-functions/strsignal.texi: Renamed from
88291         doc/glibc-functions/strsignal.texi.
88292         * doc/posix-functions/strxfrm_l.texi: Renamed from
88293         doc/glibc-functions/strxfrm_l.texi.
88294         * doc/posix-functions/timer_gettime.texi: Renamed from
88295         doc/glibc-functions/timer_gettime.texi.
88296         * doc/posix-functions/tolower_l.texi: Renamed from
88297         doc/glibc-functions/tolower_l.texi.
88298         * doc/posix-functions/toupper_l.texi: Renamed from
88299         doc/glibc-functions/toupper_l.texi.
88300         * doc/posix-functions/towctrans_l.texi: Renamed from
88301         doc/glibc-functions/towctrans_l.texi.
88302         * doc/posix-functions/towlower_l.texi: Renamed from
88303         doc/glibc-functions/towlower_l.texi.
88304         * doc/posix-functions/towupper_l.texi: Renamed from
88305         doc/glibc-functions/towupper_l.texi.
88306         * doc/posix-functions/uselocale.texi: Renamed from
88307         doc/glibc-functions/uselocale.texi.
88308         * doc/posix-functions/vdprintf.texi: Renamed from
88309         doc/glibc-functions/vdprintf.texi.
88310         * doc/posix-functions/wcpcpy.texi:
88311         Renamed from doc/glibc-functions/wcpcpy.texi.
88312         * doc/posix-functions/wcpncpy.texi: Renamed from
88313         doc/glibc-functions/wcpncpy.texi.
88314         * doc/posix-functions/wcscasecmp.texi: Renamed from
88315         doc/glibc-functions/wcscasecmp.texi.
88316         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
88317         doc/glibc-functions/wcscasecmp_l.texi.
88318         * doc/posix-functions/wcscoll_l.texi: Renamed from
88319         doc/glibc-functions/wcscoll_l.texi.
88320         * doc/posix-functions/wcsdup.texi: Renamed from
88321         doc/glibc-functions/wcsdup.texi.
88322         * doc/posix-functions/wcsncasecmp.texi: Renamed from
88323         doc/glibc-functions/wcsncasecmp.texi.
88324         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
88325         doc/glibc-functions/wcsncasecmp_l.texi.
88326         * doc/posix-functions/wcsnlen.texi: Renamed from
88327         doc/glibc-functions/wcsnlen.texi.
88328         * doc/posix-functions/wcsnrtombs.texi: Renamed from
88329         doc/glibc-functions/wcsnrtombs.texi.
88330         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
88331         doc/glibc-functions/wcsxfrm_l.texi.
88332         * doc/posix-functions/wctrans_l.texi: Renamed from
88333         doc/glibc-functions/wctrans_l.texi.
88334         * doc/posix-functions/wctype_l.texi: Renamed from
88335         doc/glibc-functions/wctype_l.texi.
88336         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88337         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
88338         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
88339         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
88340         these subsections.
88341         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
88342         Remove sections.
88344 2008-12-14  Bruno Haible  <bruno@clisp.org>
88346         Update doc for POSIX:2008.
88347         * doc/posix-functions/*.texi: Update URL of POSIX specification.
88349 2008-12-14  Bruno Haible  <bruno@clisp.org>
88351         Update doc for POSIX:2008.
88352         * doc/pastposix-functions/bcmp.texi: Renamed from
88353         doc/posix-functions/bcmp.texi.
88354         * doc/pastposix-functions/bcopy.texi: Renamed from
88355         doc/posix-functions/bcopy.texi.
88356         * doc/pastposix-functions/bsd_signal.texi: Renamed from
88357         doc/posix-functions/bsd_signal.texi.
88358         * doc/pastposix-functions/bzero.texi: Renamed from
88359         doc/posix-functions/bzero.texi.
88360         * doc/pastposix-functions/ecvt.texi: Renamed from
88361         doc/posix-functions/ecvt.texi.
88362         * doc/pastposix-functions/fcvt.texi: Renamed from
88363         doc/posix-functions/fcvt.texi.
88364         * doc/pastposix-functions/ftime.texi: Renamed from
88365         doc/posix-functions/ftime.texi.
88366         * doc/pastposix-functions/gcvt.texi: Renamed from
88367         doc/posix-functions/gcvt.texi.
88368         * doc/pastposix-functions/getcontext.texi: Renamed from
88369         doc/posix-functions/getcontext.texi.
88370         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
88371         doc/posix-functions/gethostbyaddr.texi.
88372         * doc/pastposix-functions/gethostbyname.texi: Renamed from
88373         doc/posix-functions/gethostbyname.texi.
88374         * doc/pastposix-functions/getwd.texi: Renamed from
88375         doc/posix-functions/getwd.texi.
88376         * doc/pastposix-functions/h_errno.texi: Renamed from
88377         doc/posix-functions/h_errno.texi.
88378         * doc/pastposix-functions/index.texi: Renamed from
88379         doc/posix-functions/index.texi.
88380         * doc/pastposix-functions/makecontext.texi: Renamed from
88381         doc/posix-functions/makecontext.texi.
88382         * doc/pastposix-functions/mktemp.texi: Renamed from
88383         doc/posix-functions/mktemp.texi.
88384         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
88385         doc/posix-functions/pthread_attr_getstackaddr.texi.
88386         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
88387         doc/posix-functions/pthread_attr_setstackaddr.texi.
88388         * doc/pastposix-functions/rindex.texi: Renamed from
88389         doc/posix-functions/rindex.texi.
88390         * doc/pastposix-functions/scalb.texi: Renamed from
88391         doc/posix-functions/scalb.texi.
88392         * doc/pastposix-functions/setcontext.texi: Renamed from
88393         doc/posix-functions/setcontext.texi.
88394         * doc/pastposix-functions/swapcontext.texi: Renamed from
88395         doc/posix-functions/swapcontext.texi.
88396         * doc/pastposix-functions/ualarm.texi: Renamed from
88397         doc/posix-functions/ualarm.texi.
88398         * doc/pastposix-functions/usleep.texi: Renamed from
88399         doc/posix-functions/usleep.texi.
88400         * doc/pastposix-functions/vfork.texi: Renamed from
88401         doc/posix-functions/vfork.texi.
88402         * doc/pastposix-functions/wcswcs.texi: Renamed from
88403         doc/posix-functions/wcswcs.texi.
88404         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
88405         (Function Substitutes): Update.
88407 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88409         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
88410         m4/strerror.m4.
88412 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88413             Bruno Haible  <bruno@clisp.org>
88415         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
88417 2008-12-13  Bruno Haible  <bruno@clisp.org>
88419         * modules/strtoull (Depends-on): Remove unistd.
88421 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88423         * modules/strtoull (Depends-on): Add stdlib.
88425 2008-12-11  Simon Josefsson  <simon@josefsson.org>
88427         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
88429 2008-12-10  Jim Meyering  <meyering@redhat.com>
88431         gl_ASSERT: don't say assertions are disabled when they're not
88432         * m4/assert.m4 (gl_ASSERT): Do not make configure report
88433         "checking whether to enable assertions... no", when they are in
88434         fact enabled.  This is solely a bug in the output of configure.
88435         In spite of saying "no", NDEBUG was not defined in that case.
88436         Also, as noted by Eric Blake, leave assertions enabled upon
88437         --enable-assert=INVALID.
88439 2008-12-10  Bruno Haible  <bruno@clisp.org>
88441         Change MODULES.html to refer to POSIX:2008 where possible.
88442         * MODULES.html.sh (POSIX2008_URL): New variable.
88443         (posix_headers): Remove sys/timeb, ucontext.
88444         (posix2001_headers): New variable.
88445         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
88446         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
88447         index, makecontext, mktemp, pthread_attr_getstackaddr,
88448         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
88449         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
88450         (posix2001_functions): New variable.
88451         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
88452         otherwise.
88454 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88456         add missing include to parse-duration.c
88457         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
88458         * modules/parse-duration (Depends-on): Add xalloc.
88460         fix sed script reading maint.mk
88461         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
88462         (syntax-check-rules): Use it.
88464 2008-12-09  Bruno Haible  <bruno@clisp.org>
88466         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
88467         MacOS X 10.4/PowerPC.
88468         Reported by Simon Josefsson.
88470 2008-12-08  Jim Meyering  <meyering@redhat.com>
88472         work around mingw's lack of some S_IF definitions
88473         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
88474         Reported by Simon Josefsson.
88476 2008-12-08  Bruno Haible  <bruno@clisp.org>
88478         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
88479         applied to variables. Needed on MacOS X 10.4/PowerPC.
88480         Reported by Simon Josefsson.
88482 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
88483         and Eric Blake  <ebb9@byu.net>
88485         assert: honor --enable-assert
88486         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
88487         order to honor --enable-assert, rather than treating it as a
88488         synonym for --disable-assert.
88490 2008-12-08  Jim Meyering  <meyering@redhat.com>
88492         * lib/posixtm.c: Remove now-useless declaration of mktime.
88494         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
88496 2008-12-07  Bruno Haible  <bruno@clisp.org>
88498         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
88499         test_once): Mark functions as static.
88500         * tests/test-tls.c (test_tls): Likewise.
88502 2008-12-07  Bruno Haible  <bruno@clisp.org>
88504         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
88505         iconv_register_autodetect.
88507 2008-12-07  Jim Meyering  <meyering@redhat.com>
88509         posixtm.c: avoid a warning
88510         * lib/posixtm.c (posixtime): Don't initialize tm0.
88511         It's no longer needed to placate gcc4's -Wuninitialized,
88512         and the attempt to placate would elicit a new warning.
88514         unicodeio.c: mark unused parameters
88515         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
88516         (fallback_failure_callback): Likewise.
88518 2008-12-07  Bruno Haible  <bruno@clisp.org>
88520         * gnulib-tool (func_create_testdir): When building the tests
88521         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
88522         Reported by Simon Josefsson.
88524 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88526         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
88528 2008-12-06  Bruno Haible  <bruno@clisp.org>
88530         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
88531         Suggested by Eric Blake.
88533 2008-12-06  Bruno Haible  <bruno@clisp.org>
88535         Fix a c-stack test failure on MacOS X.
88536         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
88537         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
88538         handler for SIGBUS as well.
88539         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
88540         install a signal handler for SIGBUS as well.
88541         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
88543 2008-12-06  Bruno Haible  <bruno@clisp.org>
88545         Advocacy documentation.
88546         * doc/gnulib-intro.texi (Benefits): New section.
88547         * doc/gnulib.texi: Update.
88549 2008-12-06  Bruno Haible  <bruno@clisp.org>
88551         Document the 'manywarnings' module.
88552         * doc/manywarnings.texi: New file.
88553         * doc/gnulib.texi: Include it.
88555 2008-12-05  Eric Blake  <ebb9@byu.net>
88557         tests: silence some gcc warnings
88558         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
88559         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
88560         type mismatches.
88562 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88563             Bruno Haible  <bruno@clisp.org>
88565         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
88567 2008-11-29  Jim Meyering  <meyering@redhat.com>
88569         unicodeio.c: mark unused parameters
88570         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
88571         (fallback_failure_callback): Likewise.
88573         fts: fix a thinko
88574         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
88575         (set_stat_type): Return S_IF*-valued "type" directly.
88576         Prompted by James Youngman's spotting a related bug.
88577         Confirmed by further testing through find.
88579         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
88580         * lib/fts.c (D_TYPE): Define.
88581         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
88582         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
88583         (s_ifmt_shift_bits): New function.
88584         (set_stat_type): New function.
88585         (fts_build): When not calling fts_stat, call set_stat_type
88586         to propagate dirent.d_type info to fts_read caller.
88587         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
88588         fts_statp->st_mode type information may be valid.
88590 2008-11-28  Simon Josefsson  <simon@josefsson.org>
88592         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
88593         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
88594         <sds@gnu.org>.
88596 2008-11-20  Bruno Haible  <bruno@clisp.org>
88598         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
88599         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
88600         INCLUDE_NEXT.
88601         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
88602         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
88603         * modules/math (Makefile.am): Substitute
88604         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
88605         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88607 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
88608             Bruno Haible  <bruno@clisp.org>
88610         * lib/stdint.in.h: Define all type macros so that their expansion is
88611         a single typedef'ed token. Fixes a compilation failure in Boost which
88612         does "using ::int8_t;".
88614 2008-11-18  Simon Josefsson  <simon@josefsson.org>
88616         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
88617         gl_MANYWARN_ALL_GCC.
88618         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
88619         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
88620         * modules/manywarnings: New file.
88621         * MODULES.html.sh: Mention manywarnings module.
88623 2008-11-18  Bruno Haible  <bruno@clisp.org>
88625         * doc/gnulib-tool.texi (Unit tests): New section.
88627 2008-11-18  Simon Josefsson  <simon@josefsson.org>
88629         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
88630         paths like 'lib/po/foo.po'.
88632 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88634         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
88635         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
88637 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88639         * m4/warnings.m4: Use CPPFLAGS to really check whether the
88640         parameter works.
88642 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88644         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
88646 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88648         * modules/parse-duration-tests: New file.
88649         * tests/test-parse-duration.sh: New file.
88650         * tests/test-parse-duration.c: New file.
88652         New module 'parse-duration'.
88653         * lib/parse-duration.h: New file.
88654         * lib/parse-duration.c: New file.
88655         * modules/parse-duration: New file.
88657 2008-11-17  Bruno Haible  <bruno@clisp.org>
88659         * tests/test-select-out.sh: Comment out the first pipe test.
88660         Reported by Simon Josefsson.
88662 2008-11-17  Bruno Haible  <bruno@clisp.org>
88664         * modules/getaddrinfo (Depends-on): Add servent, hostent.
88665         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
88666         gl_HOSTENT.
88668 2008-11-17  Bruno Haible  <bruno@clisp.org>
88670         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
88671         -lnetwork and -lnet. Needed for Haiku and BeOS.
88673 2008-11-16  Bruno Haible  <bruno@clisp.org>
88675         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
88677 2008-11-16  Bruno Haible  <bruno@clisp.org>
88679         Avoid test failure on Haiku.
88680         * tests/test-fsync.c: Include <errno.h>.
88681         (main): Don't require that fsync (0) fails.
88683 2008-11-15  Bruno Haible  <bruno@clisp.org>
88685         New module 'hostent'.
88686         * modules/hostent: New file.
88687         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
88689 2008-11-15  Bruno Haible  <bruno@clisp.org>
88691         New module 'servent'.
88692         * modules/servent: New file.
88693         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
88695 2008-11-15  Bruno Haible  <bruno@clisp.org>
88697         Avoid generating same test program with two different rules.
88698         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
88699         test-frexp to test-frexp-nolibm.
88700         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
88701         test-frexpl to test-frexpl-nolibm.
88703 2008-11-15  Bruno Haible  <bruno@clisp.org>
88705         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
88706         $(FREXPL_LIBM).
88708 2008-11-15  Bruno Haible  <bruno@clisp.org>
88710         * lib/netdb.in.h: Activate the definitions also when the system's
88711         <netdb.h> has 'struct addrinfo'.
88712         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
88713         EAI_OVERFLOW or AI_NUMERICSERV.
88714         * doc/posix-headers/netdb.texi: Document the problem.
88716 2008-11-15  Bruno Haible  <bruno@clisp.org>
88718         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
88720         Make the 'sched' module work on platforms where <sched.h> exists but
88721         is incomplete (such as Haiku).
88722         * lib/sched.in.h; Include the system's <sched.h> if it exists.
88723         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
88724         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
88725         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
88726         HAVE_STRUCT_SCHED_PARAM.
88727         * modules/sched (Depends-on): Add include_next.
88728         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
88729         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
88730         * doc/posix-headers/sched.texi: Document the issue.
88732 2008-11-13  Jim Meyering  <meyering@redhat.com>
88734         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
88735         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
88736         test would fail due to the difference in the Report bugs to ...
88737         line.  The expected address is empty, "<>", while the actual
88738         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
88740 2008-11-12  Bruno Haible  <bruno@clisp.org>
88742         lstat: don't compile lstat.c on systems lacking lstat
88743         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
88744         which don't have lstat; this is handled by lib/sys_stat.in.h already.
88745         Reported by Daniel P. Berrange via Jim Meyering.
88747 2008-11-12  Jim Meyering  <meyering@redhat.com>
88749         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
88751 2008-11-12  Simon Josefsson  <simon@josefsson.org>
88753         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
88754         instead.
88756 2008-11-12  Bruno Haible  <bruno@clisp.org>
88758         * lib/unicodeio.c: Include unistr.h.
88759         (utf8_wctomb): Remove function.
88760         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
88762 2008-11-12  Simon Josefsson  <simon@josefsson.org>
88764         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
88765         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
88766         <bruno@clisp.org>.
88767         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
88769 2008-11-12  Simon Josefsson  <simon@josefsson.org>
88771         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
88772         * doc/gnulib.texi: Add section for warnings.
88774 2008-11-11  Bruno Haible  <bruno@clisp.org>
88776         * lib/sockets.h: Add a comment.
88778 2008-11-11  Karl Berry  <karl@gnu.org>
88780         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
88782 2008-11-11  Eric Blake  <ebb9@byu.net>
88784         fdl.texi: avoid git symlinks
88785         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
88787 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
88789         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
88791 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
88793         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
88794         (gl_WARN_ADD): Substitute $2 if literal.
88796 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
88798         * m4/warning.m4: Remove.
88800 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
88802         * m4/warnings.m4: Almost complete rewrite. :-)
88804 2008-11-10  Simon Josefsson  <simon@josefsson.org>
88806         * modules/warnings: New module.
88807         * m4/warnings.m4: New file.
88808         * MODULES.html.sh: Mention warnings module.
88809         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
88810         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
88812 2008-11-10  Eric Blake  <ebb9@byu.net>
88814         fdl.texi: make a symlink to the latest version
88815         * doc/standards.texi: Revert today's earlier change.
88816         * doc/fdl-1.2.texi: Rename from old fdl.texi...
88817         * doc/fdl.texi: ...and replace this with a symlink to the newer
88818         fdl-1.3.texi.
88820 2008-11-10  Bruno Haible  <bruno@clisp.org>
88822         * tests/test-select-fd.c (main): Accept the result file name as fourth
88823         argument.
88824         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
88825         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
88827 2008-11-10  Bruno Haible  <bruno@clisp.org>
88829         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
88830         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
88831         as autoconf-substituted macros.
88832         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
88833         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
88834         gl_NETDB_H_DEFAULTS. Set these variables.
88835         * modules/netdb (Makefile.am): Substitute these variables.
88837 2008-11-10  Eric Blake  <ebb9@byu.net>
88839         standards.texi: include correct file for FDL 1.3
88840         * doc/standards.texi (GNU Free Documentation License): Change
88841         include file to pull in FDL 1.3, not 1.2.
88843         fdl.texi: revert accidental change to license
88844         * doc/fdl.texi: This is FDL 1.2, not 1.3.
88846 2008-11-10  Bruno Haible  <bruno@clisp.org>
88848         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
88849         cross-compiling guesses also when the native compile gives no result.
88851 2008-11-10  Bruno Haible  <bruno@clisp.org>
88853         * lib/spawni.c (__spawni): Force variable into the stack.
88855 2008-11-10  Bruno Haible  <bruno@clisp.org>
88857         Add support for Haiku.
88858         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
88859         glibc and BeOS, but also on Haiku.
88860         * lib/fpurge.c (fpurge): Likewise.
88861         * lib/freadable.c (freadable): Likewise.
88862         * lib/freadahead.c (freadahead): Likewise.
88863         * lib/freading.c (freading): Likewise.
88864         * lib/freadptr.c (freadptr): Likewise.
88865         * lib/freadseek.c (freadptrinc): Likewise.
88866         * lib/fseeko.c (rpl_fseeko): Likewise.
88867         * lib/fseterr.c (fseterr): Likewise.
88868         * lib/fwritable.c (fwritable): Likewise.
88869         * lib/fwriting.c (fwriting): Likewise.
88870         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
88872 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
88874         * lib/config.charset: Treat Haiku like BeOS.
88876 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
88878         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
88879         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
88881 2008-11-08  Bruno Haible  <bruno@clisp.org>
88883         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
88884         AC_CACHE_CHECK.
88886 2008-11-08  Bruno Haible  <bruno@clisp.org>
88888         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
88890 2008-11-08  Bruno Haible  <bruno@clisp.org>
88892         * tests/test-select-fd.c: New file.
88893         * tests/test-select-in.sh: New file.
88894         * tests/test-select-out.sh: New file.
88895         * tests/test-select-stdin.c: New file.
88896         * modules/select-tests (Files): Add the new files.
88897         (Depends-on): Add gettimeofday.
88898         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
88899         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
88900         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
88902 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
88903             Bruno Haible  <bruno@clisp.org>
88905         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
88907 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
88909         * build-aux/pmccabe2html: Added support for C++ source files.
88911 2008-11-05  Ben Pfaff  <blp@gnu.org>
88913         Fix lib/close.c build on Windows.
88914         * modules/close (Files): Add lib/w32sock.h.
88916 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
88918         Accept Bison's NEWS format.
88919         * build-aux/announce-gen (print_news_deltas): Tweak
88920         $re_prefix.
88922 2008-11-04  Bruno Haible  <bruno@clisp.org>
88924         * modules/random_r (Maintainer): Add glibc.
88926 2008-11-04  Simon Josefsson  <simon@josefsson.org>
88928         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
88929         by karl@freefriends.org (Karl Berry).
88930         * doc/alloca.texi: Likewise.
88931         * doc/c-ctype.texi: Likewise.
88932         * doc/c-strcase.texi: Likewise.
88933         * doc/c-strcaseeq.texi: Likewise.
88934         * doc/c-strcasestr.texi: Likewise.
88935         * doc/c-strstr.texi: Likewise.
88936         * doc/c-strtod.texi: Likewise.
88937         * doc/c-strtold.texi: Likewise.
88938         * doc/ctime.texi: Likewise.
88939         * doc/error.texi: Likewise.
88940         * doc/fdl.texi: Likewise.
88941         * doc/gcd.texi: Likewise.
88942         * doc/getdate.texi: Likewise.
88943         * doc/gnulib-intro.texi: Likewise.
88944         * doc/gnulib-tool.texi: Likewise.
88945         * doc/gnulib.texi: Likewise.
88946         * doc/inet_ntoa.texi: Likewise.
88947         * doc/maintain.texi: Likewise.
88948         * doc/make-stds.texi: Likewise.
88949         * doc/quote.texi: Likewise.
88950         * doc/regexprops-generic.texi: Likewise.
88951         * doc/standards.texi: Likewise.
88952         * doc/verify.texi: Likewise.
88953         * doc/visibility.texi: Likewise.
88954         * doc/gnulib.texi (GNU Free Documentation License): Include
88955         fdl-1.3.texi instead of fdl.texi.
88957 2008-11-04  Simon Josefsson  <simon@josefsson.org>
88959         * doc/fdl-1.3.texi: New file, from
88960         <http://www.gnu.org/licenses/fdl-1.3.texi>.
88961         * modules/fdl-1.3: Add.
88962         * MODULES.html.sh: Add fdl-1.3.
88964 2008-11-03  Bruno Haible  <bruno@clisp.org>
88966         Make determination of absolute name of header file work with AIX xlc.
88967         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
88968         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
88969         preprocessing.
88970         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
88971         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
88973 2008-11-03  Simon Josefsson  <simon@josefsson.org>
88975         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
88976         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
88977         <ludo@gnu.org>.
88979 2008-11-02  Bruno Haible  <bruno@clisp.org>
88981         Mark 'strpbrk' obsolete.
88982         * modules/strpbrk (Status, Notice): New sections.
88983         * modules/strtok_r (Depends-on): Add strpbrk.
88985 2008-11-02  Bruno Haible  <bruno@clisp.org>
88987         Mark 'strdup' obsolete.
88988         * modules/strdup (Status, Notice): New sections.
88989         * modules/findprog (Depends-on): Add strdup.
88990         * modules/getaddrinfo (Depends-on): Likewise.
88991         * modules/localename (Depends-on): Likewise.
88992         * modules/relocatable-lib (Depends-on): Likewise.
88993         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
88994         * modules/relocatable-prog (Depends-on): Likewise.
88995         * modules/trim (Depends-on): Likewise.
88996         * modules/unictype/gen-ctype (Depends-on): Likewise.
88997         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
88999 2008-11-02  Bruno Haible  <bruno@clisp.org>
89001         Mark 'strcspn' obsolete.
89002         * modules/strcspn (Status, Notice): New sections.
89004 2008-11-02  Bruno Haible  <bruno@clisp.org>
89006         Mark 'rmdir' obsolete.
89007         * modules/rmdir (Status, Notice): New sections.
89008         * modules/clean-temp (Depends-on): Add rmdir.
89009         * modules/openat (Depends-on): Likewise.
89011 2008-11-02  Bruno Haible  <bruno@clisp.org>
89013         Mark 'raise' obsolete.
89014         * modules/raise (Status, Notice): New sections.
89015         (Include): Specify <signal.h>.
89016         * modules/stdio (Depends-on): Add raise.
89017         * modules/write (Depends-on): Likewise.
89019 2008-11-02  Bruno Haible  <bruno@clisp.org>
89021         Mark 'memset' obsolete.
89022         * modules/memset (Status, Notice): New sections.
89024 2008-11-02  Bruno Haible  <bruno@clisp.org>
89026         Mark 'memmove' obsolete.
89027         * modules/memmove (Status, Notice): New sections.
89028         * modules/argp (Depends-on): Add memmove.
89029         * modules/argz (Depends-on): Likewise.
89030         * modules/canonicalize (Depends-on): Likewise.
89031         * modules/canonicalize-lgpl (Depends-on): Likewise.
89032         * modules/fts (Depends-on): Likewise.
89033         * modules/getcwd (Depends-on): Likewise.
89034         * modules/human (Depends-on): Likewise.
89035         * modules/regex (Depends-on): Likewise.
89036         * modules/striconveh (Depends-on): Likewise.
89037         * modules/trim (Depends-on): Likewise.
89038         * modules/unistr/u8-move (Depends-on): Likewise.
89039         * modules/unistr/u16-move (Depends-on): Likewise.
89040         * modules/unistr/u32-move (Depends-on): Likewise.
89042 2008-11-02  Bruno Haible  <bruno@clisp.org>
89044         Mark 'memcpy' obsolete.
89045         * modules/memcpy (Status, Notice): New sections.
89047 2008-11-02  Bruno Haible  <bruno@clisp.org>
89049         Mark 'memcmp' obsolete.
89050         * modules/memcmp (Status, Notice): New sections.
89051         * modules/argmatch (Depends-on): Add memchr.
89052         * modules/backupfile (Depends-on): Likewise.
89053         * modules/c-strcasestr (Depends-on): Likewise.
89054         * modules/crypto/des (Depends-on): Likewise.
89055         * modules/csharpcomp (Depends-on): Likewise.
89056         * modules/fnmatch (Depends-on): Likewise.
89057         * modules/git-merge-changelog (Depends-on): Likewise.
89058         * modules/isnand (Depends-on): Likewise.
89059         * modules/isnand-nolibm (Depends-on): Likewise.
89060         * modules/isnanf (Depends-on): Likewise.
89061         * modules/isnanf-nolibm (Depends-on): Likewise.
89062         * modules/isnanl (Depends-on): Likewise.
89063         * modules/isnanl-nolibm (Depends-on): Likewise.
89064         * modules/mbchar (Depends-on): Likewise.
89065         * modules/memcoll (Depends-on): Likewise.
89066         * modules/quotearg (Depends-on): Likewise.
89067         * modules/regex (Depends-on): Likewise.
89068         * modules/relocatable-prog (Depends-on): Likewise.
89069         * modules/same (Depends-on): Likewise.
89070         * modules/signbit (Depends-on): Likewise.
89071         * modules/strcasestr-simple (Depends-on): Likewise.
89072         * modules/unictype/gen-ctype (Depends-on): Likewise.
89073         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89074         * modules/uniname/uniname (Depends-on): Likewise.
89075         * modules/unistr/u8-cmp (Depends-on): Likewise.
89077 2008-11-02  Bruno Haible  <bruno@clisp.org>
89079         Mark 'memchr' obsolete.
89080         * modules/memchr (Status, Notice): New sections.
89081         * modules/argp (Depends-on): Add memchr.
89082         * modules/base64 (Depends-on): Likewise.
89083         * modules/c-strcasestr (Depends-on): Likewise.
89084         * modules/chdir-long (Depends-on): Likewise.
89085         * modules/fnmatch (Depends-on): Likewise.
89086         * modules/getsubopt (Depends-on): Likewise.
89087         * modules/git-merge-changelog (Depends-on): Likewise.
89088         * modules/glob (Depends-on): Likewise.
89089         * modules/strcasestr-simple (Depends-on): Likewise.
89090         * modules/strnlen (Depends-on): Likewise.
89092 2008-11-02  Bruno Haible  <bruno@clisp.org>
89094         Mark 'atexit' obsolete.
89095         * modules/atexit (Status, Notice): New sections.
89096         * modules/chdir-long (Depends-on): Add atexit.
89097         * modules/wait-process (Depends-on): Likewise.
89099 2008-11-02  Bruno Haible  <bruno@clisp.org>
89101         * gnulib-tool: New option --with-obsolete.
89102         (func_usage): Document it.
89103         (func_modules_transitive_closure): Drop obsolete dependencies if
89104         incobsolete is not true.
89105         (func_import): Read and save the incobsolete variable to the cache.
89107 2008-11-02  Bruno Haible  <bruno@clisp.org>
89109         * modules/TEMPLATE-EXTENDED: New field 'Status'.
89110         * gnulib-tool: New option --extract-status.
89111         (func_usage): Document it.
89112         (sed_extract_prog): Recognize it.
89113         (func_get_status): New function.
89115 2008-10-30  Simon Josefsson  <simon@josefsson.org>
89117         * modules/sockets (License): Change from LGPL to LGPLv2+.
89119 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89121         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
89123 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89125         * MODULES.html.sh (Support for systems lacking POSIX:2001):
89126         Mention times and sys_times.
89127         * modules/sys_times, modules/sys_times-tests: New modules.
89128         * modules/times, modules/times-tests: Likewise
89129         * m4/sys_times_h.m4: New file.
89130         * lib/sys_times.in.h: Likewise
89131         * lib/times.c: Likewise.
89132         * tests/test-sys_times.c: Likewise.
89133         * tests/test-times.c: Likewise.
89134         * doc/posix-headers/sys_times.texi: Update.
89135         * doc/posix-functions/times.texi: Update.
89137 2008-10-28  Jim Meyering  <meyering@redhat.com>
89139         * modules/tempname (Depends-on): Add lstat.
89141         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
89143 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89145         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
89146         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
89147         using idiom used elsewhere in gnulib.
89149 2008-10-27  Jim Meyering  <meyering@redhat.com>
89151         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
89153 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89155         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
89156         TESTS_ENVIRONMENT, for shell scripts that needs to call built
89157         programs.
89158         * tests/test-argp-2.sh: Use $EXEEXT when needed.
89160 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89162         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
89164 2008-10-27  Bruno Haible  <bruno@clisp.org>
89166         * tests/test-lstat.c: Include <stdio.h>.
89168 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89170         * modules/lstat-tests: New module.
89171         * tests/test-lstat.c: New file.
89173 2008-10-26  Jim Meyering  <meyering@redhat.com>
89175         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
89177 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89178             Bruno Haible  <bruno@clisp.org>
89180         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
89181         * modules/configmake (Include): Add a note that the include must come
89182         after all system headers.
89183         * lib/javaversion.c: Include configmake.h after all other includes.
89185 2008-10-26  Bruno Haible  <bruno@clisp.org>
89187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
89188         HAVE_STRUCT_RANDOM_DATA to 1.
89189         (gl_STDLIB_H): Simplify.
89191 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89193         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
89194         substitute HAVE_STRUCT_RANDOM_DATA.
89195         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
89196         random_data.
89197         * modules/stdlib (Makefile.am): Substitute
89198         HAVE_STRUCT_RANDOM_DATA.
89200 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89202         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
89203         * doc/gnulib-intro.texi (Copyright): Likewise.
89205 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89207         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
89208         findings.
89210 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
89211             Bruno Haible  <bruno@clisp.org>
89213         * lib/unistd.in.h: Include <winsock2.h>.
89214         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
89215         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
89216         Provide dummy declarations.
89217         (gethostname): Override.
89218         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
89219         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
89220         gl_PREREQ_SYS_H_WINSOCK2.
89221         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
89222         * doc/posix-functions/gethostname.texi: More details.
89224 2008-10-25  Bruno Haible  <bruno@clisp.org>
89226         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
89227         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
89228         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
89230         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
89231         here ...
89232         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
89233         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
89234         gl_UNISTD_H_DEFAULTS.
89236 2008-10-25  Eric Blake  <ebb9@byu.net>
89238         signbit: avoid spurious compiler failure
89239         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
89240         declarations inside function.
89242 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89243             Bruno Haible  <bruno@clisp.org>
89245         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
89246         * modules/random_r (Depends-on): Add stdint.
89248 2008-10-24  Bruno Haible  <bruno@clisp.org>
89250         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
89251         Eggert.
89252         * modules/strerror (License): Likewise.
89254 2008-10-24  Jim Meyering  <meyering@redhat.com>
89256         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
89257         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
89259 2008-10-24  Eric Blake  <ebb9@byu.net>
89261         getgroups: fix compilation when getgroups is available
89262         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
89263         but with <config.h> override of getgroups disabled.
89265 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89267         * doc/gnulib.texi (Header files): Add note about C++ problems.
89268         Explained by Bruno Haible <bruno@clisp.org>.
89270 2008-10-23  Bruno Haible  <bruno@clisp.org>
89272         Define a dummy SA_NODEFER macro on Interix.
89273         * lib/signal.in.h (SA_NODEFER): Define fallback.
89274         Reported by Aleksey Cheusov <cheusov@tut.by> via
89275         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
89277 2008-10-23  Bruno Haible  <bruno@clisp.org>
89279         * modules/freadahead (License): Change to LGPLv2+.
89280         Suggested by Simon Josefsson.
89282 2008-10-23  Jim Meyering  <meyering@redhat.com>
89284         random_r: new module
89285         * modules/random_r: New file.
89286         * m4/random_r.m4: New file.
89287         * lib/random_r.c: New file, from glibc.
89288         * modules/random_r-tests: New file.
89289         * tests/test-random_r.c: New file.
89290         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
89291          Declare.
89292         (RAND_MAX): Define.
89293         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
89294         * modules/stdlib: Substitute them, too.
89295         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
89296         * doc/glibc-functions/initstate_r.texi: Mention the new module.
89297         * doc/glibc-functions/random_r.texi: Likewise.
89298         * doc/glibc-functions/setstate_r.texi: Likewise.
89299         * doc/glibc-functions/srandom_r.texi: Likewise.
89300         * config/srclist.txt: Mention it.
89302 2008-10-23  David Lutterkort  <lutter@redhat.com>
89304         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
89305         link requirement
89307 2008-10-23  Jim Meyering  <meyering@redhat.com>
89309         selinux-h: mark parameters of stub functions as intentionally unused
89310         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
89311         * lib/se-context.in.h: Likewise.
89313 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89315         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
89317 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89319         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
89321 2008-10-22  Eric Blake  <ebb9@byu.net>
89323         glthread/thread: avoid compiler warning
89324         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
89325         Add unreachable abort to silence compiler.
89327 2008-10-22  Eric Blake  <ebb9@byu.net>
89329         netdb: also supply struct addrinfo for cygwin 1.5.x
89330         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
89331         older cygwin.
89332         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
89333         cygwin.
89334         * doc/posix-headers/netdb.texi (netdb.h): Document this.
89336 2008-10-22  Bruno Haible  <bruno@clisp.org>
89338         * users.txt: Update entry about pspp.
89340 2008-10-21  Bruno Haible  <bruno@clisp.org>
89342         Simplification.
89343         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
89344         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
89346         Simplification.
89347         * lib/ioctl.c (ioctl): Don't undefine.
89348         * lib/socket.c (socket): Don't undefine.
89350         Remove unused module indicator macros.
89351         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
89352         GNULIB_$1 as a C macro.
89354         * doc/posix-functions/close.texi: Undo last change.
89355         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
89356         Windows platforms.
89358 2008-10-21  Bruno Haible  <bruno@clisp.org>
89360         Add gethostname() declaration to <unistd.h>.
89361         * lib/unistd.in.h (gethostname): New declaration.
89362         * lib/gethostname.c: Include <unistd.h>.
89363         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
89364         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
89365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
89366         and HAVE_GETHOSTNAME.
89367         * modules/gethostname (Depends-on): Add unistd.
89368         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89369         (Include): Specify <unistd.h>.
89370         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
89371         HAVE_GETHOSTNAME.
89372         * tests/test-gethostname.c: Include <unistd.h> first.
89374 2008-10-21  Bruno Haible  <bruno@clisp.org>
89376         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
89377         * modules/select-tests (Depends-on): Likewise.
89378         Reported by Simon Josefsson.
89380 2008-10-21  Simon Josefsson  <simon@josefsson.org>
89382         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
89383         * lib/accept.c: New file, based on winsock.c.
89384         * lib/bind.c: New file, based on winsock.c.
89385         * lib/connect.c: New file, based on winsock.c.
89386         * lib/getpeername.c: New file, based on winsock.c.
89387         * lib/getsockname.c: New file, based on winsock.c.
89388         * lib/getsockopt.c: New file, based on winsock.c.
89389         * lib/ioctl.c: New file, based on winsock.c.
89390         * lib/listen.c: New file, based on winsock.c.
89391         * lib/recv.c: New file, based on winsock.c.
89392         * lib/recvfrom.c: New file, based on winsock.c.
89393         * lib/send.c: New file, based on winsock.c.
89394         * lib/sendto.c: New file, based on winsock.c.
89395         * lib/setsockopt.c: New file, based on winsock.c.
89396         * lib/shutdown.c: New file, based on winsock.c.
89397         * lib/socket.c: New file, based on winsock.c.
89398         * lib/w32sock.h: New file, based on winsock.c.
89399         * lib/winsock.c: Remove file.
89400         * modules/accept: Likewise.
89401         * modules/bind: Likewise.
89402         * modules/connect: Likewise.
89403         * modules/getpeername: Likewise.
89404         * modules/getsockname: Likewise.
89405         * modules/getsockopt: Likewise.
89406         * modules/ioctl: Likewise.
89407         * modules/listen: Likewise.
89408         * modules/recv: Likewise.
89409         * modules/recvfrom: Likewise.
89410         * modules/send: Likewise.
89411         * modules/sendto: Likewise.
89412         * modules/setsockopt: Likewise.
89413         * modules/shutdown: Likewise.
89414         * modules/socket: Use socket.c instead of winsock.c.
89415         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
89416         * doc/posix-functions/accept.texi: Doc fix.
89417         * doc/posix-functions/bind.texi: Doc fix.
89418         * doc/posix-functions/close.texi: Doc fix.
89419         * doc/posix-functions/connect.texi: Doc fix.
89420         * doc/posix-functions/getpeername.texi: Doc fix.
89421         * doc/posix-functions/getsockname.texi: Doc fix.
89422         * doc/posix-functions/getsockopt.texi: Doc fix.
89423         * doc/posix-functions/ioctl.texi: Doc fix.
89424         * doc/posix-functions/listen.texi: Doc fix.
89425         * doc/posix-functions/recv.texi: Doc fix.
89426         * doc/posix-functions/recvfrom.texi: Doc fix.
89427         * doc/posix-functions/send.texi: Doc fix.
89428         * doc/posix-functions/sendto.texi: Doc fix.
89429         * doc/posix-functions/setsockopt.texi: Doc fix.
89430         * doc/posix-functions/shutdown.texi: Doc fix.
89431         * doc/posix-functions/socket.texi: Doc fix.
89433 2008-10-20  Bruno Haible  <bruno@clisp.org>
89435         Take into account the role of SIGABRT_COMPAT on Windows 2008.
89436         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
89437         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
89438         as an alias for SIGABRT.
89439         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
89440         (sigaction): Map it to SIGABRT.
89441         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
89443 2008-10-20  Bruno Haible  <bruno@clisp.org>
89445         * lib/fts.c: Don't include lstat.h.
89446         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
89448         Move the lstat() declaration to <sys/stat.h>.
89449         * lib/lstat.h: Remove file.
89450         * lib/sys_stat.in.h: Add special invocation convention.
89451         (lstat): New declaration.
89452         * lib/lstat.c (orig_lstat): New function.
89453         (rpl_lstat): Use orig_lstat instead of lstat.
89454         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
89455         AC_C_INLINE. Set REPLACE_LSTAT.
89456         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
89457         and REPLACE_LSTAT.
89458         * modules/lstat (Files): Remove lib/lstat.h.
89459         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
89460         (Include): Specify <sys/stat.h> instead of lstat.h.
89461         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
89462         REPLACE_LSTAT.
89463         * NEWS: Mention the change.
89465 2008-10-20  Bruno Haible  <bruno@clisp.org>
89467         * modules/posix_spawn-tests: New file.
89468         * tests/test-posix_spawn3.c: New file.
89470 2008-10-20  Bruno Haible  <bruno@clisp.org>
89472         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
89473         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
89474         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
89475         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
89476         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
89478 2008-10-20  Bruno Haible  <bruno@clisp.org>
89480         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
89481         of posix_spawn on AIX 5.3.
89483 2008-10-20  Bruno Haible  <bruno@clisp.org>
89485         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
89487 2008-10-20  Bruno Haible  <bruno@clisp.org>
89489         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
89490         of AC_LANG_PROGRAM.
89492 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89494         * lib/netdb.in.h: Don't define GNU specific constants until they
89495         are supported or needed.  Reported by Bruno Haible
89496         <bruno@clisp.org>.
89498 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89500         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
89502 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89504         * lib/getaddrinfo.h: Remove file.
89505         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
89506         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
89507         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
89508         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
89509         * modules/netdb: Substitute GNULIB_GETADDRINFO.
89510         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
89511         * tests/test-getaddrinfo.c: Likewise.
89512         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
89513         * NEWS: Mention change.
89515 2008-10-19  Bruno Haible  <bruno@clisp.org>
89517         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
89519 2008-10-19  Bruno Haible  <bruno@clisp.org>
89521         * lib/wait-process.c: Include simply <sys/wait.h>.
89522         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
89523         WIFSTOPPED): Remove fallback definitions.
89524         * modules/wait-process (Depends-on): Add sys_wait.
89526         New module 'sys_wait'.
89527         * modules/sys_wait: New file.
89528         * lib/sys_wait.in.h: New file, partially copied from
89529         lib/wait-process.c.
89530         * m4/sys_wait_h.m4: New file.
89531         * doc/posix-headers/sys_wait.texi: Mention the new module.
89533 2008-10-19  Bruno Haible  <bruno@clisp.org>
89535         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
89537 2008-10-19  Bruno Haible  <bruno@clisp.org>
89539         Assume that waitpid() fills an 'int' status, not a 'union wait'.
89540         * lib/wait-process.c (WAIT_T): Remove type.
89541         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
89542         (wait_subprocess): Update.
89544 2008-10-19  Bruno Haible  <bruno@clisp.org>
89546         New module 'atoll'.
89547         * modules/atoll: New file.
89548         * lib/stdlib.in.h (atoll): New declaration.
89549         * lib/atoll.c: New file, from glibc with modifications.
89550         * m4/atoll.m4: New file.
89551         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
89552         HAVE_ATOLL.
89553         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
89554         * doc/posix-functions/atoll.texi: Mention the new module.
89556 2008-10-19  Bruno Haible  <bruno@clisp.org>
89558         Add strtoull() declaration to <stdlib.h>.
89559         * lib/stdlib.in.h (strtoull): New declaration.
89560         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
89561         Set HAVE_STRTOULL.
89562         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
89563         HAVE_STRTOULL.
89564         * modules/strtoull (Depends-on): Add stdlib.
89565         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89566         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
89567         HAVE_STRTOULL.
89569 2008-10-19  Bruno Haible  <bruno@clisp.org>
89571         Add strtoll() declaration to <stdlib.h>.
89572         * lib/stdlib.in.h (strtoll): New declaration.
89573         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
89574         Set HAVE_STRTOLL.
89575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
89576         HAVE_STRTOLL.
89577         * modules/strtoll (Depends-on): Add stdlib.
89578         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89579         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
89581 2008-10-19  Bruno Haible  <bruno@clisp.org>
89583         * modules/bcopy (Depends-on): Add strings.
89584         (Include): Specify <strings.h>.
89586 2008-10-19  Bruno Haible  <bruno@clisp.org>
89588         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
89590 2008-10-19  Bruno Haible  <bruno@clisp.org>
89592         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
89593         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
89594         mingw.
89596 2008-10-19  Bruno Haible  <bruno@clisp.org>
89598         * lib/atanl.c: Don't include isnanl.h.
89599         * lib/cosl.c: Likewise.
89600         * lib/ldexpl.c: Likewise.
89601         * lib/logl.c: Likewise.
89602         * lib/sinl.c: Likewise.
89603         * lib/sqrtl.c: Likewise.
89604         * lib/tanl.c: Likewise.
89606         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
89607         * lib/isnanf.h: Remove file.
89608         * lib/isnand.h: Remove file.
89609         * lib/isnanl.h: Remove file.
89610         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
89611         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
89612         macros.
89613         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
89614         HAVE_ISNANF, don't define it as a C macro.
89615         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
89616         HAVE_ISNAND, don't define it as a C macro.
89617         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
89618         HAVE_ISNANL, don't define it as a C macro.
89619         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
89620         HAVE_ISNAN[FDL].
89621         * modules/isnanf (Files): Remove lib/isnanf.h.
89622         (Depends-on): Add math.
89623         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89624         (Include): Specify <math.h> instead of isnanf.h.
89625         * modules/isnand (Files): Remove lib/isnand.h.
89626         (Depends-on): Add math.
89627         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89628         (Include): Specify <math.h> instead of isnand.h.
89629         * modules/isnanl (Files): Remove lib/isnanl.h.
89630         (Depends-on): Add math.
89631         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89632         (Include): Specify <math.h> instead of isnanl.h.
89633         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
89634         HAVE_ISNAN[FDL].
89635         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
89636         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
89637         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
89638         * NEWS: Mention the change.
89640 2008-10-18  Bruno Haible  <bruno@clisp.org>
89642         Add getusershell(), setusershell(), endusershell() declarations to
89643         <unistd.h>.
89644         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
89645         declarations.
89646         * lib/getusershell.c: Include unistd.h.
89647         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
89648         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
89649         HAVE_GETUSERSHELL.
89650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
89651         and HAVE_GETUSERSHELL.
89652         * modules/getusershell (Depends-on): Add unistd, extensions.
89653         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89654         (Include): Specify <unistd.h>.
89655         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
89656         HAVE_GETUSERSHELL.
89658 2008-10-18  Bruno Haible  <bruno@clisp.org>
89660         Add a getloadavg() declaration to <stdlib.h>.
89661         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
89662         getloadavg declaration.
89663         (getloadavg): New declaration.
89664         * lib/getloadavg.c: Include <stdlib.h> first.
89665         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
89666         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
89667         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
89668         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
89669         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
89670         * modules/getloadavg (Depends-on): Add stdlib, extensions.
89671         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89672         (Include): Specify <stdlib.h>.
89673         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
89674         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
89676 2008-10-18  Bruno Haible  <bruno@clisp.org>
89678         * lib/dirchownmod.c: Don't include lchmod.h.
89680         Move the lchmod() declaration to <sys/stat.h>.
89681         * lib/lchmod.h: Remove file.
89682         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
89683         (lchmod): New declaration, moved here from lib/lchown.h.
89684         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
89685         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
89686         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
89687         and HAVE_LCHMOD.
89688         * modules/lchmod (Files): Remove lib/lchmod.h.
89689         (Depends-on): Add sys_stat, extensions.
89690         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
89691         (Include): Specify <sys/stat.h> instead of lchmod.h.
89692         * modules/sys_stat (Depends-on): Add link-warning.
89693         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
89694         definition of GL_LINK_WARNING.
89695         * NEWS: Mention the change.
89697 2008-10-18  Bruno Haible  <bruno@clisp.org>
89699         * lib/fchdir.c: Don't include dirfd.h.
89700         * lib/fts.c: Likewise.
89701         * lib/getcwd.c: Likewise.
89702         * lib/glob.c: Likewise.
89704         Move the dirfd() declaration to <dirent.h>.
89705         * lib/dirfd.h: Remove file.
89706         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
89707         (dirfd): New declaration.
89708         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
89709         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
89710         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
89711         HAVE_DECL_DIRFD.
89712         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
89713         HAVE_DECL_DIRFD.
89714         * modules/dirfd (Files): Remove lib/dirfd.h.
89715         (Depends-on): Add dirent, extensions.
89716         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
89717         (Include): Specify <dirent.h> instead of dirfd.h.
89718         * modules/dirent (Depends-on): Add link-warning.
89719         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
89720         definition of GL_LINK_WARNING.
89721         * NEWS: Mention the change.
89723 2008-10-18  Bruno Haible  <bruno@clisp.org>
89725         Move the euidaccess() declaration to <unistd.h>.
89726         * lib/euidaccess.h: Remove file.
89727         * lib/unistd.in.h (euidaccess): New declaration.
89728         * lib/euidaccess.c: Don't include euidaccess.h.
89729         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
89730         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
89731         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
89732         and HAVE_EUIDACCESS.
89733         * modules/euidaccess (Files): Remove lib/euidaccess.h.
89734         (Depends-on): Add unistd.
89735         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89736         (Include): Specify <unistd.h> instead of euidaccess.h.
89737         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
89738         HAVE_EUIDACCESS.
89739         * NEWS: Mention the change.
89741 2008-10-18  Bruno Haible  <bruno@clisp.org>
89743         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
89745         Move the getdomainname() declaration to <unistd.h>.
89746         * lib/getdomainname.h: Remove file.
89747         * lib/unistd.in.h (getdomainname): New declaration.
89748         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
89749         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
89750         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
89751         HAVE_GETDOMAINNAME.
89752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
89753         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
89754         * modules/getdomainname (Files): Remove lib/getdomainname.h.
89755         (Depends-on): Add unistd, extensions.
89756         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89757         (Includes): Specify <unistd.h> instead of getdomainname.h.
89758         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
89759         HAVE_GETDOMAINNAME.
89760         * NEWS: Mention the change.
89762 2008-10-18  Bruno Haible  <bruno@clisp.org>
89764         * modules/dirent: New file.
89765         * m4/dirent_h.m4: New file.
89766         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
89767         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
89768         * modules/fchdir (Files): Remove lib/dirent.in.h.
89769         (Depends-on): Add dirent.
89770         (Makefile.am): Move rules to modules/dirent.
89771         * doc/posix-headers/dirent.texi: Mention the new module.
89773 2008-10-18  Bruno Haible  <bruno@clisp.org>
89775         Avoid -Wunused-parameter warnings in public gnulib header files.
89776         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
89777         macro.
89778         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
89780 2008-10-18  Bruno Haible  <bruno@clisp.org>
89782         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
89783         * doc/glibc-functions/error.texi: Mention the module 'error'.
89784         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
89785         * doc/glibc-functions/getdomainname.texi: Mention the module
89786         'getdomainname'.
89787         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
89788         * doc/glibc-functions/getpagesize.texi: Mention the module
89789         'getpagesize'.
89790         * doc/glibc-functions/getusershell.texi: Mention the module
89791         'getusershell'.
89792         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
89793         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
89794         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
89795         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
89796         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
89797         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
89798         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
89799         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
89800         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
89801         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
89802         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
89803         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
89804         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
89805         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
89807 2008-10-17  Bruno Haible  <bruno@clisp.org>
89809         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
89810         HP-UX and IRIX, use -0.0L.
89811         * tests/test-ceill.c (minus_zero): Likewise.
89812         * tests/test-floorl.c (minus_zero): Likewise.
89813         * tests/test-frexpl.c (minus_zero): Likewise.
89814         * tests/test-isnan.c (minus_zerol): Likewise.
89815         * tests/test-isnanl.h (minus_zero): Likewise.
89816         * tests/test-ldexpl.c (minus_zero): Likewise.
89817         * tests/test-roundl.c (minus_zero): Likewise.
89818         * tests/test-signbit.c (minus_zerol): Likewise.
89819         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
89820         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
89821         * tests/test-truncl.c (minus_zero): Likewise.
89822         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
89823         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
89824         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
89825         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
89827 2008-10-17  Bruno Haible  <bruno@clisp.org>
89829         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
89830         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
89831         that it gets activated only for gcc >= 3.0.
89832         * lib/dirent.in.h: Likewise.
89833         * lib/errno.in.h: Likewise.
89834         * lib/fcntl.in.h: Likewise.
89835         * lib/float.in.h: Likewise.
89836         * lib/iconv.in.h: Likewise.
89837         * lib/inttypes.in.h: Likewise.
89838         * lib/locale.in.h: Likewise.
89839         * lib/math.in.h: Likewise.
89840         * lib/netdb.in.h: Likewise.
89841         * lib/netinet_in.in.h: Likewise.
89842         * lib/search.in.h: Likewise.
89843         * lib/signal.in.h: Likewise.
89844         * lib/spawn.in.h: Likewise.
89845         * lib/stdarg.in.h: Likewise.
89846         * lib/stdint.in.h: Likewise.
89847         * lib/stdio.in.h: Likewise.
89848         * lib/stdlib.in.h: Likewise.
89849         * lib/string.in.h: Likewise.
89850         * lib/strings.in.h: Likewise.
89851         * lib/sys_file.in.h: Likewise.
89852         * lib/sys_ioctl.in.h: Likewise.
89853         * lib/sys_select.in.h: Likewise.
89854         * lib/sys_socket.in.h: Likewise.
89855         * lib/sys_stat.in.h: Likewise.
89856         * lib/sys_time.in.h: Likewise.
89857         * lib/sysexits.in.h: Likewise.
89858         * lib/time.in.h: Likewise.
89859         * lib/unistd.in.h: Likewise.
89860         * lib/wchar.in.h: Likewise.
89861         * lib/wctype.in.h: Likewise.
89862         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
89864 2008-10-17  Jim Meyering  <meyering@redhat.com>
89866         ignore-value: don't depend on inline module
89867         * modules/ignore-value (Depends-on): Remove 'inline'.
89868         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
89869         Suggestion from Bruno Haible.
89871 2008-10-17  Bruno Haible  <bruno@clisp.org>
89873         New implementation of condition variables for Win32.
89874         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
89875         (gl_linked_waitqueue_t): New type.
89876         (gl_cond_t): Use it.
89877         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
89878         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
89879         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
89880         (glthread_cond_init_func, glthread_cond_wait_func,
89881         glthread_cond_timedwait_func, glthread_cond_signal_func,
89882         glthread_cond_broadcast_func, glthread_cond_destroy_func):
89883         Reimplemented on the basis of gl_linked_waitqueue_t.
89884         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
89885         gl_waitqueue_t.
89886         (gl_rwlock_t): Update.
89887         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
89889 2008-10-17  Simon Josefsson  <simon@josefsson.org>
89891         * modules/recvfrom (Depends-on): Add dependency on getpeername.
89892         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
89894 2008-10-17  Jim Meyering  <meyering@redhat.com>
89896         ignore-value: new module
89897         * modules/ignore-value: New file.
89898         * lib/ignore-value.h: New file.
89899         * MODULES.html.sh (Compiler warning management): New section,
89900         just for this module.  More to come.
89902 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
89904         open-safer.c: avoid 'signed and unsigned in conditional...' warning
89905         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
89906         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
89908 2008-10-16  Jim Meyering  <meyering@redhat.com>
89910         openat-die.c: avoid 'no previous prototype' warning
89911         * lib/openat-die.c: Include "openat.h".
89912         Reported by Reuben Thomas <rrt@sc3d.org>.
89914 2008-10-16  Simon Josefsson  <simon@josefsson.org>
89916         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
89917         * lib/netdb.in.h: Fix typo.
89918         Reported by Bruno Haible  <bruno@clisp.org>
89920         * lib/netdb.in.h: Include sys/socket.h for platforms without
89921         netdb.h, to get structures like hostent on MinGW.
89922         * modules/netdb (Depends-on): Add sys_socket.
89924 2008-10-15  Simon Josefsson  <simon@josefsson.org>
89926         * modules/netdb, modules/netdb-tests: New file.
89927         * m4/netdb_h.m4: New file.
89928         * lib/netdb.in.h: Add, currently just an empty file pending
89929         definitions.
89930         * tests/test-netdb.c: New file.
89931         * doc/posix-headers/netdb.texi: Mention that we replace it if
89932         needed.
89933         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89934         netdb.
89936 2008-10-15  Simon Josefsson  <simon@josefsson.org>
89938         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
89939         with code.
89941 2008-10-13  Bruno Haible  <bruno@clisp.org>
89943         * lib/glthread/cond.c (glthread_cond_wait_func,
89944         glthread_cond_timedwait_func): Add a comment.
89946 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89948         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
89949         * tests/test-select.c: Likewise,
89951 2008-10-13  Bruno Haible  <bruno@clisp.org>
89953         * lib/glthread/cond.c (glthread_cond_wait_func,
89954         glthread_cond_timedwait_func): Fix variable name.
89955         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
89957 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
89959         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
89960         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
89961         struct sockaddr.sa_len.
89962         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
89964 2008-10-13  Simon Josefsson  <simon@josefsson.org>
89966         * build-aux/pmccabe2html: Add css and css_url parameters.
89968 2008-10-12  Bruno Haible  <bruno@clisp.org>
89970         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
89971         calling aclx_get.
89972         Reported by Rainer Tammer <tammer@tammer.net>.
89974 2008-10-12  Bruno Haible  <bruno@clisp.org>
89976         Use msvcrt aware primitives for creation/termination of Win32 threads.
89977         * lib/glthread/thread.c: Include <process.h>.
89978         (glthread_create_func): Use _beginthreadex instead of CreateThread.
89979         (wrapper_func): Update signature.
89980         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
89982 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89983             Bruno Haible  <bruno@clisp.org>
89985         Provide a Win32 implementation of the 'cond' module.
89986         * lib/glthread/cond.h [USE_WIN32]: New implementation.
89987         * lib/glthread/cond.c (glthread_cond_init_func,
89988         glthread_cond_wait_func, glthread_cond_timedwait_func,
89989         glthread_cond_signal_func, glthread_cond_broadcast_func,
89990         glthread_cond_destroy_func) [USE_WIN32]: New functions.
89991         * modules/cond (Dependencies): Add gettimeofday.
89993 2008-10-11  Bruno Haible  <bruno@clisp.org>
89995         Make sleep work on older versions of mingw.
89996         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
89997         only whether it exists.
89998         * doc/posix-functions/sleep.texi: Mention the problem with older
89999         versions of mingw.
90001 2008-10-11  Bruno Haible  <bruno@clisp.org>
90003         New module 'shutdown'.
90004         * modules/shutdown: New file.
90005         * lib/sys_socket.in.h (shutdown): New declaration.
90006         * lib/winsock.c (shutdown): New function.
90007         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
90008         GNULIB_SHUTDOWN.
90009         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
90010         * doc/posix-functions/shutdown.texi: Document the new module.
90012 2008-10-11  Jim Meyering  <meyering@redhat.com>
90014         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
90016 2008-10-11  Bruno Haible  <bruno@clisp.org>
90018         New module 'fclose'.
90019         * modules/fclose: New file.
90020         * lib/stdio.in.h (fclose): New declaration.
90021         * lib/fclose.c: New file.
90022         * m4/fclose.m4: New file.
90023         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
90024         REPLACE_FCLOSE.
90025         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
90026         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
90027         REPLACE_FCLOSE.
90028         * modules/close (Depends-on): fclose.
90029         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
90031 2008-10-11  Bruno Haible  <bruno@clisp.org>
90033         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
90034         set errno and don't call _close.
90036 2008-10-10  Bruno Haible  <bruno@clisp.org>
90038         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
90039         ACL, not afterwards. Fixes test failure on Cygwin.
90041 2008-10-09  Ben Pfaff  <blp@gnu.org>
90043         * build-aux/announce-gen: Fix gnulib version related part of usage
90044         message.  Die with a useful error message if no tarballs are
90045         found.
90047 2008-10-10  Jim Meyering  <meyering@redhat.com>
90049         bootstrap: use git's --depth=N option only if it's supported
90050         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
90051         recognize the --depth option.  Reported by Pádraig Brady.
90053 2008-10-09  Bruno Haible  <bruno@clisp.org>
90055         New module 'ioctl'.
90056         * modules/ioctl: New file.
90057         * lib/sys_socket.in.h (ioctl): Remove declaration.
90058         * lib/winsock.c: Include <sys/ioctl.h>.
90059         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
90060         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90061         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
90062         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
90063         * doc/posix-functions/ioctl.texi: Mention the new module.
90065 2008-10-09  Bruno Haible  <bruno@clisp.org>
90067         New module 'sys_ioctl'.
90068         * lib/sys_ioctl.in.h: New file.
90069         * m4/sys_ioctl_h.m4: New file.
90070         * modules/sys_ioctl: New file.
90071         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
90073 2008-10-09  Bruno Haible  <bruno@clisp.org>
90075         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
90076         * lib/winsock.c: Include <stdarg.h>.
90077         (rpl_ioctl): Change to second argument 'int' and then varargs.
90079 2008-10-09  Bruno Haible  <bruno@clisp.org>
90081         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
90082         when the sys_socket module is present and the system has <winsock2.h>.
90084 2008-10-09  Bruno Haible  <bruno@clisp.org>
90086         * doc/posix-functions/close.texi: Mention module 'close' instead of
90087         module 'sys_socket'.
90089 2008-10-09  Bruno Haible  <bruno@clisp.org>
90091         * doc/glibc-headers/sys_ioctl.texi: New file.
90092         * doc/gnulib.texi: Include it.
90094 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90095             Bruno Haible  <bruno@clisp.org>
90097         Combine the two replacements of 'close'.
90098         * lib/sys_socket.in.h (close): Define to a reminder to include
90099         <unistd.h>.
90100         (_gl_close_fd_maybe_socket): New declaration.
90101         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
90102         * lib/winsock.c (close): Remove undefinition.
90103         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
90104         needed for the gnulib module 'close'.
90105         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
90106         define to an error symbol or to a warning, if suitable.
90107         * lib/close.c: Include <sys/socket.h>.
90108         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
90109         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
90110         UNISTD_H_HAVE_WINSOCK2_H.
90111         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
90112         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90113         UNISTD_H_HAVE_WINSOCK2_H.
90114         * modules/sys_socket (Files): Add m4/unistd_h.m4.
90115         (configure.ac): Set a module indicator.
90116         (Makefile.am): Substitute GNULIB_CLOSE.
90117         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
90118         * modules/poll-tests (Depends-on): Add close.
90119         * modules/select-tests (Depends-on): Likewise.
90121 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90122             Bruno Haible  <bruno@clisp.org>
90124         New module 'close'.
90125         * modules/close: New file.
90126         * lib/unistd.in.h (close): Move declaration out of the
90127         FCHDIR_REPLACEMENT scope.
90128         (_gl_unregister_fd): New declaration.
90129         * lib/close.c: New file.
90130         * lib/fchdir.c (rpl_close): Remove function.
90131         * m4/close.m4: New file.
90132         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
90133         close.
90134         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
90135         REPLACE_CLOSE.
90136         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
90137         REPLACE_CLOSE.
90138         * modules/fchdir (Depends-on): Add close.
90140 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90141             Bruno Haible  <bruno@clisp.org>
90143         * lib/fcntl.in.h (open): Simplify conditionals.
90144         (_gl_register_fd): New declaration.
90145         * lib/fchdir.c (rpl_open): Remove function.
90146         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
90147         also.
90148         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
90149         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
90150         open.
90152 2008-10-09  Jim Meyering  <meyering@redhat.com>
90154         GNUmakefile: use the more name-space-friendly "_version"
90155         * top/GNUmakefile (_dummy): Update.
90156         (_version): Rename from "version".
90158 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90159             Bruno Haible  <bruno@clisp.org>
90161         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
90162         rpl_close.
90163         (_gl_register_fd): New function, extracted from rpl_open.
90164         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
90165         (rpl_open, rpl_opendir): Use _gl_register_fd.
90167 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90169         Fix organization of 'open' replacement.
90170         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
90171         (gl_FUNC_OPEN): Use it.
90172         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
90174 2008-10-08  Bruno Haible  <bruno@clisp.org>
90176         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
90178 2008-10-08  Simon Josefsson  <simon@josefsson.org>
90180         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
90181         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
90182         listen).
90184 2008-10-08  Eric Blake  <ebb9@byu.net>
90186         GNUmakefile: add 'make version' target
90187         * top/GNUmakefile (_curr-ver): Split version update rules...
90188         (version): ...into a target.
90190 2008-10-07  Bruno Haible  <bruno@clisp.org>
90192         Use a more portable replacement expression for -0.0L.
90193         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
90194         instead of -0.0L. Fix m4 quotation.
90196         * tests/test-signbit.c: Include <float.h>.
90197         (minus_zero): New variable.
90198         (test_signbitl): Use minus_zero instead of -zero.
90199         * modules/signbit-tests (Depends-on): Add float.
90201         * tests/test-ceill.c: Include <float.h>.
90202         (zero): Remove variable.
90203         (minus_zero): New variable.
90204         (main): Use minus_zero instead of -zero.
90205         * modules/ceill-tests (Depends-on): Add float.
90207         * tests/test-floorl.c: Include <float.h>.
90208         (zero): Remove variable.
90209         (minus_zero): New variable.
90210         (main): Use minus_zero instead of -zero.
90211         * modules/floorl-tests (Depends-on): Add float.
90213         * tests/test-roundl.c: Include <float.h>.
90214         (zero): Remove variable.
90215         (minus_zero): New variable.
90216         (main): Use minus_zero instead of -zero.
90217         * modules/roundl-tests (Depends-on): Add float.
90219         * tests/test-truncl.c: Include <float.h>.
90220         (zero): Remove variable.
90221         (minus_zero): New variable.
90222         (main): Use minus_zero instead of -zero.
90223         * modules/truncl-tests (Depends-on): Add float.
90225         * tests/test-frexpl.c (zero): Remove variable.
90226         (minus_zero): New variable.
90227         (main): Use minus_zero instead of -zero.
90228         * modules/frexpl-tests (Depends-on): Add float.
90230         * tests/test-isnan.c (zerol): Remove variable.
90231         (minus_zerol): New variable.
90232         (test_long_double): Use minus_zerol instead of -zerol.
90233         * modules/isnan-tests (Depends-on): Add float.
90235         * tests/test-isnanl.h (zero): Remove variable.
90236         (minus_zero): New variable.
90237         (main): Use minus_zero instead of -zero.
90238         * modules/isnanl-nolibm-tests (Depends-on): Add float.
90239         * modules/isnanl-tests (Depends-on): Add float.
90241         * tests/test-ldexpl.c (zero): Remove variable.
90242         (minus_zero): New variable.
90243         (main): Use minus_zero instead of -zero.
90244         * modules/ldexpl-tests (Depends-on): Add float.
90246         * tests/test-snprintf-posix.h (zerol): Remove variable.
90247         (minus_zerol): New variable.
90248         (test_function): Use minus_zerol instead of -zerol.
90249         * modules/snprintf-posix-tests (Depends-on): Add float.
90250         * modules/vsnprintf-posix-tests (Depends-on): Add float.
90252         * tests/test-sprintf-posix.h (zerol): Remove variable.
90253         (minus_zerol): New variable.
90254         (test_function): Use minus_zerol instead of -zerol.
90255         * modules/sprintf-posix-tests (Depends-on): Add float.
90256         * modules/vsprintf-posix-tests (Depends-on): Add float.
90258         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
90259         (minus_zerol): New variable.
90260         (test_function): Use minus_zerol instead of -zerol.
90261         * modules/vasnprintf-posix-tests (Depends-on): Add float.
90263         * tests/test-vasprintf-posix.c (zerol): Remove variable.
90264         (minus_zerol): New variable.
90265         (test_function): Use minus_zerol instead of -zerol.
90266         * modules/vasprintf-posix-tests (Depends-on): Add float.
90268 2008-10-07  Simon Josefsson  <simon@josefsson.org>
90270         * MODULES.html.sh (Support for building documentation): Mention
90271         pmccabe2html.  Sort entries.
90273         Add pmccabe2html module, from gnupdf.
90274         * build-aux/pmccabe.css: New file.
90275         * build-aux/pmccabe2html: New file.
90276         * m4/pmccabe2html.m4: New file.
90277         * modules/pmccabe2html: New file.
90279 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
90281         flock: new module
90282         * MODULES.html.sh: Add to list of modules.
90283         * lib/flock.c: flock implementation for Windows and Unix systems
90284         which have fcntl.
90285         * doc/glibc-functions/flock.texi: Update documentation.
90286         * lib/sys_file.in.h: <sys/file.h> header file.
90287         * m4/flock.m4: M4 macros.
90288         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
90289         * modules/flock: flock module.
90290         * modules/flock-tests: flock tests module.
90291         * modules/sys_file: sys/file.h module.
90292         * tests/test-flock.c: test suite for flock.
90294 2008-10-06  Jim Meyering  <meyering@redhat.com>
90296         bootstrap: check for LT_INIT more portably still ;-)
90297         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
90298         Spotted by Bruno Haible.
90300 2008-10-06  Eric Blake  <ebb9@byu.net>
90302         test-signbit: avoid tripping Irix cc bug on -0.0L
90303         * tests/test-signbit.c (minus_zerol): Delete, and replace with
90304         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
90305         entire testsuite consistent and avoids an Irix 6.2 bug.
90307 2008-10-05  Bruno Haible  <bruno@clisp.org>
90308             Jim Meyering  <jim@meyering.net>
90310         Add an option for ignoring EPIPE during close_stdout.
90311         * lib/closeout.h: Include <stdbool.h>.
90312         (close_stdout_set_ignore_EPIPE): New declaration.
90313         * lib/closeout.c: Include <stdbool.h>.
90314         (ignore_EPIPE): New variable.
90315         (close_stdout_set_ignore_EPIPE): New function.
90316         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
90317         * lib/close-stream.c (close_stream): Mention the possible EPIPE
90318         failure.
90319         * modules/closeout (Depends-on): Add stdbool.
90321 2008-10-05  Bruno Haible  <bruno@clisp.org>
90323         * modules/accept: New file.
90324         * modules/bind: New file.
90325         * modules/connect: New file.
90326         * modules/getpeername: New file.
90327         * modules/getsockname: New file.
90328         * modules/getsockopt: New file.
90329         * modules/listen: New file.
90330         * modules/recv: New file.
90331         * modules/recvfrom: New file.
90332         * modules/send: New file.
90333         * modules/sendto: New file.
90334         * modules/setsockopt: New file.
90335         * modules/socket: New file.
90336         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
90337         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
90338         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
90339         the particular module is requested. Add a link warning when the
90340         particular module is not requested.
90341         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
90342         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
90343         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
90344         the particular module is requested.
90345         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
90346         gl_SYS_SOCKET_H_DEFAULTS): New macros.
90347         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
90348         * modules/sys_socket (Depends-on): Add link-warning.
90349         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
90350         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
90351         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
90352         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
90353         GL_LINK_WARNING.
90354         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
90355         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
90356         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
90357         * doc/posix-functions/getpeername.texi: Mention the new module
90358         'getpeername'.
90359         * doc/posix-functions/getsockname.texi: Mention the new module
90360         'getsockname'.
90361         * doc/posix-functions/getsockopt.texi: Mention the new module
90362         'getsockopt'.
90363         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
90364         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
90365         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
90366         * doc/posix-functions/send.texi: Mention the new module 'send'.
90367         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
90368         * doc/posix-functions/setsockopt.texi: Mention the new module
90369         'setsockopt'.
90370         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
90371         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
90372         listen, connect, accept.
90373         * modules/select-tests (Depends-on): Likewise.
90375 2008-10-05  Bruno Haible  <bruno@clisp.org>
90377         * lib/winsock.c (strerror): Remove unused #undef.
90378         (rpl_close): Remove unused local variable.
90380         * modules/sys_socket (Depends-on); Add errno.
90382 2008-10-05  Bruno Haible  <bruno@clisp.org>
90384         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
90385         (select): Add a link warning when the 'select' module is not used.
90386         * modules/sys_select (Depends-on): Add link-warning.
90387         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
90388         Suggested by Paolo Bonzini.
90390 2008-10-05  Jim Meyering  <meyering@redhat.com>
90392         bootstrap: check for LT_INIT more portably
90393         * build-aux/bootstrap: Avoid using grep -E, since it's not
90394         portable enough.  Suggestion from Bruno Haible.
90396 2008-10-05  Bruno Haible  <bruno@clisp.org>
90398         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
90399         as being fixed by gnulib.
90401 2008-10-05  Bruno Haible  <bruno@clisp.org>
90403         * modules/select-tests: New file, mostly copied from
90404         modules/sys_select-tests.
90405         * tests/test-select.c: New file, mostly copied from
90406         tests/test-sys_select.c.
90407         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
90408         * modules/sys_select-tests (Depends-on): Remove all dependencies.
90409         (Makefile.am): Remove test_sys_select_LDADD.
90411         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
90412         to an undefined symbol, for an error message.
90413         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
90414         (gl_SYS_SELECT_H_DEFAULTS): New macro.
90415         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
90416         winsock-select.c here.
90417         * modules/sys_select (Files): Remove lib/winsock-select.c.
90418         (Depends-on): Remove alloca.
90419         (Makefile.am): Substitute GNULIB_SELECT.
90420         * modules/select: New file.
90421         * doc/posix-functions/select.texi: Update.
90423 2008-10-05  Bruno Haible  <bruno@clisp.org>
90425         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
90426         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
90427         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
90428         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
90429         getdtablesize.
90430         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
90431         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
90433 2008-10-05  Bruno Haible  <bruno@clisp.org>
90435         * modules/getdtablesize-tests: New file.
90436         * tests/test-getdtablesize.c: New file.
90438         New module 'getdtablesize'.
90439         * lib/unistd.in.h (getdtablesize): New declaration.
90440         * lib/getdtablesize.c: New file.
90441         * m4/getdtablesize.m4: New file.
90442         * modules/getdtablesize: New file.
90443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90444         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
90445         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
90446         HAVE_GETDTABLESIZE.
90447         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
90449 2008-10-05  Bruno Haible  <bruno@clisp.org>
90451         * modules/sched (Makefile.am): Fix typo.
90452         Reported by Simon Josefsson.
90454 2008-10-05  Jim Meyering  <meyering@redhat.com>
90456         bootstrap: check for LT_INIT, too
90457         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
90458         are deprecated.  Suggestion from Ralf Wildenhues.
90460 2008-10-05  Bruno Haible  <bruno@clisp.org>
90462         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
90463         overriding them by ours.
90464         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
90466 2008-10-05  Jim Meyering  <meyering@redhat.com>
90468         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
90469         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
90470         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
90472 2008-10-04  Bruno Haible  <bruno@clisp.org>
90474         * modules/dup2 (License): Change to LGPLv2+.
90475         * modules/sleep (License): Likewise.
90476         * modules/perror (License): Likewise.
90477         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
90478         Blake.
90479         * modules/signal (License): Likewise.
90480         * modules/sigprocmask (License): Likewise.
90481         * modules/raise (License): Change to LGPLv2+, with approval by Jim
90482         Meyering.
90484 2008-10-04  Bruno Haible  <bruno@clisp.org>
90486         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
90487         Reported by Rainer Tammer <tammer@tammer.net>.
90489 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
90490             Bruno Haible  <bruno@clisp.org>
90492         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
90493         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
90494         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
90496 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
90498         filevercmp: new module
90499         * lib/filevercmp.h: New function filevercmp comparing version strings.
90500         * lib/filevercmp.c: Implementation of filevercmp function.
90501         * modules/filevercmp: Module metadata.
90502         * tests/test-filevercmp.c: Unit test for new module.
90503         * modules/filevercmp-tests: Unit test metadata.
90504         * MODULES.html.sh: Add filevercmp module.
90506 2008-10-03  Bruno Haible  <bruno@clisp.org>
90508         * lib/c-ctype.h: Add comment.
90509         Reported by Jim Meyering.
90511 2008-10-02  Bruno Haible  <bruno@clisp.org>
90513         * modules/posix_spawn-internal (Depends-on): Add 'open'.
90515 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90517         * build-aux/bootstrap: Allow renaming bootstrap, and change the
90518         name of bootstrap.conf accordingly.
90520 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90522         * build-aux/bootstrap: Install git-merge-changelog configuration
90523         items into .gitconfig if needed.
90525 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90527         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
90528         git repository, and initialize/update it accordingly.
90530 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
90532         * modules/fsync-tests: New file.
90533         * tests/test-fsync.c: New file.
90535         New module 'fsync'.
90536         * lib/fsync.c: New file.
90537         * m4/fsync.m4: New file.
90538         * modules/fsync: New file.
90539         * lib/unistd.in.h (fsync): New declaration.
90540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
90541         GNULIB_FSYNC and HAVE_FSYNC.
90542         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
90543         * MODULES.html.sh (posix_functions): Add fsync.
90544         * doc/posix-functions/fsync.texi: Mention the new module.
90546 2008-10-02  Jim Meyering  <meyering@redhat.com>
90548         fts.c: sync with similar code from coreutils' remove.c
90549         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
90550         Guard also with "#if defined __linux__", since for now at least,
90551         this code is Linux-kernel-specific.
90553 2008-10-02  Jim Meyering  <meyering@redhat.com>
90555         fts: bug fixes
90556         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
90557         Include <sys/vfs.h>, not <sys/statfs.h>.
90559         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
90560         Include <sys/vfs.h>, not <sys/statfs.h>.
90562 2008-10-01  Bruno Haible  <bruno@clisp.org>
90564         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
90565         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
90566         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
90567         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
90568         * doc/posix-functions/posix_spawnp.texi: Likewise.
90569         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
90570         whether posix_spawn actually works.
90571         * m4/pipe.m4 (gl_PIPE): Likewise.
90572         * modules/execute (Files): Add m4/posix_spawn.m4.
90573         * modules/pipe (Files): Add m4/posix_spawn.m4.
90574         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
90576 2008-10-01  Jim Meyering  <meyering@redhat.com>
90578         remove trailing spaces
90579         * NEWS: Likewise.
90580         * lib/poll.c (poll): Likewise.
90581         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
90582         * lib/winsock.c (rpl_close): Likewise.
90583         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
90584         * modules/yield: Likewise.
90585         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
90586         * tests/test-sys_select.c (connect_to_socket): Likewise.
90588         fts.c: adjust a new interface to be more generally useful
90589         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
90590         (fts_build): Adjust caller.
90592 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90594         * modules/cond-tests: New file.
90595         * tests/test-cond.c: New file.
90597 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90598             Bruno Haible  <bruno@clisp.org>
90600         * modules/cond (Dependencies): Add errno, time.
90601         * lib/glthread/cond.h: Include <time.h>.
90602         (gl_cond_define, gl_cond_define_initialized): Use the same definition
90603         across platforms.
90605 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90606             Bruno Haible  <bruno@clisp.org>
90608         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
90610 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90611             Bruno Haible  <bruno@clisp.org>
90613         * modules/tls-tests (Depends-on): Add thread, yield.
90614         (configure.ac): Remove all checks.
90615         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
90616         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
90617         gl_thread_self): Remove definitions. Include glthread/thread.h and
90618         glthread/yield.h instead.
90619         (test_tls): Pass an additional NULL argument to gl_thread_join.
90621 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90622             Bruno Haible  <bruno@clisp.org>
90624         * modules/lock-tests (Depends-on): Add thread, yield.
90625         (configure.ac): Remove all checks.
90626         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
90627         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
90628         gl_thread_self): Remove definitions. Include glthread/thread.h and
90629         glthread/yield.h instead.
90630         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
90631         additional NULL argument to gl_thread_join.
90633 2008-09-30  Bruno Haible  <bruno@clisp.org>
90635         Fix the Win32 implementation of the 'thread' module.
90636         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
90637         pointer type.
90638         (gl_thread_self): Invoke gl_thread_self_func.
90639         (gl_thread_self_func): New declaration.
90640         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
90641         (do_init_self_key, init_self_key): New functions.
90642         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
90643         Remove some fields.
90644         (running_threads, running_lock): Remove variables.
90645         (get_current_thread_handle): New function.
90646         (gl_thread_self_func, wrapper_func, glthread_create_func,
90647         glthread_join_func, gl_thread_exit_func): Largely rewritten and
90648         simplified.
90650 2008-09-30  Bruno Haible  <bruno@clisp.org>
90652         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
90653         files.
90655 2008-09-30  Jim Meyering  <meyering@redhat.com>
90657         fts.m4: correct the test for statfs.f_type
90658         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
90659         when checking for statfs.f_type.
90661 2008-09-15  Simon Josefsson  <simon@josefsson.org>
90663         tests: avoid some compiler warnings
90664         * tests/test-memchr.c (main): Pass NULL indirectly.
90665         * tests/test-getdate.c (main): Remove unused variable 'ret'.
90667 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
90669         getdate.y: disallow countable dayshifts like "4 yesterday ago"
90670         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
90671         exactly specified dayshifts.
90672         (dayshift): New rule.
90673         (rel): Add dayshift.
90674         (relative_time_table) [tomorrow, yesterday, today, now]:
90675         Use tDAY_SHIFT in place of tDAY_UNIT.
90676         * tests/test-getdate.c: Add tests for now-disallowed countable
90677         dayshifts, e.g., "4 yesterday ago".
90679 2008-09-29  Bruno Haible  <bruno@clisp.org>
90681         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
90682         * tests/test-posix_spawn1.in.sh: Renamed from
90683         tests/test-posix_spawn.in.sh.
90684         * tests/test-posix_spawn2.c: New file.
90685         * tests/test-posix_spawn2.in.sh: New file.
90686         * modules/posix_spawnp-tests (Files): Update.
90687         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
90689 2008-09-29  Bruno Haible  <bruno@clisp.org>
90691         Propagate effects of putenv/setenv/unsetenv to child processes.
90692         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
90693         * lib/pipe.c (create_pipe): Likewise.
90695 2008-09-29  Bruno Haible  <bruno@clisp.org>
90697         Enable use of shell scripts as executables in mingw.
90698         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
90699         run the program as a shell script.
90700         * lib/pipe.c (create_pipe): Likewise.
90701         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
90702         resulting array.
90704 2008-09-29  Eric Blake  <ebb9@byu.net>
90706         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
90708 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
90710         * doc/posix-functions/accept.texi: Update mingw problems.
90711         * doc/posix-functions/bind.texi: Update mingw problems.
90712         * doc/posix-functions/close.texi: Update mingw problems.
90713         * doc/posix-functions/connect.texi: Update mingw problems.
90714         * doc/posix-functions/getpeername.texi: Update mingw problems.
90715         * doc/posix-functions/getsockname.texi: Update mingw problems.
90716         * doc/posix-functions/getsockopt.texi: Update mingw problems.
90717         * doc/posix-functions/ioctl.texi: Update mingw problems.
90718         * doc/posix-functions/listen.texi: Update mingw problems.
90719         * doc/posix-functions/recv.texi: Update mingw problems.
90720         * doc/posix-functions/recvfrom.texi: Update mingw problems.
90721         * doc/posix-functions/select.texi: Update mingw problems.
90722         * doc/posix-functions/send.texi: Update mingw problems.
90723         * doc/posix-functions/sendto.texi: Update mingw problems.
90724         * doc/posix-functions/setsockopt.texi: Update mingw problems.
90725         * doc/posix-functions/socket.texi: Update mingw problems.
90727 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
90728             Bruno Haible  <bruno@clisp.org>
90730         * lib/sys_select.in.h: Include sys/time.h.
90731         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
90732         * modules/sys_select: Depend on sys_time.
90733         * tests/test-sys_select.c: Test that sys/select.h defines struct
90734         timeval fully.
90736 2008-09-29  Bruno Haible  <bruno@clisp.org>
90738         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
90739         * lib/sys_select.in.h: Likewise.
90741 2008-09-29  Bruno Haible  <bruno@clisp.org>
90743         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
90745 2008-09-29  Bruno Haible  <bruno@clisp.org>
90747         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
90748         Set LIBSOCKET instead of augmenting LIBS.
90749         * modules/sockets (Link): New section.
90750         * modules/sockets-tests (test_sockets_LDADD): New variable.
90751         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
90752         * modules/poll-tests (test_poll_LDADD): New variable.
90753         * NEWS: Document the change.
90755 2008-09-29  Bruno Haible  <bruno@clisp.org>
90757         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
90758         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
90759         ARPA_INET_H directly.
90760         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
90762 2008-09-28  Bruno Haible  <bruno@clisp.org>
90764         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
90765         from gl_HEADER_SYS_SOCKET.
90766         (gl_HEADER_SYS_SOCKET): Invoke it.
90767         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
90769 2008-09-28  Bruno Haible  <bruno@clisp.org>
90771         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
90772         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
90773         Needed on OSF/1 4.0.
90775 2008-09-28  Bruno Haible  <bruno@clisp.org>
90777         Override open more carefully.
90778         * lib/open.c (orig_open): New function.
90779         (rpl_open): Use orig_open instead of open.
90780         * lib/fcntl.in.h: Add special invocation convention.
90781         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
90782         (gl_FUNC_OPEN): Invoke it.
90784         Override freopen more carefully.
90785         * lib/freopen.c (orig_freopen): New function.
90786         (rpl_freopen): Use orig_freopen instead of freopen.
90787         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
90788         (gl_FUNC_FREOPEN): Invoke it.
90790         Override fopen more carefully.
90791         * lib/fopen.c (orig_fopen): New function.
90792         (rpl_fopen): Use orig_fopen instead of fopen.
90793         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
90794         (gl_FUNC_FOPEN): Invoke it.
90795         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
90797 2008-09-28  Bruno Haible  <bruno@clisp.org>
90799         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
90800         SIGPIPE.
90802 2008-09-28  Bruno Haible  <bruno@clisp.org>
90804         * tests/test-sigaction.c (handler, main): Disable the check whether
90805         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
90806         glibc systems with LinuxThreads.
90808 2008-09-28  Bruno Haible  <bruno@clisp.org>
90810         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
90812         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
90813         with AIX xlc.
90814         * lib/fcntl.in.h (open): Likewise.
90815         Reported by Rainer Tammer <tammer@tammer.net>.
90817 2008-09-28  Bruno Haible  <bruno@clisp.org>
90819         * modules/posix_spawnp-tests: New file.
90820         * tests/test-posix_spawn.c: New file.
90821         * tests/test-posix_spawn.in.sh: New file.
90823         New module 'posix_spawnp'.
90824         * modules/posix_spawnp: New file.
90825         * lib/spawnp.c: New file, from GNU libc with modifications.
90826         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
90828         New module 'posix_spawn'.
90829         * modules/posix_spawn: New file.
90830         * lib/spawn.c: New file, from GNU libc with modifications.
90831         * doc/posix-functions/posix_spawn.texi: Mention the new module.
90833         New module 'posix_spawnattr_destroy'.
90834         * modules/posix_spawnattr_destroy: New file.
90835         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
90836         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
90837         module.
90839         New module 'posix_spawnattr_setsigmask'.
90840         * modules/posix_spawnattr_setsigmask: New file.
90841         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
90842         modifications.
90843         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
90844         new module.
90846         New module 'posix_spawnattr_getsigmask'.
90847         * modules/posix_spawnattr_getsigmask: New file.
90848         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
90849         modifications.
90850         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
90851         new module.
90853         New module 'posix_spawnattr_setsigdefault'.
90854         * modules/posix_spawnattr_setsigdefault: New file.
90855         * lib/spawnattr_setdefault.c: New file, from GNU libc with
90856         modifications.
90857         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
90858         new module.
90860         New module 'posix_spawnattr_getsigdefault'.
90861         * modules/posix_spawnattr_getsigdefault: New file.
90862         * lib/spawnattr_getdefault.c: New file, from GNU libc with
90863         modifications.
90864         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
90865         new module.
90867         New module 'posix_spawnattr_setschedpolicy'.
90868         * modules/posix_spawnattr_setschedpolicy: New file.
90869         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
90870         modifications.
90871         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
90872         new module.
90874         New module 'posix_spawnattr_getschedpolicy'.
90875         * modules/posix_spawnattr_getschedpolicy: New file.
90876         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
90877         modifications.
90878         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
90879         new module.
90881         New module 'posix_spawnattr_setschedparam'.
90882         * modules/posix_spawnattr_setschedparam: New file.
90883         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
90884         modifications.
90885         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
90886         new module.
90888         New module 'posix_spawnattr_getschedparam'.
90889         * modules/posix_spawnattr_getschedparam: New file.
90890         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
90891         modifications.
90892         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
90893         new module.
90895         New module 'posix_spawnattr_setpgroup'.
90896         * modules/posix_spawnattr_setpgroup: New file.
90897         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
90898         modifications.
90899         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
90900         module.
90902         New module 'posix_spawnattr_getpgroup'.
90903         * modules/posix_spawnattr_getpgroup: New file.
90904         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
90905         modifications.
90906         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
90907         module.
90909         New module 'posix_spawnattr_setflags'.
90910         * modules/posix_spawnattr_setflags: New file.
90911         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
90912         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
90913         module.
90915         New module 'posix_spawnattr_getflags'.
90916         * modules/posix_spawnattr_getflags: New file.
90917         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
90918         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
90919         module.
90921         New module 'posix_spawnattr_init'.
90922         * modules/posix_spawnattr_init: New file.
90923         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
90924         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
90925         module.
90927         New module 'posix_spawn_file_actions_destroy'.
90928         * modules/posix_spawn_file_actions_destroy: New file.
90929         * lib/spawn_faction_destroy.c: New file, from GNU libc with
90930         modifications.
90931         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
90932         the new module.
90934         New module 'posix_spawn_file_actions_addopen'.
90935         * modules/posix_spawn_file_actions_addopen: New file.
90936         * lib/spawn_faction_addopen.c: New file, from GNU libc with
90937         modifications.
90938         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
90939         the new module.
90941         New module 'posix_spawn_file_actions_adddup2'.
90942         * modules/posix_spawn_file_actions_adddup2: New file.
90943         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
90944         modifications.
90945         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
90946         the new module.
90948         New module 'posix_spawn_file_actions_addclose'.
90949         * modules/posix_spawn_file_actions_addclose: New file.
90950         * lib/spawn_faction_addclose.c: New file, from GNU libc with
90951         modifications.
90952         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
90953         the new module.
90955         New module 'posix_spawn_file_actions_init'.
90956         * modules/posix_spawn_file_actions_init: New file.
90957         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
90958         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
90959         new module.
90961         New module 'posix_spawn-internal'.
90962         * modules/posix_spawn-internal: New file.
90963         * lib/spawn_int.h: New file, from GNU libc with modifications.
90964         * lib/spawni.c: New file, from GNU libc with modifications.
90965         * m4/posix_spawn.m4: New file.
90967         New module 'spawn'.
90968         * modules/spawn: New file.
90969         * lib/spawn.in.h: New file, from GNU libc with modifications.
90970         * m4/spawn_h.m4: New file.
90971         * doc/posix-headers/spawn.texi: Mention the new module.
90973 2008-09-28  Bruno Haible  <bruno@clisp.org>
90975         * modules/sched-tests: New file.
90976         * tests/test-sched.c: New file.
90978         New module 'sched'.
90979         * modules/sched: New file.
90980         * lib/sched.in.h: New file.
90981         * m4/sched_h.m4: New file.
90982         * doc/posix-headers/sched.texi: Mention the new module.
90984 2008-09-27  Eric Blake  <ebb9@byu.net>
90986         Fix previous patch, and tweak references to $0.
90987         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
90988         (func_version, func_gnulib_dir): Don't call this program
90989         gnulib-tool.
90990         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
90991         with using $0 in function.
90992         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
90993         (func_fatal_error): Reuse the name the user invoked us with.
90995 2008-09-27  Bruno Haible  <bruno@clisp.org>
90997         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
90998         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
90999         (gl_ICONV_H): Not here.
91000         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
91001         instead of assigning ICONV_H directly.
91003         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
91004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
91005         WCHAR_H directly.
91007 2008-09-27  Bruno Haible  <bruno@clisp.org>
91009         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
91010         * modules/arpa_inet (Depends-on): Add link-warning.
91011         (Makefile.am): Insert the definition of GL_LINK-WARNING.
91012         * modules/unistd (Makefile.am): Likewise.
91014 2008-09-26  Bruno Haible  <bruno@clisp.org>
91016         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
91017         variables.
91018         (func_version): Essentially copied from gnulib-tool.
91019         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
91020         func_readlink): Copied from gnulib-tool.
91022 2008-09-26  Bruno Haible  <bruno@clisp.org>
91024         * gnulib-tool (func_version): Change directory to $gnulib_dir before
91025         invoking git-version-gen.
91027 2008-09-26  Bruno Haible  <bruno@clisp.org>
91029         * posix-modules: Update to directory names changed on 2008-01-19.
91030         Remove commas in output before splitting into words. No more need to
91031         avoid 'ftruncate' since 2007-02-19.
91033 2008-09-26  Bruno Haible  <bruno@clisp.org>
91035         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
91037 2008-09-26  Bruno Haible  <bruno@clisp.org>
91039         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
91040         * modules/fwriteerror (Depends-on): Add errno.
91042 2008-09-26  Bruno Haible  <bruno@clisp.org>
91044         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
91045         * tests/test-vc-list-files-cvs.sh: Likewise.
91047 2008-09-26  Bruno Haible  <bruno@clisp.org>
91049         * doc/posix-headers/sys_resource.texi: Reorder items.
91051 2008-09-26  Jim Meyering  <meyering@redhat.com>
91053         fts: tweak inode comparison function
91054         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
91055         inode numbers, as documented.
91057         fts: sort dirent entries on inode number before traversing
91058         This avoids a quadratic, seek-related performance penalty when
91059         operating on a directory containing many entries (measurable at 10k;
91060         3.5 hours at 2 million entries with a cold cache) on certain types
91061         of file systems, including ext3 and ext4, but not tmpfs.
91062         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
91063         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
91064         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
91065         (fs_handles_readdir_ordered_dirents_efficiently): New function.
91066         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
91067         (fts_build): Set the stat.st_ino member from D_INO.
91068         If it is likely to be useful, sort dirent entries on inode number.
91070         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
91071         and the struct statfs.f_type member.
91072         * modules/fts (Depends-on): Add d-ino.
91074 2008-09-26  Bruno Haible  <bruno@clisp.org>
91076         * modules/sigpipe-die (Depends-on): Add sigpipe.
91078         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
91079         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
91080         and GNULIB_STDIO_H_SIGPIPE are set.
91081         * lib/stdio-write.c: New file.
91082         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
91083         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91084         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91085         REPLACE_STDIO_WRITE_FUNCS.
91086         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
91087         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91088         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91089         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91090         * modules/stdio (Files): Add lib/stdio-write.c.
91091         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
91092         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91093         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91094         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91095         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
91096         REPLACE_FPRINTF_POSIX.
91097         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
91098         REPLACE_PRINTF_POSIX.
91099         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
91100         REPLACE_VFPRINTF_POSIX.
91101         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
91102         REPLACE_VPRINTF_POSIX.
91103         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
91104         SIGPIPE issue.
91105         * doc/posix-functions/fputc.texi: Likewise.
91106         * doc/posix-functions/fputs.texi: Likewise.
91107         * doc/posix-functions/fwrite.texi: Likewise.
91108         * doc/posix-functions/printf.texi: Likewise.
91109         * doc/posix-functions/putc.texi: Likewise.
91110         * doc/posix-functions/putchar.texi: Likewise.
91111         * doc/posix-functions/puts.texi: Likewise.
91112         * doc/posix-functions/vfprintf.texi: Likewise.
91113         * doc/posix-functions/vprintf.texi: Likewise.
91115         * modules/safe-write (Depends-on): Add write.
91117         * modules/sigpipe-tests: New file.
91118         * tests/test-sigpipe.c: New file.
91119         * tests/test-sigpipe.sh: New file.
91121         * modules/write: New file.
91122         * lib/unistd.in.h: Include <sys/types.h>.
91123         (write): New declaration.
91124         * lib/write.c: New file.
91125         * m4/write.m4: New file.
91126         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91127         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
91128         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
91129         GNULIB_WRITE, REPLACE_WRITE.
91130         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
91131         and the SIGPIPE issue.
91133         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
91134         (raise): New declaration.
91135         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
91136         (ext_signal): New function.
91137         (rpl_raise): New function.
91138         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
91139         GNULIB_SIGNAL_H_SIGPIPE.
91140         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
91141         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
91143         * modules/sigpipe: New file.
91144         * m4/sigpipe.m4: New file.
91146 2008-09-25  Derek Price  <derek@ximbiot.com>
91147             Bruno Haible  <bruno@clisp.org>
91149         * gnulib-tool (func_import): Report all license incompatibilities, not
91150         just the first one.
91152 2008-09-25  Bruno Haible  <bruno@clisp.org>
91154         * gnulib-tool (func_import): When computing the edits, consider not
91155         only the Makefile.ams that exist but also those that will be generated.
91157 2008-09-25  Simon Josefsson  <simon@josefsson.org>
91159         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
91160         fixes gnulib-tool --test warning about duplicate dependency.
91162 2008-09-25  Bruno Haible  <bruno@clisp.org>
91164         * gnulib-tool: Don't ask the user to perform edits in the generated
91165         Makefile.ams.
91166         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
91167         apply to the Makefile.am being generated.
91168         (func_emit_tests_Makefile_am): Execute edits that apply to the
91169         Makefile.am being generated.
91170         (func_import): Setup list of Makefile.am edits before emitting the
91171         Makefile.ams, not at the end.
91172         (func_create_testdir): Update.
91173         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91175 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91177         * gnulib-tool (func_import): Store the --tests-base option in the
91178         comment in gnulib-cache.m4.
91180 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
91182         * NEWS: Document increased portability that sys_select now provides.
91184         * lib/sys_select.in.h: Install select wrapper.
91185         * lib/sys_socket.in.h: Use more descriptive name when there is no
91186         select wrapper.
91187         * lib/winsock-select.c: New.
91188         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
91189         Require gl_HEADER_SYS_SOCKET.
91190         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
91191         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
91192         * tests/test-sys_select.c: Add functional tests.
91194 2008-09-24  Eric Blake  <ebb9@byu.net>
91196         open, fopen: close fd leak in last patch
91197         * lib/open.c (rpl_open): Close fd before returning error.
91198         * lib/fopen.c (rpl_fopen): Close fd before returning error.
91199         * doc/posix-functions/open.texi (open): Document that Irix also
91200         has the bug.
91201         * doc/posix-functions/fopen.texi (fopen): Likewise.
91202         Reported by Paolo Bonzini.
91204 2008-09-24  Bruno Haible  <bruno@clisp.org>
91206         Ensure that a filename ending in a slash cannot be used to access a
91207         non-directory.
91208         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
91209         to check whether it's really a directory.
91210         * lib/fopen.c: Include fcntl.h, unistd.h.
91211         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
91212         and fdopen().
91213         * modules/fopen (Depends-on): Add unistd.
91214         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
91215         * tests/test-fopen.c (main): Likewise.
91216         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
91217         * doc/posix-functions/fopen.texi: Likewise.
91218         Reported by Eric Blake.
91220 2008-09-23  Eric Blake  <ebb9@byu.net>
91222         c-stack: avoid compiler optimizations when provoking overflow
91223         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
91224         recursion harder to optimize, to ensure a stack overflow occurs.
91225         * tests/test-c-stack.c (recurse): Likewise.
91226         Borrowed from libsigsegv.
91228         c-stack: work around Irix sigaltstack bug
91229         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
91230         whether sigaltstack uses wrong end of stack_t (copied in part from
91231         libsigsegv).
91232         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
91233         Irix bug, without requiring an over-allocation.
91234         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
91235         bug.
91237         fopen: document mingw bug on directories
91238         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
91239         not allowing a stream visiting a directory, even though reading
91240         from such a stream is not portable.
91242 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91244         * lib/poll.c: Rewrite.
91245         * modules/poll: Depend on alloca.
91247 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91249         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
91250         instead define prototypes for a full set of wrappers.  Ensure
91251         that Cygwin does not use the compatibility code, which is only
91252         for MinGW.
91253         * lib/winsock.c: New.
91254         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
91255         * modules/sys_socket: Add lib/winsock.c.
91257         * modules/poll-tests: Add errno and perror.
91258         * tests/test-poll.c: Use ioctl, not ioctlsocket.
91260 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91262         * tests/test-poll.c: Downgrade minimum needed Winsock version.
91264 2008-09-23  Bruno Haible  <bruno@clisp.org>
91266         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
91267         * doc/glibc-functions/*: Likewise.
91269 2008-09-23  Simon Josefsson  <simon@josefsson.org>
91271         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
91272         success.
91274 2008-09-22  Eric Blake  <ebb9@byu.net>
91275             Bruno Haible  <bruno@clisp.org>
91277         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
91278         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
91279         supply %A but mishandle pseudo-NaN.
91280         Reported by Simon Josefsson.
91282 2008-09-21  Bruno Haible  <bruno@clisp.org>
91284         * tests/test-lock.c (main): Tweak skip message.
91285         * tests/test-tls.c (main): Likewise.
91287 2008-09-21  Bruno Haible  <bruno@clisp.org>
91289         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
91290         whether 'struct sigaction' has sa_sigaction here...
91291         (gl_PREREQ_SIG_HANDLER_H): ... not here.
91292         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
91294 2008-09-21  Bruno Haible  <bruno@clisp.org>
91296         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
91297         section.
91298         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
91299         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
91300         the new section.
91301         (Support for obsolete systems lacking POSIX:2001): New section.
91302         (String handling <string.h>): Move strdup to the new section.
91303         Suggested by Simon Josefsson and Paolo Bonzini.
91305 2008-09-21  Bruno Haible  <bruno@clisp.org>
91307         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
91308         exponents in %e and %g results on 'long double'. Needed for mingw's
91309         improved *printf functions.
91310         * tests/test-vasprintf-posix.c (test_function): Likewise.
91311         * tests/test-snprintf-posix.h (test_function): Likewise.
91312         * tests/test-sprintf-posix.h (test_function): Likewise.
91313         Reported by Eric Blake.
91315 2008-09-21  Bruno Haible  <bruno@clisp.org>
91317         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
91318         * tests/test-sprintf-posix.h (test_function): Likewise.
91320 2008-09-21  Bruno Haible  <bruno@clisp.org>
91322         * modules/getpass (Depends-on): Add strdup-posix.
91324         New module 'strdup-posix'.
91325         * modules/strdup-posix: New file.
91326         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
91327         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
91328         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91329         REPLACE_STRDUP.
91330         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
91331         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
91332         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91333         strdup-posix.
91335         * modules/strdup (Depends-on): Remove malloc-posix.
91337 2008-09-20  Bruno Haible  <bruno@clisp.org>
91339         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
91340         Wildenhues.
91342 2008-09-20  Bruno Haible  <bruno@clisp.org>
91344         Ensure that wint_t gets defined on IRIX 5.3.
91345         * lib/wchar.in.h (wint_t): Define if not defined by the system.
91346         * lib/wctype.in.h (wint_t): Likewise.
91347         (__wctype_wint_t): Remove type.
91348         (isw*): Use wint_t instead of __wctype_wint_t.
91349         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
91350         * modules/wchar (Files): Add m4/wint_t.m4.
91351         (Makefile.am): Substitute HAVE_WINT_T.
91352         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
91353         * tests/test-wctype.c: Check that wint_t is defined.
91354         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
91355         * doc/posix-headers/wctype.texi: Likewise.
91356         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
91358 2008-09-18  Bruno Haible  <bruno@clisp.org>
91360         * gnulib-tool (func_exit): Update comment.
91362 2008-09-18  Simon Josefsson  <simon@josefsson.org>
91364         * modules/getaddrinfo (Depends-on): Remove strdup, this module
91365         assumes strdup exists and does not depend on strdup to return
91366         ENOMEM on out of memory conditions.
91368 2008-09-18  Bruno Haible  <bruno@clisp.org>
91370         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
91371         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
91372         digits for the exponent.
91374 2008-09-18  Jim Meyering  <meyering@redhat.com>
91375             Bruno Haible  <bruno@clisp.org>
91377         * lib/vasnprintf.c (decimal_point_char): Define also if
91378         NEED_PRINTF_INFINITE_LONG_DOUBLE.
91380 2008-09-16  Bruno Haible  <bruno@clisp.org>
91381         and Eric Blake  <ebb9@byu.net>
91383         vasnprintf: support Irix 5.3
91384         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
91385         that mishandle long double infinity.
91386         Reported by Tom G. Christensen.
91388 2008-09-16  Bruno Haible  <bruno@clisp.org>
91390         * doc/glibc-functions/scandir.texi: Mention the function is missing on
91391         Solaris 9.
91392         * doc/glibc-functions/alphasort.texi: Likewise.
91393         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
91395 2008-09-16  Jim Meyering  <meyering@redhat.com>
91397         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
91398         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
91399         a umask modification leak out of a subshell.  Otherwise, the
91400         opensolaris /bin/sh would be accepted and thus cause unwarranted
91401         failures in the coreutils test suite.
91403 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
91405         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
91406         to succeed.
91408 2008-09-16  Jim Meyering  <meyering@redhat.com>
91410         avoid spurious test failure when library is built without ACL support
91411         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
91412         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
91413         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
91414         * tests/test-copy-acl.sh: Likewise.
91416 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91418         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
91419         based on character occurrence counts.
91421 2008-09-15  Eric Blake  <ebb9@byu.net>
91423         tests: avoid some compiler warnings
91424         * tests/test-memchr.c (main): Pass NULL indirectly.
91425         * tests/test-closein.c (main): Avoid unused variable.
91427 2008-09-15  Bruno Haible  <bruno@clisp.org>
91429         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
91430         are missing on OpenBSD 4.0 individually.
91431         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91433 2008-09-15  Bruno Haible  <bruno@clisp.org>
91435         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
91436         * doc/posix-functions/strerror.texi: Mention also Cygwin.
91437         * doc/posix-functions/perror.texi: Likewise.
91438         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
91439         is missing.
91440         Reported by Eric Blake.
91442         * lib/errno.in.h: Use replacement values >= 2000.
91443         Reported by Eric Blake.
91445 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91447         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
91448         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
91449         limit.
91450         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
91451         compareseq was aborted.
91453 2008-09-14  Bruno Haible  <bruno@clisp.org>
91455         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
91456         yvec_edit_count.
91457         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
91458         (fstrcmp_bounded): Simplify result computation accordingly.
91460 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91462         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
91463         (fstrcmp): Define in terms of fstrcmp_bounded.
91464         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
91465         lower_bound argument.
91466         Return quickly if the result is certainly < lower_bound.
91467         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
91469 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91471         * lib/diffseq.h (EARLY_ABORT): New macro.
91472         (compareseq): Change return type to bool. Return true when EARLY_ABORT
91473         evaluates to true.
91475 2008-09-14  Bruno Haible  <bruno@clisp.org>
91477         * modules/perror-tests: New file.
91478         * tests/test-perror.sh: New file.
91479         * tests/test-perror.c: New file.
91481         New module 'perror'.
91482         * lib/stdio.in.h (perror): New declaration.
91483         * lib/perror.c: New file.
91484         * m4/perror.m4: New file.
91485         * modules/perror: New file.
91486         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
91487         * doc/posix-functions/perror.texi: Mention the perror module.
91488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
91489         REPLACE_PERROR.
91490         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
91491         REPLACE_PERROR.
91493 2008-09-14  Bruno Haible  <bruno@clisp.org>
91495         * modules/stdio (Makefile.am): Reorder to match the order in
91496         lib/stdio.in.h.
91497         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
91499 2008-09-13  Bruno Haible  <bruno@clisp.org>
91501         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
91503 2008-09-13  Bruno Haible  <bruno@clisp.org>
91505         Extend strerror to cover the added errno values.
91506         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
91507         (rpl_strerror): Provide error messages for the added errno values and
91508         for the WSA* values.
91509         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
91510         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
91511         strerror.
91512         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
91513         * modules/strerror (Depends-on): Add errno.
91514         * doc/posix-functions/strerror.texi: Document the change.
91515         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
91516         and EOVERFLOW.
91518 2008-09-13  Bruno Haible  <bruno@clisp.org>
91520         * modules/EOVERFLOW: Remove file.
91521         * m4/eoverflow.m4: Remove file.
91522         * modules/EOVERFLOW-tests: Remove file.
91523         * tests/test-EOVERFLOW.c: Remove file.
91524         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
91525         * modules/ftell (Depends-on): Likewise.
91526         * modules/getdelim (Depends-on): Likewise.
91527         * modules/getugroups (Depends-on): Likewise.
91528         * modules/poll (Depends-on): Likewise.
91529         * modules/snprintf (Depends-on): Likewise.
91530         * modules/sprintf-posix (Depends-on): Likewise.
91531         * modules/vasnprintf (Depends-on): Likewise.
91532         * modules/vasprintf (Depends-on): Likewise.
91533         * modules/vfprintf-posix (Depends-on): Likewise.
91534         * modules/vsnprintf (Depends-on): Likewise.
91535         * modules/vsprintf-posix (Depends-on): Likewise.
91536         * modules/xvasprintf (Depends-on): Likewise.
91537         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
91538         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
91539         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
91540         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
91541         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
91542         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
91543         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
91544         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
91545         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
91546         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
91547         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
91548         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
91549         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
91550         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
91551         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
91552         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
91553         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
91554         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
91555         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
91556         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
91557         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
91558         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
91559         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
91560         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
91561         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
91562         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
91563         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
91564         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
91565         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
91566         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
91567         * MODULES.html.sh: Remove EOVERFLOW.
91568         * NEWS: Mention the change.
91570 2008-09-13  Bruno Haible  <bruno@clisp.org>
91572         * modules/errno-tests: New file.
91573         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
91575         * lib/errno.in.h: New file.
91576         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
91577         * modules/errno: New file.
91578         * doc/posix-headers/errno.texi: Update documentation.
91579         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
91581 2008-09-13  Bruno Haible  <bruno@clisp.org>
91583         * tests/test-poll.c: Use #if for native Windows, rather than testing
91584         __MSVCRT__.
91586 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91587             Bruno Haible  <bruno@clisp.org>
91589         * lib/glob.c: Don't include <pwd.h> on native Windows.
91590         (WINDOWS32): New macro.
91591         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
91593 2008-09-13  Bruno Haible  <bruno@clisp.org>
91595         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
91596         (ETIMEDOUT): Remove macro.
91597         (glthread_cond_timedwait_multithreaded): New declaration.
91598         (glthread_cond_timedwait): Use it.
91599         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
91600         (glthread_cond_timedwait_multithreaded): New function.
91602 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91604         * modules/poll-tests: Do not check for io.h.
91605         * tests/test-poll.c: Check for __MSVCRT__ instead.
91607 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91609         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
91610         * modules/poll-tests: Add inet_pton, stdbool, sockets.
91611         * tests/test-poll.c: Use them.  Use _pipe on Windows.
91613 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91615         * modules/poll-tests: New.
91616         * tests/test-poll.c: New.
91618 2008-09-12  Eric Blake  <ebb9@byu.net>
91620         frexp: test for NetBSD failure on -0.0
91621         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
91622         not all, bugs from NetBSD 3.0 have been fixed.
91623         * doc/posix-functions/frexp.texi (frexp): Document bug.
91624         Reported by Thomas Klausner.
91626         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
91627         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
91628         literal -0.0.
91629         Reported by Jonathan C. Patschke <jp@centtech.com>.
91631 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91633         * lib/glthread/cond.h: Use dummy implementation also if
91634         USE_WIN32_THREADS.
91636 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91638         * modules/fnmatch-posix (License): Change to LGPLv2+.
91639         * modules/fnmatch-gnu (License): Likewise.
91641 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91643         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
91645 2008-09-11  Jim Meyering  <meyering@redhat.com>
91647         * users.txt: Add gtk-vnc.
91649 2008-09-08  Simon Josefsson  <simon@josefsson.org>
91651         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
91652         rotate amounts.
91654         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
91655         required for 16-bit and 8-bit rotates.
91656         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
91657         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
91658         UINT8_MAX instead of hard-coded constants.
91659         Suggested by Paul Eggert.
91661 2008-09-07  Bruno Haible  <bruno@clisp.org>
91663         * tests/test-striconveh.c (main): Check behaviour when converting from
91664         UTF-7.
91666         Make striconveh work better with stateful encodings.
91667         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
91668         that iconv does not increment the inptr when returning -1/EINVAL.
91670 2008-09-07  Bruno Haible  <bruno@clisp.org>
91672         * build-aux/config.rpath: Update according to libtool-2.2.6.
91673         * build-aux/config.libpath: Likewise.
91675 2008-09-06  Bruno Haible  <bruno@clisp.org>
91677         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
91678         * lib/freadptr.c (freadptr): Likewise.
91679         * lib/freadseek.c (freadptrinc): Likewise.
91680         Reported by Simon Josefsson.
91682 2008-09-06  Bruno Haible  <bruno@clisp.org>
91684         * modules/freadptr (License): Change to LGPLv2+.
91685         * modules/freadseek (License): Likewise.
91686         Suggested by Eric Blake.
91688         * modules/memchr2 (License): Change to LGPLv2+.
91689         Approved by Eric Blake.
91691 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91692             Bruno Haible  <bruno@clisp.org>
91694         Make gnulib-tool work with native 'sed' on AIX.
91695         * gnulib-tool (sed_noop): New variable.
91696         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
91697         func_add_or_update, func_create_testdir): Use it to initialize sed
91698         script variables.
91699         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
91701 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
91702             Bruno Haible  <bruno@clisp.org>
91704         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
91705         also works after #include directives.
91707 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
91709         getdate.y: reject an out-of-range timezone value
91710         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
91711         the range [-24...+24].  When specified with only one or two digits,
91712         * tests/test-getdate.c: Tests for the fix.
91713         * doc/getdate.texi: Document this change.
91715 2008-09-03  Bruno Haible  <bruno@clisp.org>
91717         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
91719 2008-09-02  Simon Josefsson  <simon@josefsson.org>
91721         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
91722         <bruce.korb@gmail.com> with ideas from Ben Pfaff
91723         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
91724         Blake <ebb9@byu.net>.
91726         * tests/test-bitrotate.c: Add more test vectors.
91728 2008-09-02  Eric Blake  <ebb9@byu.net>
91730         vasnprintf-posix: handle large precision via %.*d
91731         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
91732         when handling it ourselves.
91733         * tests/test-vasnprintf-posix.c (test_function): Add test.
91734         * tests/test-snprintf-posix.h (test_function): Likewise.
91735         * tests/test-sprintf-posix.h (test_function): Likewise.
91736         * tests/test-vasprintf-posix.c (test_function): Likewise.
91737         Reported by Alain Guibert.
91739 2008-09-01  Eric Blake  <ebb9@byu.net>
91741         c-stack: make configure-time check more robust
91742         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
91743         successful sigaction call.
91744         Reported by Tom G. Christensen.
91746 2008-09-01  Bruno Haible  <bruno@clisp.org>
91748         New module 'findprog-lgpl'.
91749         * modules/findprog-lgpl: New file.
91750         * lib/findprog-lgpl.c: New file.
91751         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
91752         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
91753         to decide whether to use strdup or xstrdup, concatenated_filename or
91754         xconcatenated_filename.
91756 2008-09-01  Bruno Haible  <bruno@clisp.org>
91758         Split module 'concat-filename' into 'concat-filename' (LGPL) and
91759         'xconcat-filename' (GPL).
91760         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
91761         (License): Change to LGPLv2+.
91762         * modules/xconcat-filename: New file.
91763         * lib/concat-filename.h (concatenated_filename): Change specification.
91764         (xconcatenated_filename): New declaration.
91765         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
91766         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
91767         memory situations.
91768         * lib/xconcat-filename.c: New file.
91769         * NEWS: Mention the change.
91770         * lib/findprog.c: Include concat-filename.h, not filename.h.
91771         (find_in_path): Use xconcatenated_filename instead of
91772         concatenated_filename.
91773         * lib/javacomp.c: Include concat-filename.h, not filename.h.
91774         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
91775         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
91776         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
91777         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
91778         instead of concatenated_filename.
91779         * lib/javaexec.c: Include concat-filename.h, not filename.h.
91780         (execute_java_class): Use xconcatenated_filename instead of
91781         concatenated_filename.
91782         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
91783         * modules/javacomp (Depends-on): Likewise.
91784         * modules/javaexec (Depends-on): Likewise.
91786 2008-09-01  Bruno Haible  <bruno@clisp.org>
91788         Split module 'filename' into 'filename' and 'concat-filename'.
91789         * modules/filename: Keep only lib/filename.h.
91790         (License): Change to LGPLv2+.
91791         * modules/concat-filename: New file, extracted from modules/filename.
91792         * lib/filename.h (concatenated_filename): Remove declaration.
91793         * lib/concat-filename.h: New file, extracted from lib/filename.h.
91794         * lib/concat-filename.c: Include concat-filename.h.
91795         * NEWS: Mention the change.
91797 2008-09-01  Simon Josefsson  <simon@josefsson.org>
91799         * lib/bitrotate.h (rotl8, rotr8): Add.
91801         * modules/bitrotate (configure.ac): Need
91802         AC_REQUIRE([AC_C_INLINE]).
91803         (Description): Mention stdint.h.  Reported by Bruno Haible
91804         <bruno@clisp.org>.
91806         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
91807         Paolo Bonzini <bonzini@gnu.org>.
91809 2008-08-31  Bruno Haible  <bruno@clisp.org>
91811         Assume Solaris specific bi-arch conventions on Solaris systems.
91812         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
91813         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
91814         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
91815         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
91816         like acl_libdirstem.
91817         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
91818         acl_libdirstem.
91819         * NEWS: Mention the change.
91820         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
91822 2008-08-31  Jim Meyering  <meyering@redhat.com>
91824         * lib/strftime.h: Add comments describing the two added arguments.
91826         remove duplicate #include directives
91827         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
91828         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
91830 2008-08-31  Bruno Haible  <bruno@clisp.org>
91832         New module 'sigpipe-die'.
91833         * modules/sigpipe-die: New file.
91834         * lib/sigpipe-die.h: New file.
91835         * lib/sigpipe-die.c: New file.
91836         * MODULES.html.sh (Signal handling): Add sigpipe-die.
91838 2008-08-31  Bruno Haible  <bruno@clisp.org>
91840         Don't override previously installed signal handlers.
91841         * lib/fatal-signal.c (saved_sigactions): New variable.
91842         (uninstall_handlers): Reset the signal to the saved handler, not
91843         to SIG_DFL (except when ignored).
91844         (install_handlers): Save the previous handlers.
91846 2008-08-30  Bruno Haible  <bruno@clisp.org>
91848         * gnulib-tool (func_reset_sigpipe): New function.
91849         (func_get_automake_snippet, func_modules_transitive_closure,
91850         func_import): Invoke it before a join command that reads from stdin,
91851         to avoid "echo: write error: Broken pipe" error messages on stderr.
91852         Reported by Sam Steingold <sds@gnu.org>.
91854 2008-08-30  Bruno Haible  <bruno@clisp.org>
91856         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
91857         Code copied from m4/open.m4.
91858         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
91859         access and the filename ends in a slash. Code copied from lib/open.c.
91860         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
91861         * tests/test-fopen.c (main): Check against bug with trailing slash.
91863 2008-08-29  Bruno Haible  <bruno@clisp.org>
91865         Avoid some "gcc -pedantic" warnings.
91866         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
91867         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
91868         * lib/dirent.in.h: Likewise.
91869         * lib/fcntl.in.h: Likewise.
91870         * lib/float.in.h: Likewise.
91871         * lib/iconv.in.h: Likewise.
91872         * lib/inttypes.in.h: Likewise.
91873         * lib/locale.in.h: Likewise.
91874         * lib/math.in.h: Likewise.
91875         * lib/netinet_in.in.h: Likewise.
91876         * lib/search.in.h: Likewise.
91877         * lib/signal.in.h: Likewise.
91878         * lib/stdarg.in.h: Likewise.
91879         * lib/stdint.in.h: Likewise.
91880         * lib/stdio.in.h: Likewise.
91881         * lib/stdlib.in.h: Likewise.
91882         * lib/string.in.h: Likewise.
91883         * lib/strings.in.h: Likewise.
91884         * lib/sys_select.in.h: Likewise.
91885         * lib/sys_socket.in.h: Likewise.
91886         * lib/sys_stat.in.h: Likewise.
91887         * lib/sys_time.in.h: Likewise.
91888         * lib/sysexits.in.h: Likewise.
91889         * lib/time.in.h: Likewise.
91890         * lib/unistd.in.h: Likewise.
91891         * lib/wchar.in.h: Likewise.
91892         * lib/wctype.in.h: Likewise.
91893         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
91894         * modules/fchdir (Makefile.am): Likewise.
91895         * modules/fcntl (Makefile.am): Likewise.
91896         * modules/float (Makefile.am): Likewise.
91897         * modules/iconv_open (Makefile.am): Likewise.
91898         * modules/inttypes (Makefile.am): Likewise.
91899         * modules/locale (Makefile.am): Likewise.
91900         * modules/math (Makefile.am): Likewise.
91901         * modules/netinet_in (Makefile.am): Likewise.
91902         * modules/search (Makefile.am): Likewise.
91903         * modules/signal (Makefile.am): Likewise.
91904         * modules/stdarg (Makefile.am): Likewise.
91905         * modules/stdint (Makefile.am): Likewise.
91906         * modules/stdio (Makefile.am): Likewise.
91907         * modules/stdlib (Makefile.am): Likewise.
91908         * modules/string (Makefile.am): Likewise.
91909         * modules/strings (Makefile.am): Likewise.
91910         * modules/sys_select (Makefile.am): Likewise.
91911         * modules/sys_socket (Makefile.am): Likewise.
91912         * modules/sys_stat (Makefile.am): Likewise.
91913         * modules/sys_time (Makefile.am): Likewise.
91914         * modules/sysexits (Makefile.am): Likewise.
91915         * modules/time (Makefile.am): Likewise.
91916         * modules/unistd (Makefile.am): Likewise.
91917         * modules/wchar (Makefile.am): Likewise.
91918         * modules/wctype (Makefile.am): Likewise.
91919         Reported by Reuben Thomas <rrt@sc3d.org>.
91921 2008-08-29  Bruno Haible  <bruno@clisp.org>
91923         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
91924         any more.
91926 2008-08-29  Simon Josefsson  <simon@josefsson.org>
91928         * MODULES.html.sh (Misc): Add bitrotate.
91930         * modules/bitrotate: New file.
91932         * lib/bitrotate.h: New file.
91934         * modules/bitrotate-tests: New file.
91936         * tests/test-bitrotate.c: New file.
91938         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
91939         on the bitrotate module.
91941         * lib/arctwo.c: Use new bitrotate module.
91943 2008-08-29  Jim Meyering  <meyering@redhat.com>
91945         bootstrap: merge changes from coreutils
91946         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
91947         of copied files.  Remove a kludge, now that this is fixed.
91948         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
91949         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
91950         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
91952 2008-08-29  Bruno Haible  <bruno@clisp.org>
91954         * MODULES.html.sh: Remove --cvs-urls option.
91956 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
91958         maint.mk: adjust to file name change
91959         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
91961 2008-08-28  Jim Meyering  <meyering@redhat.com>
91963         * modules/getndelim2 (License): Relicense to LGPLv2+.
91964         Approved by Richard Stallman for the version of 1995, and by
91965         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
91967 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
91969         * lib/getdelim.c (flockfile, funlockfile): Make all of them
91970         dummy if one is not available.  Do not touch them if
91971         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
91972         (getc_maybe_unlocked): New.
91973         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
91975 2008-08-26  Eric Blake  <ebb9@byu.net>
91977         doc/INSTALL: resync from autoconf
91978         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
91979         (INSTALL_PRELUDE): Delete; this is done more efficiently by
91980         moving...
91981         * install.texi [!autoconf]: ...here.  Resync from autoconf.
91982         * INSTALL: Regenerate.
91983         * INSTALL.ISO: New file.
91984         * INSTALL.UTF-8: Likewise.
91986 2008-08-26  Jim Meyering  <meyering@redhat.com>
91988         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
91989         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
91990         these definitions conditional, so that they may be overridden, too.
91992 2008-08-26  Bruno Haible  <bruno@clisp.org>
91994         Generate INSTALL file variants with prettier quotes.
91995         * doc/Makefile (INSTALL_PRELUDE): New macro.
91996         (INSTALL): Use it.
91997         (INSTALL.ISO, INSTALL.UTF-8): New rules.
91999 2008-08-26  Bruno Haible  <bruno@clisp.org>
92001         Run makeinfo in an English locale.
92002         * doc/Makefile (MAKEINFO): New variable.
92004 2008-08-26  Bruno Haible  <bruno@clisp.org>
92006         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
92007         Suggested by Eric Blake.
92009 2008-08-25  Bruno Haible  <bruno@clisp.org>
92011         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
92013 2008-08-25  Eric Blake  <ebb9@byu.net>
92015         c-stack: test that stack overflow can be caught
92016         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
92017         that platform allows handling stack overflow; at least OS/2 EMX
92018         has sigaltstack, but crashes before transferring control to
92019         handler on stack overflow.
92020         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
92021         check for HAVE_STACK_OVERFLOW_HANDLING.
92022         Reported by Elbert Pol.
92024 2008-08-25  Bruno Haible  <bruno@clisp.org>
92026         * doc/posix-functions/strftime.texi: Fix description of strftime
92027         module.
92029 2008-08-24  Bruno Haible  <bruno@clisp.org>
92031         * tests/uniwidth/test-uc_width2.c: New file.
92032         * tests/uniwidth/test-uc_width2.sh: New file.
92033         * modules/uniwidth/width-tests (Files): Add the new files.
92034         (TESTS): Add uniwidth/test-uc_width2.sh.
92035         (TESTS_ENVIRONMENT): New variable.
92036         (check_PROGRAMS): Add test-uc_width2.
92037         (test_uc_width2_SOURCES): New variable.
92039         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
92040         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
92041         not 0x00AB.
92042         Reported by Alexander V. Lukyanov <lav@netis.ru>.
92044 2008-08-22  Eric Blake  <ebb9@byu.net>
92046         test-lock, test-tls: mention why a test is skipped
92047         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
92048         skipped.
92049         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
92051         count-one-bits: relax license
92052         * modules/count-one-bits (License): Relicense to LGPLv2+.
92053         Suggested by Ludovic Courtès, approved by Ben Pfaff.
92055 2008-08-22  Andreas Schwab  <schwab@suse.de>
92057         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
92058         Remove spurious space in assignment.
92060 2008-08-21  Simon Josefsson  <simon@josefsson.org>
92062         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
92063         Paul Eggert <eggert@CS.UCLA.EDU>.
92065 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
92067         * modules/gettext: Add m4/threadlib.m4.
92069 2008-08-19  Eric Blake  <ebb9@byu.net>
92071         test-c-stack: fix compilation failure on FreeBSD 5.0
92072         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
92073         headers before <sys/resource.h>.
92074         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
92075         the bug.
92076         Reported by Nelson H. F. Beebe.
92078         strverscmp: migrate from "strverscmp.h" to <string.h>
92079         * modules/string (Makefile.am): Add new hooks.
92080         * modules/strverscmp (Files): Remove strverscmp.h.
92081         (Depends-on): Add string.
92082         (configure.ac): Add indicator.
92083         (Include): Mention new header.
92084         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
92085         defaults.
92086         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
92087         results.
92088         * lib/strverscmp.h: Delete.
92089         * lib/string.in.h (strverscmp): Provide declaration, when needed.
92090         * tests/test-strverscmp.c (includes): Adjust client.
92091         * lib/check-version.c (includes): Likewise.
92092         * NEWS: Document the change.
92094         strverscmp: add unit test
92095         * modules/strverscmp-tests: New file.
92096         * tests/test-strverscmp.c: Likewise.
92098 2008-08-19  Simon Josefsson  <simon@josefsson.org>
92100         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
92101         regarding Windows crypto stuff, from Mono.
92103 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
92105         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
92106         if present, for intel RND.  Return error on failures.
92108 2008-08-18  Ben Pfaff  <blp@gnu.org>
92110         gitlog-to-changelog: give better diagnostic for failed pipe-open
92111         * build-aux/gitlog-to-changelog: Improve error message: suggest
92112         that the version of Git may be too old.
92114 2008-08-18  Simon Josefsson  <simon@josefsson.org>
92116         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
92117         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
92119 2008-08-18  Bruno Haible  <bruno@clisp.org>
92121         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
92122         pthread_in_use().
92124 2008-08-18  Bruno Haible  <bruno@clisp.org>
92126         * lib/glthread/threadlib.c: Include <pthread.h>.
92128 2008-08-18  Bruno Haible  <bruno@clisp.org>
92130         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
92131         glthread_recursive_lock_* macros.
92132         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
92133         Fix syntax error.
92135 2008-08-18  Bruno Haible  <bruno@clisp.org>
92137         * lib/glthread/thread.c: Avoid forcing a context switch right after
92138         thread creation.
92140 2008-08-17  Bruno Haible  <bruno@clisp.org>
92142         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
92143         * lib/glthread/thread.h: Provide Win32 specific implementation.
92144         * modules/thread (Files): Add lib/glthread/thread.c.
92145         (Depends-on): Add lock.
92146         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
92148 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92150         New module 'yield'.
92151         * modules/yield: New file.
92152         * lib/glthread/yield.h: New file.
92153         * m4/yield.m4: New file.
92154         * MODULES.html.sh (Multithreading): Add yield.
92156 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92158         New module 'thread'.
92159         * modules/thread: New file.
92160         * lib/glthread/thread.h: New file.
92161         * m4/thread.m4: New file.
92162         * MODULES.html.sh (Multithreading): Add thread.
92164 2008-08-17  Bruno Haible  <bruno@clisp.org>
92166         * lib/glthread/lock.h: Include <stdlib.h> always.
92167         * lib/glthread/tls.h: Likewise.
92168         * lib/glthread/cond.h: Likewise.
92170 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92172         New module 'cond'.
92173         * modules/cond: New file.
92174         * lib/glthread/cond.h: New file.
92175         * lib/glthread/cond.c: New file.
92176         * m4/cond.m4: New file.
92177         * MODULES.html.sh (Multithreading): Add cond.
92179 2008-08-16  Eric Blake  <ebb9@byu.net>
92181         c-stack: fix regression on Irix 5.3 from 2008-06-21
92182         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
92183         sa_sigaction...
92184         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
92185         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
92186         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
92187         * modules/signal (Makefile.am): Use the value.
92188         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
92189         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
92190         * doc/posix-headers/signal.texi (signal.h): Document this
92191         portability issue.
92192         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
92193         Reported by Tom G. Christensen.
92195 2008-08-17  Bruno Haible  <bruno@clisp.org>
92197         New module 'threadlib'.
92198         * modules/threadlib: New file.
92199         * lib/glthread/threadlib.c: New file, extracted from
92200         lib/glthread/lock.c.
92201         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
92202         functions.
92203         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
92204         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
92205         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
92206         macros.
92207         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
92208         (gl_DISABLE_THREADS): Remove macro.
92209         * modules/lock (Files): Remove build-aux/config.rpath.
92210         (Depends-on): Remove havelib. Add threadlib.
92211         (configure.ac-early): Remove section.
92212         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
92213         * modules/tls (Depends-on): Remove lock. Add threadlib.
92214         (Link): New section, copied from threadlib.
92215         * MODULES.html.sh (Multithreading): Add threadlib.
92217 2008-08-14  Bruno Haible  <bruno@clisp.org>
92219         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
92220         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
92221         glthread_rwlock_unlock, glthread_rwlock_destroy,
92222         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
92223         glthread_recursive_lock_destroy): Define as macros always.
92224         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
92225         glthread_lock_lock.
92226         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
92227         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
92228         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
92229         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
92230         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
92231         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
92232         (glthread_recursive_lock_lock_func): Renamed from
92233         glthread_recursive_lock_lock.
92234         (glthread_recursive_lock_unlock_func): Renamed from
92235         glthread_recursive_lock_unlock.
92236         (glthread_recursive_lock_destroy_func): Renamed from
92237         glthread_recursive_lock_destroy.
92239 2008-08-14  Bruno Haible  <bruno@clisp.org>
92241         * lib/glthread/lock.h: Renamed from lib/lock.h.
92242         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
92243         * lib/glthread/tls.h: Renamed from lib/tls.h.
92244         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
92245         * lib/fstrcmp.c: Update includes.
92246         * lib/strsignal.c: Update includes.
92247         * modules/lock (Files, Makefile.am): Update.
92248         (Include): Change to "glthread/lock.h".
92249         * modules/tls (Files, Makefile.am): Update.
92250         (Include): Change to "glthread/tls.h".
92251         * tests/test-lock.c: Update includes.
92252         * tests/test-tls.c: Update includes.
92253         * NEWS: Mention the renamed header files.
92255 2008-08-11  Jim Meyering  <meyering@redhat.com>
92257         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
92259 2008-08-11  Eric Blake  <ebb9@byu.net>
92261         test-c-stack: avoid C99-ism
92262         * tests/test-c-stack.c (main): Fix whitespace, move declaration
92263         before statement.
92264         Reported by Alain Guibert.
92266 2008-08-10  Jim Meyering  <meyering@redhat.com>
92268         ensure that return value of uinttostr et al are not ignored
92269         * lib/inttostr.h (__GNUC_PREREQ): Define.
92270         (__attribute_warn_unused_result__): Define.
92271         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
92273 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
92275         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
92276         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
92278 2008-08-07  Jim Meyering  <meyering@redhat.com>
92280         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
92282         * modules/mkstemp (License): Relicense under LGPLv2+.
92283         * modules/tempname (License): Likewise.
92285 2008-08-06  Bruno Haible  <bruno@clisp.org>
92287         * lib/poll.c (poll): Further micro-optimization.
92289 2008-08-06  Jim Meyering  <meyering@redhat.com>
92291         inet_pton.c: use locale-independent tolower
92292         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
92293         (inet_pton6): Use c_tolower rather than tolower.
92294         * modules/inet_pton (Depends-on): Add c-ctype.
92296 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
92298         * lib/poll.c (poll): Avoid division when timeout is 0, cache
92299         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
92301 2008-08-06  Jim Meyering  <meyering@redhat.com>
92303         * modules/inet_pton (License): Relicense under LGPLv2+.
92305 2008-08-03  Bruno Haible  <bruno@clisp.org>
92307         Additional non-aborting API for lock and tls.
92308         * lib/lock.h: Include <errno.h>.
92309         (glthread_lock_init): New macro/function.
92310         (gl_lock_init): Define as wrapper around glthread_lock_init.
92311         (glthread_lock_lock): New macro/function.
92312         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
92313         (glthread_lock_unlock): New macro/function.
92314         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
92315         (glthread_lock_destroy): New macro/function.
92316         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
92317         (glthread_rwlock_init): New macro/function.
92318         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
92319         (glthread_rwlock_rdlock): New macro/function.
92320         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
92321         (glthread_rwlock_wrlock): New macro/function.
92322         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
92323         (glthread_rwlock_unlock): New macro/function.
92324         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
92325         (glthread_rwlock_destroy): New macro/function.
92326         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
92327         (glthread_recursive_lock_init): New macro/function.
92328         (gl_recursive_lock_init): Define as wrapper around
92329         glthread_recursive_lock_init.
92330         (glthread_recursive_lock_lock): New macro/function.
92331         (gl_recursive_lock_lock): Define as wrapper around
92332         glthread_recursive_lock_lock.
92333         (glthread_recursive_lock_unlock): New macro/function.
92334         (gl_recursive_lock_unlock): Define as wrapper around
92335         glthread_recursive_lock_unlock.
92336         (glthread_recursive_lock_destroy): New macro/function.
92337         (gl_recursive_lock_destroy): Define as wrapper around
92338         glthread_recursive_lock_destroy.
92339         (glthread_once): New macro/function.
92340         (gl_once): Define as wrapper around glthread_once.
92341         Update function declarations.
92342         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
92343         glthread_rwlock_init. Return error code.
92344         (glthread_rwlock_rdlock_multithreaded): Renamed from
92345         glthread_rwlock_rdlock. Return error code.
92346         (glthread_rwlock_wrlock_multithreaded): Renamed from
92347         glthread_rwlock_wrlock. Return error code.
92348         (glthread_rwlock_unlock_multithreaded): Renamed from
92349         glthread_rwlock_unlock. Return error code.
92350         (glthread_rwlock_destroy_multithreaded): Renamed from
92351         glthread_rwlock_destroy. Return error code.
92352         (glthread_recursive_lock_init_multithreaded): Renamed from
92353         glthread_recursive_lock_init. Return error code.
92354         (glthread_recursive_lock_lock_multithreaded): Renamed from
92355         glthread_recursive_lock_lock. Return error code.
92356         (glthread_recursive_lock_unlock_multithreaded): Renamed from
92357         glthread_recursive_lock_unlock. Return error code.
92358         (glthread_recursive_lock_destroy_multithreaded): Renamed from
92359         glthread_recursive_lock_destroy. Return error code.
92360         (glthread_once_call): Make static.
92361         (glthread_once_multithreaded): Renamed from glthread_once.
92362         * lib/tls.h: Include <errno.h>.
92363         (glthread_tls_key_init): New macro/function.
92364         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
92365         (glthread_tls_set): New macro/function.
92366         (gl_tls_set): Define as wrapper around glthread_tls_set.
92367         (glthread_tls_key_destroy): New macro/function.
92368         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
92369         Update function declarations.
92370         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
92371         glthread_tls_get.
92372         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
92374 2008-08-04  Eric Blake  <ebb9@byu.net>
92376         gnumakefile: use space, not TAB, outside of targets
92377         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
92379 2008-08-02  Jim Meyering  <meyering@redhat.com>
92381         getdate.y: avoid locale-dependent date parsing failure
92382         In Turkish locales, getdate would fail to recognize keywords
92383         containing a lowercase "i".  The solution is not to rely on
92384         locale-sensitive case-conversion.
92385         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
92386         (lookup_word): Use c_toupper in place of toupper.
92387         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
92388         Reported by Vefa Bicakci <bicave@superonline.com> in
92389         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
92390         * modules/getdate (Depends-on): Add c-ctype.
92392 2008-08-02  Bruno Haible  <bruno@clisp.org>
92394         * gnulib-tool (func_import): When updating or creating a .gitignore
92395         file, prepend each added line with a slash, and ignore leading slashes
92396         from the existing lines.
92397         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
92399 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92401         Portability fix for GNU make 3.79.1.
92402         * top/GNUmakefile: Avoid 'else COND', which older GNU make
92403         versions do not understand.
92405 2008-08-01  Bruno Haible  <bruno@clisp.org>
92407         Work around bug of HP-UX 10.20 cc with -0.0 literal.
92408         * tests/test-isnanf.h (zero): New variable.
92409         (main): Avoid literal -0.0f.
92410         * tests/test-isnand.h (zero): New variable.
92411         (main): Avoid literal -0.0.
92412         * tests/test-isnanl.h (zero): New variable.
92413         (main): Avoid literal -0.0L.
92414         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
92415         (test_float, test_double, test_long_double): Avoid literals -0.0f,
92416         -0.0, -0.0L.
92417         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
92418         (test_signbitd): Avoid literal -0.0.
92419         (test_signbitl): Avoid literal -0.0L.
92420         * tests/test-ceilf1.c (zero): New variable.
92421         (main): Avoid literal -0.0f.
92422         * tests/test-ceill.c (zero): New variable.
92423         (main): Avoid literal -0.0L.
92424         * tests/test-floorf1.c (zero): New variable.
92425         (main): Avoid literal -0.0f.
92426         * tests/test-floorl.c (zero): New variable.
92427         (main): Avoid literal -0.0L.
92428         * tests/test-roundf1.c (zero): New variable.
92429         (main): Avoid literal -0.0f.
92430         * tests/test-round1.c (zero): New variable.
92431         (main): Avoid literal -0.0.
92432         * tests/test-roundl.c (zero): New variable.
92433         (main): Avoid literal -0.0L.
92434         * tests/test-truncf1.c (zero): New variable.
92435         (main): Avoid literal -0.0f.
92436         * tests/test-trunc1.c (zero): New variable.
92437         (main): Avoid literal -0.0.
92438         * tests/test-truncl.c (zero): New variable.
92439         (main): Avoid literal -0.0L.
92440         * tests/test-frexp.c (zero): New variable.
92441         (main): Avoid literal -0.0.
92442         * tests/test-frexpl.c (zero): New variable.
92443         (main): Avoid literal -0.0L.
92444         * tests/test-ldexpl.c (zero): New variable.
92445         (main): Avoid literal -0.0L.
92446         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
92447         (zerod, zerol): New variables.
92448         (test_function): Avoid literals -0.0, -0.0L.
92449         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
92450         (zerod, zerol): New variables.
92451         (test_function): Avoid literals -0.0, -0.0L.
92452         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
92453         (zerod, zerol): New variables.
92454         (test_function): Avoid literals -0.0, -0.0L.
92455         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
92456         (zerod, zerol): New variables.
92457         (test_function): Avoid literals -0.0, -0.0L.
92458         * tests/test-strtod.c (zero): New variable.
92459         (main): Avoid literal -0.0.
92460         Reported by Jonathan C. Patschke <jp@centtech.com>.
92462 2008-07-31  Jim Meyering  <meyering@redhat.com>
92464         sha256.h: correct definition of SHA224_DIGEST_SIZE
92465         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
92466         Reported by Paulie Pena IV <paulie4@gmail.com>.
92467         Define as 224 / 8, rather than as a literal.
92468         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
92469         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
92470         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
92472 2008-07-31  Bruno Haible  <bruno@clisp.org>
92474         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
92475         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
92476         Reported by Jonathan Patschke <jp@centtech.com>.
92478 2008-07-31  Bruno Haible  <bruno@clisp.org>
92480         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
92481         Reported by Paolo Bonzini <bonzini@gnu.org>.
92483 2008-07-30  Eric Blake  <ebb9@byu.net>
92485         test-strtod: allow compilation without -lm
92486         * tests/test-strtod.c (main): Avoid link dependence on fabs.
92487         Reported by Dennis Clarke <blastwave@gmail.com>.
92489 2008-07-28  Jim Meyering  <meyering@redhat.com>
92491         bootstrap: work also when there are no .po files in po/
92492         * build-aux/bootstrap (update_po_files): Complete the change
92493         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
92495 2008-07-27  Jim Meyering  <meyering@redhat.com>
92497         * users.txt: Add zile.
92499 2008-07-26  Ben Pfaff  <blp@gnu.org>
92501         Add missing dependencies on new m4/exponent[fdl].m4 files.
92502         * modules/isnanf-nolibm: Add m4/exponentf.m4.
92503         * modules/isnand-nolibm: Add m4/exponentd.m4.
92504         * modules/isnanl-nolibm: Add m4/exponentl.m4.
92505         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
92506         m4/isnan[fdl].m4, because the macros actually used moved.
92507         Reported by Jim Meyering.
92509 2008-07-14  Ben Pfaff  <blp@gnu.org>
92511         Add isinf module.
92512         * lib/isinf.c: New file.
92513         * lib/math.in.h: Define isinf macro if we have decided to replace
92514         it.
92515         * m4/isinf.m4: New file.
92516         * m4/math_h.m4: Initialize and substitute variables for isinf
92517         module.
92518         * modules/isinf: New file.
92519         * modules/isinf-tests: New file.
92520         * modules/math: Add substitutions for new module.
92521         * tests/test-isinf.c: New file.
92522         * doc/posix-functions/isinf.texi: Mention new module.
92523         * MODULES.html.sh: Mention new module.
92525 2008-07-14  Ben Pfaff  <blp@gnu.org>
92527         Factor out some macros for use by additional modules.
92528         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
92529         exponentf.m4.
92530         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
92531         exponentd.m4.
92532         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
92533         file exponentl.m4.
92534         * m4/exponentf.m4: New file.
92535         * m4/exponentd.m4: New file.
92536         * m4/exponentl.m4: New file.
92537         * modules/isnanf: Use new file m4/exponentf.m4.
92538         * modules/isnand: Use new file m4/exponentd.m4.
92539         * modules/isnanl: Use new file m4/exponentl.m4.
92541 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
92543         mktime.c: normalize tp->tm_isdst value to -1/0/1.
92544         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
92545         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
92546         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
92548         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
92549         readlink on platforms without PATH_MAX.
92551 2008-07-21  Eric Blake  <ebb9@byu.net>
92553         Warn, not fail, on stale version.
92554         * top/GNUmakefile (_curr-ver): Tone down previous patch.
92556         Don't allow installation with stale devel version number.
92557         * top/GNUmakefile (_is-install-target): New macro.
92558         (_curr-ver): Forbid installation with stale version number.
92560 2008-07-20  Bruno Haible  <bruno@clisp.org>
92562         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
92563         TESTS_ENVIRONMENT.
92564         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
92566 2008-07-20  Bruno Haible  <bruno@clisp.org>
92568         * lib/c-stack.h (c_stack_action): Add documentation.
92569         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
92571 2008-07-20  Bruno Haible  <bruno@clisp.org>
92573         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
92574         * modules/readlink (License): Likewise.
92576 2008-07-17  Eric Blake  <ebb9@byu.net>
92578         * modules/c-stack (Link): Fix typo.
92580         Make c-stack use libsigsegv, when available.
92581         * modules/c-stack (Depends-on): Add libsigsegv.
92582         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
92583         needed.
92584         * lib/c-stack.c (SIGSTKSZ): Define fallback.
92585         (segv_handler, overflow_handler, c_stack_action)
92586         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
92587         implementation when libsigsegv is available, but only when using
92588         the library is necessary.
92589         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
92590         comment, explaining why XSI check fails on Linux.
92591         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
92592         * tests/test-c-stack2.sh: Tweak skip message.
92593         * NEWS: Document new link-time requirements.
92595 2008-07-16  Eric Blake  <ebb9@byu.net>
92597         c-stack: Expose false positives when not using libsigsegv.
92598         * modules/c-stack-tests (Files): Expand test.
92599         * tests/test-c-stack.c (main): Add means to conditionally trigger
92600         non-overflow SIGSEGV.
92601         * tests/test-c-stack2.sh: New file.
92603 2008-07-14  Bruno Haible  <bruno@clisp.org>
92605         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
92606         Reported by Eric Blake.
92608 2008-07-14  Sam Steingold  <sds@gnu.org>
92609             Bruno Haible  <bruno@clisp.org>
92611         New module libsigsegv.
92612         * modules/libsigsegv: New file.
92613         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
92614         modifications.
92615         * MODULES.html.sh (Signal handling): New section.
92617 2008-07-14  Bruno Haible  <bruno@clisp.org>
92619         * modules/unictype/ctype-* (Description): Add the word "function".
92620         Improves the resulting doc in MODULES.html.
92622 2008-07-12  Ben Pfaff  <blp@gnu.org>
92624         Add longlong module.
92625         * modules/longlong: New file.
92627 2008-07-12  Bruno Haible  <bruno@clisp.org>
92629         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
92630         to empty.
92632 2008-07-10  Ben Pfaff  <blp@gnu.org>
92634         Add isnan module.
92635         * doc/posix-functions/isnan.texi: Mention new module.
92636         * lib/math.in.h: Define isnan macro if we have decided to replace
92637         it.
92638         * m4/isnan.m4: New file.
92639         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
92640         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
92641         also.
92642         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
92643         redundancy.
92644         * m4/math_h.m4: Initialize and substitute variables for isnan
92645         module.
92646         * modules/isnan: New file.
92647         * modules/isnan-tests: New file.
92648         * modules/math: Add substitutions for new module.
92649         * tests/test-isnan.c: New file.
92650         * MODULES.html.sh: Mention new module.
92652 2008-07-10  Ben Pfaff  <blp@gnu.org>
92654         Add isnanf module.
92655         * lib/isnanf.m4: New file.
92656         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
92657         (gl_HAVE_ISNANF_IN_LIBM): New macro.
92658         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
92659         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
92660         * modules/isnanf: New file.
92661         * modules/isnanf-tests: New file.
92662         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
92663         files.
92664         * tests/test-isnanf-nolibm.c: factored most of its contents into
92665         new file tests/test-isnanf.h.
92666         * tests/test-isnanf.h: New file.
92667         * tests/test-isnanf.c: New file.
92668         * MODULES.html.sh: Mention new module.
92669         * doc/glibc-functions/isnanf.texi: Mention new module.
92671 2008-07-10  Ben Pfaff  <blp@gnu.org>
92673         Add isnand module.
92674         * lib/isnand.h: New file.
92675         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
92676         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
92677         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
92678         functionality also.
92679         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
92680         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
92681         (gl_HAVE_ISNAND_IN_LIBM): New macro.
92682         * modules/isnand: New file.
92683         * modules/isnand-tests: New file.
92684         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
92685         files.
92686         * tests/test-isnand-nolibm.c: factored most of its contents into
92687         new file tests/test-isnand.h.
92688         * tests/test-isnand.h: New file.
92689         * tests/test-isnand.c: New file.
92690         * MODULES.html.sh: Mention new module.
92692 2008-07-10  Ben Pfaff  <blp@gnu.org>
92694         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
92695         * lib/isnand.h: Rename lib/isnand-nolibm.h.
92696         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
92697         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
92698         * modules/isnanf-nolibm: Update references to renamed files.
92699         * modules/isnand-nolibm: Likewise.
92700         * modules/isnanf-nolibm-tests: Likewise.
92701         * modules/isnand-nolibm-tests: Likewise.
92702         * lib/frexp.c: Likewise.
92703         * lib/isfinite.c: Likewise.
92704         * lib/signbitd.c: Likewise.
92705         * lib/signbitf.c: Likewise.
92706         * lib/vasnprintf.c: Likewise.
92707         * tests/test-ceilf1.c: Likewise.
92708         * tests/test-ceilf2.c: Likewise.
92709         * tests/test-floorf1.c: Likewise.
92710         * tests/test-floorf2.c: Likewise.
92711         * tests/test-frexp.c: Likewise.
92712         * tests/test-round1.c: Likewise.
92713         * tests/test-round2.c: Likewise.
92714         * tests/test-roundf1.c: Likewise.
92715         * tests/test-strtod.c: Likewise.
92716         * tests/test-trunc1.c: Likewise.
92717         * tests/test-trunc2.c: Likewise.
92718         * tests/test-truncf1.c: Likewise.
92719         * tests/test-truncf2.c: Likewise.
92720         * NEWS: Mention the renamed header files.
92722 2008-07-11  Jim Meyering  <meyering@redhat.com>
92724         vc-list-files: make the last-resort awk code more portable
92725         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
92726         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
92727         does not support it.
92729 2008-07-10  Eric Blake  <ebb9@byu.net>
92731         Work with tar's bootstrap.
92732         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
92733         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
92734         an m4 comment.
92736 2008-07-09  Jim Meyering  <meyering@redhat.com>
92738         posix-shell.m4: fix typo that made this test malfunction
92739         * m4/posix-shell.m4: Remove capitalization in variable name.
92741 2008-07-08  Bruno Haible  <bruno@clisp.org>
92743         * m4/onceonly.m4: Update comments.
92744         Reported by Ben Pfaff <blp@cs.stanford.edu>.
92746 2008-07-04  Jim Meyering  <meyering@redhat.com>
92748         * users.txt: Add vc-dwim.
92749         (bison, coreutils): Use the gitweb URL.
92751 2008-07-03  Jim Meyering  <meyering@redhat.com>
92753         * users.txt: Add libffcall.  From Sam Steingold.
92755 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
92757         getdate.y: do not ignore TZ with relative day, month or year offset
92758         * lib/getdate.y (get_date): Move the tz-handling block to follow the
92759         relative-date-handling, since otherwise, the latter would clobber the
92760         sole output (an updated Start value) of the tz-handling block.
92761         * tests/test-getdate.c: Tests for the fix
92763 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92765         Recognize 'foo_LIBRARIES += libgnu.a'.
92766         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
92767         makefile snippet has already specified an installation location,
92768         also using '+='.
92770 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
92772         getdate.y: factor out common actions
92773         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
92774         Use them in place of open-coded actions.
92776 2008-07-01  Simon Josefsson  <simon@josefsson.org>
92778         Add self-test for getdate module.
92779         * modules/getdate-tests: New file.
92780         * tests/test-getdate.c: New file.
92782 2008-06-29  Bruno Haible  <bruno@clisp.org>
92784         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
92785         .gitignore.
92786         Reported by Sylvain Beucler <beuc@beuc.net>.
92788 2008-06-29  Bruno Haible  <bruno@clisp.org>
92790         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
92791         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
92793 2008-06-29  Bruno Haible  <bruno@clisp.org>
92795         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
92796         EXTRA_DIST.
92797         Reported by Sylvain Beucler <beuc@beuc.net>.
92799 2008-06-26  Jim Meyering  <meyering@redhat.com>
92801         make several modules depend on the "open" module
92802         This provides slightly increased consistency when opening-for-write
92803         the name of a non-directory spelled with a trailing slash.
92804         * modules/chdir-safer: Likewise.
92805         * modules/chown: Likewise.
92806         * modules/clean-temp: Likewise.
92807         * modules/copy-file: Likewise.
92808         * modules/fchdir: Likewise.
92809         * modules/fcntl-safer: Likewise.
92810         * modules/pipe: Likewise.
92811         * modules/utime: Likewise.
92812         Prompted by Eric Blake and Bruno Haible.
92814 2008-06-24  Andreas Schwab  <schwab@suse.de>
92816         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
92817         literals can be used as initializers for global variables.
92819 2008-06-23  Eric Blake  <ebb9@byu.net>
92821         Make gnulib-cache.m4 easier to diff.
92822         * gnulib-tool (func_import): Allow newlines when reading cached
92823         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
92825 2008-06-23  Bruno Haible  <bruno@clisp.org>
92827         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
92828         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
92829         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
92830         m4/signalblocking.m4.
92831         (gl_PREREQ_SIGACTION): Don't invoke it.
92832         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
92833         gl_PREREQ_SIG_HANDLER_H.
92834         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
92835         Don't check for sigaction here.
92837 2008-06-23  Bruno Haible  <bruno@clisp.org>
92839         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
92840         (install_handlers): Don't set the SA_RESETHAND flag.
92842 2008-06-23  Bruno Haible  <bruno@clisp.org>
92844         * m4/sigaction.m4: Comment fixes.
92845         * lib/signal.in.h: Likewise.
92847 2008-06-23  Eric Blake  <ebb9@byu.net>
92849         Fix typo.
92850         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
92852         Avoid SA_ namespace.
92853         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
92854         Reported by Ralf Wildenhues.
92856         Avoid test failure due to SA_RESTORER.
92857         * tests/test-sigaction.c (SA_MASK): New macro.
92858         (main): Avoid failing due to extension flags being set.
92859         Reported by Jim Meyering.
92861         Revert use of sig-handler.h in sigprocmask.c.
92862         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
92863         it requires the existence of struct sigaction.
92864         * lib/sigprocmask.c (handler_t): Restore typedef.
92865         (rpl_signal, old_handlers): Use local type.
92867 2008-06-22  Bruno Haible  <bruno@clisp.org>
92869         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
92870         conditionally.
92871         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
92873 2008-06-22  Bruno Haible  <bruno@clisp.org>
92875         * doc/posix-functions/siginterrupt.texi: Move note.
92877         * lib/signal.in.h (SA_RESTART): New macro.
92878         * lib/sigaction.c: Update comment.
92880         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
92882         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
92883         (gl_PREREQ_SIGPROCMASK): Invoke it.
92884         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
92886         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
92888         * lib/sigprocmask.c: Update a comment.
92890 2008-06-21  Eric Blake  <ebb9@byu.net>
92892         Use sigaction module rather than signal().
92893         * modules/c-stack (Depends-on): Add sigaction.
92894         * modules/fatal-signal (Depends-on): Likewise.
92895         * modules/nanosleep (Depends-on): Likewise.
92896         * modules/sigprocmask (Files): Add sig-handler.h.
92897         * modules/sigaction (Files): Likewise.
92898         * lib/sig-handler.h (get_handler): New file, suggested by Paul
92899         Eggert.
92900         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
92901         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
92902         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
92903         (init_fatal_signals): Likewise.
92904         * lib/nanosleep.c (rpl_nanosleep): Likewise.
92905         (siginterrupt): Delete fallback.
92906         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
92907         instead.
92908         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
92909         siginterrupt.
92911         New module sigaction, for mingw.
92912         * modules/sigaction: New module...
92913         * modules/sigaction-tests: ...and its test.
92914         * m4/sigaction.m4: New file.
92915         * lib/sigaction.c: Likewise.
92916         * tests/test-sigaction.c: Likewise.
92917         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
92918         * modules/signal (Makefile.am): Likewise.
92919         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
92920         needed.
92921         * doc/posix-headers/signal.texi (signal.h): Mention provided
92922         types.
92923         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
92924         that sigaction is preferable.
92925         * doc/posix-functions/sigaction.texi (sigaction): Mention new
92926         module.
92927         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92928         sigaction.
92930         Improve robustness of sigprocmask by overriding signal.
92931         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
92932         is in use.
92933         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
92934         (SIGKILL, SIGSTOP): Provide fallbacks.
92935         (rpl_signal): Implement.
92936         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
92937         signal can be called inside handlers.
92939         Fix nanosleep module on mingw.
92940         * modules/nanosleep (Depends-on): Add sys_select.
92941         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
92943         Fix licensing of sigprocmask.
92944         * modules/raise (License): Relicense as LGPL.
92946 2008-06-21  Bruno Haible  <bruno@clisp.org>
92948         * lib/propername.c (proper_name_utf8): Don't use the transliterated
92949         result if it contains question marks.
92950         Reported by Michael Geng <linux@michaelgeng.de>.
92952 2008-06-19  Bruno Haible  <bruno@clisp.org>
92954         Fix CVS-ism.
92955         * doc/gnulib.texi: Include updated-stamp.texi.
92956         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
92957         (updated-stamp.texi): New rule.
92958         (gnulib.info): Depend on it.
92959         * doc/.gitignore: Add updated-stamp.texi.
92960         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
92962 2008-06-19  Bruno Haible  <bruno@clisp.org>
92964         * doc/Makefile (gnulib.info): Update and simplify dependencies.
92965         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
92967 2008-06-19  Eric Blake  <ebb9@byu.net>
92969         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
92970         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
92971         Reported by Stepan Kasal.
92973 2008-06-18  Bruno Haible  <bruno@clisp.org>
92975         * lib/fatal-signal.c (init_fatal_signals): Add comment.
92976         Reported by Eric Blake.
92978 2008-06-18  Eric Blake  <ebb9@byu.net>
92980         Work around cygwin 1.5.25 strsignal bug.
92981         * tests/test-strsignal.c: Allow for const char *.
92982         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
92984 2008-06-18  Simon Josefsson  <simon@josefsson.org>
92986         * users.txt: Update URL to article and add author/date
92987         information.
92989 2008-06-17  Bruno Haible  <bruno@clisp.org>
92991         New macro gl_DISABLE_THREADS.
92992         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
92993         if the user did not pass --enable-threads or --disable-threads option.
92994         (gl_DISABLE_THREADS): New macro.
92995         Reported by Eric Blake <ebb9@byu.net>.
92997 2008-06-17  Bruno Haible  <bruno@clisp.org>
92999         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
93000         when the macro ignores it.
93001         Based on a patch by Eric Blake <ebb9@byu.net>.
93003 2008-06-17  Bruno Haible  <bruno@clisp.org>
93005         * modules/tls (License): Change to LGPLv2+.
93006         Reported by Eric Blake.
93008 2008-06-17  Eric Blake  <ebb9@byu.net>
93010         Simplify c-stack prerequisites.
93011         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
93012         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
93013         no longer requires <ucontext.h> to exist.  Optimize setrlimit
93014         check.
93015         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
93016         <sys/resource.h>.
93018         Move c-stack test into testsuite.
93019         * modules/c-stack-tests: New file.
93020         * lib/c-stack.c [DEBUG]: Move test program...
93021         * tests/test-c-stack.c: ...into this new file.  Skip rather than
93022         fail test if sigaltstack is lacking.
93023         * tests/test-c-stack.sh: New driver file.
93025 2008-06-16  Eric Blake  <ebb9@byu.net>
93027         Use raise module consistently.
93028         * modules/fatal-signal (Depends-on): Add raise.
93029         * modules/sigprocmask (Depends-on): Likewise.
93030         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
93031         * lib/sigprocmask.c (sigprocmask): Likewise.
93032         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93033         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
93035         Fix compliance bug in sigpending.
93036         * lib/sigprocmask.c (sigpending): Return pending array via
93037         parameter, not return value.
93039 2008-06-14  Eric Blake  <ebb9@byu.net>
93041         Improve obstack-printf test code.
93042         * tests/test-obstack-printf.c (test_function): Fix comment, and
93043         simplify usage of obstack_* in macros.  Add a test for coverage.
93044         Reported by Bruno Haible.
93046 2008-06-14  Bruno Haible  <bruno@clisp.org>
93048         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
93049         array size as a constant, not as a const variable.
93050         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
93051         AC_USE_SYSTEM_EXTENSIONS.
93052         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
93053         Test whether the obstack_printf function actually exists.
93054         * modules/obstack-printf (Depends-on): Add extensions.
93055         (Include): Remove obstack.h.
93056         * modules/obstack-printf-posix (Depends-on): Add extensions.
93057         (Include): Remove obstack.h.
93059 2008-06-13  Eric Blake  <ebb9@byu.net>
93061         Add obstack-printf and obstack-printf-posix modules.
93062         * modules/obstack-printf: New file.
93063         * modules/obstack-printf-posix: Likewise.
93064         * MODULES.html.sh (Misc): Mention them.
93065         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
93066         Likewise.
93067         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
93068         Likewise.
93069         * modules/stdio (Makefile.am): Accomodate new modules.
93070         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
93071         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
93072         Declare.
93073         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
93074         functions.
93075         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
93076         (gl_REPLACE_OBSTACK_PRINTF): New macros
93077         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
93078         * tests/test-obstack-printf.c: New file.
93079         * modules/obstack-printf-tests: Likewise.
93080         * modules/obstack-printf-posix-tests: Likewise.
93082 2008-06-11  Bruno Haible  <bruno@clisp.org>
93084         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
93085         * lib/open.c: Include errno.h.
93086         (open): Fail when attempting to write to a file that has a trailing
93087         slash.
93088         * tests/test-open.c (main): Test against trailing slash bug.
93089         * doc/posix-functions/open.texi: Mention the trailing slash bug.
93091 2008-06-10  Bruno Haible  <bruno@clisp.org>
93093         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
93094         for $? to work inside the trap command, with various /bin/sh-s.
93095         * tests/test-vc-list-files-cvs.sh: Likewise.
93097 2008-06-10  Bruno Haible  <bruno@clisp.org>
93099         * lib/acl-internal.h: Don't include gettext.h here.
93100         * lib/set-mode-acl.c: Include gettext.h here.
93101         * lib/copy-acl.c: Likewise.
93103 2008-06-10  Bruno Haible  <bruno@clisp.org>
93105         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
93106         * lib/wait-process.c (wait_subprocess): Likewise.
93107         * lib/execute.h (execute): Add termsigp argument.
93108         * lib/execute.c (execute): Likewise.
93109         * lib/csharpcomp.c (compile_csharp_using_pnet,
93110         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
93111         * lib/csharpexec.c (execute_csharp_using_pnet,
93112         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
93113         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
93114         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
93115         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
93116         is_jikes_present): Update.
93117         * lib/javaexec.c (execute_java_class): Update.
93118         * lib/javaversion.c (execute_and_read_line): Update.
93119         * NEWS: Document the changes.
93120         Reported by Eric Blake.
93122 2008-06-10  Eric Blake  <ebb9@byu.net>
93124         Add missing include.
93125         * tests/test-strstr.c (includes): Add <signal.h>.
93126         * tests/test-strcasestr.c (includes): Likewise.
93127         * tests/test-memmem.c (includes): Likewise.
93129 2008-06-10  Bruno Haible  <bruno@clisp.org>
93131         * lib/wait-process.c (wait_subprocess): Add an assertion.
93133 2008-06-10  Bruno Haible  <bruno@clisp.org>
93135         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
93137 2008-06-10  Bruno Haible  <bruno@clisp.org>
93139         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
93140         using alarm().
93141         * tests/test-strcasestr.c (main): Likewise.
93142         * tests/test-strstr.c (main): Likewise.
93144 2008-06-09  Bruno Haible  <bruno@clisp.org>
93146         Work around the Solaris 10 ACE ACLs ABI change.
93147         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
93148         declare if ACL_NO_TRIVIAL is present.
93149         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
93150         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
93151         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
93152         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
93153         define if ACL_NO_TRIVIAL is present.
93154         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
93155         and use the current ABI.
93156         (file_has_acl): Use same #if condition as elsewhere.
93157         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
93158         in use, and use the current ABI.
93159         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
93160         Reported by Jim Meyering.
93162 2008-06-09  Eric Blake  <ebb9@byu.net>
93164         Work around environments that (stupidly) ignore SIGALRM.
93165         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
93166         before using alarm().
93167         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93168         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
93169         Reported by Ian Beckwith <ianb@erislabs.net>.
93171         Produce autobuild blurb earlier in log.
93172         * modules/autobuild (configure.ac-early): Move AB_INIT here.
93174 2008-06-09  Jim Meyering  <meyering@redhat.com>
93175         and Ondřej Vašík  <ovasik@redhat.com>
93177         utimens.c: correct kernel bug work-around
93178         Ondřej Vašík found that the invalid return value of 280 indicates
93179         failure, not success, and the kernel bug we're trying to work
93180         around affects not just the utimensat call, but also the fallback
93181         futimens call.
93182         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
93183         not success.
93184         [HAVE_FUTIMENS]: Use the same work-around, here.
93186 2008-06-09  Jim Meyering  <meyering@redhat.com>
93188         add more guards around definition of ACE_-related code
93189         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
93190         ALLOW and ACE_OWNER are also defined.
93192 2008-06-08  Bruno Haible  <bruno@clisp.org>
93194         * lib/acl-internal.h: Add me as co-author.
93195         * lib/file-has-acl.c: Likewise.
93196         * lib/set-mode-acl.c: Likewise.
93197         * lib/copy-acl.c: Likewise.
93199 2008-06-08  Bruno Haible  <bruno@clisp.org>
93201         Add support for AIX ACLs.
93202         * lib/acl-internal.h (acl_nontrivial): New declaration.
93203         * lib/file-has-acl.c (acl_nontrivial): New function.
93204         (file_has_acl): Add implementation using AIX 4 ACL API.
93205         * lib/set-mode-acl.c (qset_acl): Likewise.
93206         * lib/copy-acl.c (qcopy_acl): Likewise.
93208 2008-06-08  Bruno Haible  <bruno@clisp.org>
93210         Add support for HP-UX ACLs.
93211         * lib/acl-internal.h (acl_nontrivial): New declaration.
93212         * lib/file-has-acl.c (acl_nontrivial): New function.
93213         (file_has_acl): Add implementation using HP-UX 11 ACL API.
93214         * lib/set-mode-acl.c (qset_acl): Likewise.
93215         * lib/copy-acl.c (qcopy_acl): Likewise.
93217 2008-06-08  Bruno Haible  <bruno@clisp.org>
93219         Add support for Cygwin ACLs.
93220         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
93221         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
93222         the chmod_or_fchmod call.
93223         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
93225 2008-06-08  Bruno Haible  <bruno@clisp.org>
93227         Fix bug with setuid modes in Solaris 10+ code.
93228         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
93229         succeeded, when the mode contains some special bits.
93231 2008-06-08  Bruno Haible  <bruno@clisp.org>
93233         Add support for Solaris 7..10 ACLs.
93234         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
93235         declarations.
93236         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
93237         functions.
93238         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
93239         * lib/set-mode-acl.c (qset_acl): Likewise.
93240         * lib/copy-acl.c (qcopy_acl): Likewise.
93242 2008-06-08  Bruno Haible  <bruno@clisp.org>
93244         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
93245         declaration.
93246         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
93247         (acl_access_nontrivial): Remove MacOS X case.
93248         (file_has_acl): Use acl_extended_nontrivial.
93249         * lib/copy-acl.c (qcopy_acl): Likewise.
93251 2008-06-08  Bruno Haible  <bruno@clisp.org>
93253         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
93255 2008-06-08  Jim Meyering  <meyering@redhat.com>
93257         * modules/acl (Maintainer): Add Bruno Haible.
93259 2008-06-07  Bruno Haible  <bruno@clisp.org>
93261         Improve support for Tru64 ACLs.
93262         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
93263         ACL on OSF/1.
93265 2008-06-07  Bruno Haible  <bruno@clisp.org>
93267         Add support for MacOS X ACLs.
93268         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
93269         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
93270         * lib/set-mode-acl.c (qset_acl): Likewise.
93271         * lib/copy-acl.c (qcopy_acl): Likewise.
93273 2008-06-07  Bruno Haible  <bruno@clisp.org>
93275         Fix memory leak introduced on 2008-05-22.
93276         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
93277         use.
93279 2008-06-07  Bruno Haible  <bruno@clisp.org>
93281         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
93282         to construct an empty ACL.
93284 2008-06-07  Bruno Haible  <bruno@clisp.org>
93286         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
93287         precisely.
93288         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
93290 2008-06-07  Bruno Haible  <bruno@clisp.org>
93292         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
93293         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
93295 2008-06-07  Bruno Haible  <bruno@clisp.org>
93297         * doc/posix-functions/_setjmp.texi: Explain the use of this function
93298         regardless of POSIX.
93299         * doc/posix-functions/_longjmp.texi: Likewise.
93300         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
93301         SystemV platform in this case.
93303 2008-06-06  Eric Blake  <ebb9@byu.net>
93305         Document abort() bugs.
93306         * doc/posix-functions/abort.texi (abort): Mention anomalies.
93308         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
93309         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
93310         sigsetjmp.
93311         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
93312         siglongjmp, but only as a macro.
93313         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
93314         is obsolete.
93315         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
93317         Tweak documentation to cover cygwin argz bugs.
93318         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
93319         argz bug fix; no code change needed since no cygwin releases
93320         occurred between the last fix and the bug being tested.
93321         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
93322         module and recently fixed cygwin bugs.
93323         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
93324         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
93325         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
93326         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
93327         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
93328         Likewise.
93329         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
93330         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
93331         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
93332         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
93333         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
93334         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
93335         Likewise.
93337         Avoid gcc warning on cygwin.
93338         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
93339         !ACL_NO_TRIVIAL]: Avoid unused variable.
93341 2008-06-05  Eric Blake  <ebb9@byu.net>
93343         Be tolerant of UNKNOWN version in gnulib-tool test dir.
93344         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
93345         git-version-gen fails to come up with a version.
93346         Reported by Simon Josefsson.
93348 2008-06-05  Jim Meyering  <meyering@redhat.com>
93349             Paul Eggert  <eggert@cs.ucla.edu>
93351         utimens.c: work around a probable Linux kernel bug
93352         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
93353         appears to be a kernel bug that causes utimensat to return 280
93354         instead of 0, indicating success.
93356 2008-06-04  Bruno Haible  <bruno@clisp.org>
93358         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
93359         2008-06-01 commit.
93361 2008-06-04  Bruno Haible  <bruno@clisp.org>
93363         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
93364         * lib/file-has-acl.c (acl_access_nontrivial): New function.
93365         (file_has_acl): Use it. Save errno afterwards.
93366         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
93368 2008-06-03  Bruno Haible  <bruno@clisp.org>
93370         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
93371         draft code. Simplify #ifs.
93372         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
93373         Put Solaris code after POSIX-draft code. Fix comments regarding
93374         Solaris 10, HP-UX. Mention Cygwin.
93375         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
93377 2008-06-03  Eric Blake  <ebb9@byu.net>
93379         Provide fallback for older kernels.
93380         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
93381         Provide runtime fallback if kernel lacks support.
93382         Reported by Mike Frysinger.
93384 2008-06-02  Bruno Haible  <bruno@clisp.org>
93386         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
93387         it exists.
93389 2008-06-02  Bruno Haible  <bruno@clisp.org>
93391         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
93392         * lib/copy-acl.c (qcopy_acl): Update comment.
93394 2008-06-02  Bruno Haible  <bruno@clisp.org>
93396         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
93397         like ACL APIs.
93399 2008-06-02  Bruno Haible  <bruno@clisp.org>
93401         * tests/test-file-has-acl.sh: Use different code for Cygwin.
93402         * tests/test-set-mode-acl.sh: Likewise.
93403         * tests/test-copy-acl.sh: Likewise.
93404         * tests/test-copy-file.sh: Likewise.
93406 2008-06-02  Bruno Haible  <bruno@clisp.org>
93408         * tests/test-file-has-acl.sh: Remove unused code.
93410 2008-06-01  Bruno Haible  <bruno@clisp.org>
93412         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
93413         (copy_acl): Just a wrapper around qcopy_acl that emits the error
93414         messages.
93415         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
93417 2008-06-01  Bruno Haible  <bruno@clisp.org>
93419         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
93420         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
93421         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
93422         APIs.
93423         * modules/acl-tests (configure.ac): Remove tests now contained in
93424         m4/acl.m4.
93426 2008-06-02  Jim Meyering  <meyering@redhat.com>
93428         announce-gen: use a better key-server host name
93429         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
93430         it may be more consistently reliable.  Suggested by Werner Koch
93431         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
93433 2008-06-01  Bruno Haible  <bruno@clisp.org>
93435         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
93436         Reported by Voroskoi Andras <voroskoi@gmail.com>.
93438 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
93440         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
93442 2008-06-01  Bruno Haible  <bruno@clisp.org>
93444         New ACL tests.
93445         * tests/test-file-has-acl.sh: New file.
93446         * tests/test-file-has-acl.c: New file.
93447         * tests/test-set-mode-acl.sh: New file.
93448         * tests/test-set-mode-acl.c: New file.
93449         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
93450         * tests/test-copy-acl.c: New file.
93451         * modules/acl-tests: New file, based on modules/copy-file-tests.
93452         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
93453         (Depends-on): Add acl-tests.
93454         (configure.ac): Remove checks.
93455         (Makefile.am): Don't create test-sameacls program here any more.
93457 2008-06-01  Bruno Haible  <bruno@clisp.org>
93459         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
93460         * tests/test-sameacls.c: Include progname.h.
93461         (main): Invoke set_program_name. Portability fixes for MacOS X,
93462         Solaris, HP-UX.
93464 2008-06-01  Bruno Haible  <bruno@clisp.org>
93466         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
93467         function.
93468         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
93470 2008-06-01  Bruno Haible  <bruno@clisp.org>
93472         * modules/rpmatch (Depends-on): Add strdup.
93474 2008-06-01  Bruno Haible  <bruno@clisp.org>
93476         * lib/pipe.c: Include unistd-safer.h.
93477         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
93478         * modules/pipe (Depends-on): Add unistd-safer.
93480 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93482         * modules/autobuild (configure.ac): Call AB_INIT.
93484 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93486         * tests/test-getaddrinfo.c: Don't print debug messages by default.
93487         Suggested by Bruno Haible <bruno@clisp.org>.
93489 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93491         * tests/test-base64.c: Cast size_t to unsigned long when invoking
93492         printf.  Use %lu instead of %d.  Reported by Bruno Haible
93493         <bruno@clisp.org>.
93495 2008-05-29  Eric Blake  <ebb9@byu.net>
93497         Prefer new POSIX 200x interfaces over futimesat.
93498         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
93499         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
93500         when available.
93501         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
93503 2008-05-28  Bruno Haible  <bruno@clisp.org>
93505         * modules/stpcpy (License): Change to LGPLv2+.
93506         Requested by David Lutterkort <dlutter@redhat.com>.
93508 2008-05-27  Bruno Haible  <bruno@clisp.org>
93510         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
93511         current mingw.
93512         Reported by Jose E. Marchesi <jemarch@gnu.org>.
93514 2008-05-27  Bruno Haible  <bruno@clisp.org>
93516         * modules/iconv_open (Link): New section, from module 'iconv'.
93517         * modules/striconv (Link): Likewise.
93518         * modules/striconveh (Link): Likewise.
93519         * modules/xstriconv (Link): Likewise.
93520         * modules/unicodeio (Link): Likewise.
93521         * modules/propername (Link): Likewise.
93522         Reported by Jim Meyering.
93524 2008-05-26  Jim Meyering  <meyering@redhat.com>
93526         sha256: do not artificially restrict buffer length to be < 2^32
93527         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
93528         uint32_t to size_t.
93529         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
93530         to match.
93532         avoid unaligned access errors, e.g., on sparc
93533         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
93534         direct access through a possibly-unaligned uint64* pointer.
93535         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
93536         direct access through a possibly-unaligned uint32* pointer.
93537         Prompted by this patch from Tom "spot" Callaway:
93538         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
93540         sha512.c: fix typo in comment
93541         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
93543 2008-05-25  Bruno Haible  <bruno@clisp.org>
93545         * lib/set-mode-acl.c: Renamed from lib/acl.c.
93546         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
93547         (Makefile.am): Update lib_SOURCES.
93549 2008-05-25  Bruno Haible  <bruno@clisp.org>
93551         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
93553 2008-05-25  Jim Meyering  <meyering@redhat.com>
93555         useless-if-before-free: freed expr may have white-space differences
93556         * build-aux/useless-if-before-free: Recognize cases in which the
93557         freed expression differs from the tested one in embedded white
93558         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
93559         $1 was used, so we can't make any regexp shy.  Improved tests now
93560         detect this.
93562         useless-if-before-free: accept white space in the expression.
93563         * build-aux/useless-if-before-free: For now, any white space
93564         in the expression must be identical in the free argument.
93566         useless-if-before-free: efficiency tweak
93567         * build-aux/useless-if-before-free: Make the expression-matching
93568         regexp "shy".
93569         Make the *outer* regexp shy, not the expr-matching one.
93571         update code-in-comment to accept cast of free arg
93572         * build-aux/useless-if-before-free: Update regexp.
93574 2008-05-25  Bruno Haible  <bruno@clisp.org>
93576         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
93577         * modules/copy-file-tests (Files, Makefile.am): Update.
93578         * tests/test-copy-file.c (func_test_copy): Update.
93580 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
93582         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
93584 2008-05-23  Bruno Haible  <bruno@clisp.org>
93586         Improve support for ACLs on OSF/1.
93587         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
93588         Remove fallback for unknown flavors of ACLs.
93590 2008-05-22  Bruno Haible  <bruno@clisp.org>
93592         Add support for ACLs on OSF/1.
93593         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
93594         replacements.
93595         (acl_free_text): New macro fallback.
93596         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
93597         acl_free.
93598         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
93599         acl_free_text function. Require AC_C_INLINE.
93601 2008-05-22  Bruno Haible  <bruno@clisp.org>
93603         Make copy_acl work on MacOS X 10.5.
93604         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
93605         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
93606         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
93607         If MODE_INSIDE_ACL, don't assume that every system has the same text
93608         representation for ACLs as FreeBSD.
93609         * lib/copy-acl.c (copy_acl): Add support for platforms with
93610         !MODE_INSIDE_ACL.
93611         * lib/file-has-acl.c (file_has_acl): Likewise.
93612         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
93613         FreeBSD, MacOS X, or IRIX, respectively.
93615 2008-05-22  Bruno Haible  <bruno@clisp.org>
93617         * lib/acl.h: Don't include <sys/acl.h>.
93618         (GETACLCNT): Move fallback to lib/acl-internal.h.
93619         * lib/acl-internal.h: Include <sys/acl.h> here.
93620         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
93622 2008-05-22  Bruno Haible  <bruno@clisp.org>
93624         Split off copy_acl function to separate file.
93625         * lib/copy-acl.c: New file, extracted from lib/acl.c.
93626         * lib/acl.c (copy_acl): Moved function to separate file.
93627         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
93628         * modules/acl (Files): Add lib/copy-acl.c.
93629         (Makefiles.am): Augment lib_SOURCES.
93631 2008-05-22  Bruno Haible  <bruno@clisp.org>
93633         * modules/copy-file-tests: New file.
93634         * tests/test-copy-file.sh: New file.
93635         * tests/test-copy-file.c: New file.
93636         * tests/test-copy-file-sameacls.c: New file.
93638 2008-05-22  Eric Blake  <ebb9@byu.net>
93640         Avoid gcc warning.
93641         * tests/test-memcmp.c (main): Pass NULL indirectly.
93643 2008-05-21  Bruno Haible  <bruno@clisp.org>
93645         Add reference doc about ACLs.
93646         * doc/acl-resources.txt: New file.
93647         * doc/acl-cygwin.txt: New file.
93649 2008-05-21  Bruno Haible  <bruno@clisp.org>
93651         Avoid one more warning from gcc.
93652         * lib/vasnprintf.c (IF_LINT): Update comments.
93653         (VASNPRINTF): Use it also for the 'prefix' array initializer.
93655 2008-05-21  Jim Meyering  <meyering@redhat.com>
93657         avoid a warning from gcc
93658         * lib/vasnprintf.c (IF_LINT): Define.
93659         (scale10_round_decimal_long_double):
93660         Use it to avoid a "may be used uninitialized" warning.
93661         (scale10_round_decimal_double): Likewise.
93663 2008-05-21  Simon Josefsson  <simon@josefsson.org>
93665         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
93666         declared.
93668 2008-05-20  Bruno Haible  <bruno@clisp.org>
93670         * tests/test-memcmp.c (main): Test also the sign of the result. Test
93671         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
93673 2008-05-20  Simon Josefsson  <simon@josefsson.org>
93675         * modules/memcmp-tests: New file.
93676         * tests/test-memcmp.c: New file.
93678 2008-05-19  Bruno Haible  <bruno@clisp.org>
93680         * modules/propername (Notice, configure.ac): Put quoted "..." into
93681         --keyword option.
93682         * lib/propername.h: Update comments accordingly.
93683         Reported by Eric Blake.
93685 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
93687         * modules/getpass-gnu (Depends-on): Add fseeko.
93689 2008-05-19  Simon Josefsson  <simon@josefsson.org>
93691         * modules/base64-tests: New file.
93693 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
93695         * lib/base64.c (base64_decode_ctx): If a decode context structure
93696         was passed in use it to ignore newlines.  If a context structure
93697         was _not_ passed in, continue to treat newlines as garbage (this
93698         is the historical behavior).  Formerly base64_decode.
93699         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
93700         takes a decode context structure.
93701         * lib/base64.h (base64_decode): Macro for four-argument calls.
93702         (base64_decode_alloc): Likewise.
93703         * lib/base64.c (base64_decode_ctx): If a decode context structure
93704         was passed in use it to ignore newlines.  If a context structure
93705         was _not_ passed in, continue to treat newlines as garbage (this
93706         is the historical behavior).  Formerly base64_decode.
93707         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
93708         takes a decode context structure.
93709         * lib/base64.h (base64_decode): Macro for four-argument calls.
93710         (base64_decode_alloc): Likewise.
93712 2008-05-19  Jim Meyering  <meyering@redhat.com>
93714         avoid a warning from gcc
93715         * lib/trim.c (IF_LINT): Define.
93716         (trim2): Use it to avoid a "may be used uninitialized" warning.
93718         Fix doc typo.
93719         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
93721 2008-05-19  Bruno Haible  <bruno@clisp.org>
93723         * doc/glibc-functions/getpass.texi: Document limits of other
93724         implementations.
93726 2008-05-19  Simon Josefsson  <simon@josefsson.org>
93727             Bruno Haible <bruno@clisp.org>
93729         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
93731 2008-05-18  Bruno Haible  <bruno@clisp.org>
93733         * modules/propername: New file, from GNU gettext.
93734         * lib/propername.h: New file, from GNU gettext.
93735         * lib/propername.c: New file, from GNU gettext.
93736         * MODULES.html.sh (Internationalization functions): Add propername.
93738 2008-05-16  Jim Meyering  <meyering@redhat.com>
93739             Bruno Haible  <bruno@clisp.org>
93741         Avoid some warnings from "gcc -Wshadow".
93742         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
93744 2008-05-15  Eric Blake  <ebb9@byu.net>
93746         Extend previous patch to cygwin 1.7.0.
93747         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
93748         fast implementation in cygwin >= 1.7.0.
93749         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
93750         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93752 2008-05-15  Bruno Haible  <bruno@clisp.org>
93754         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
93755         implementation in glibc >= 2.9.
93756         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
93757         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93759 2008-05-15  Bruno Haible  <bruno@clisp.org>
93761         * MODULES.html.sh (Internationalization functions): Remove linebreak.
93762         (Unicode string functions): Add unilbrk/*.
93763         Reported by Karl Berry.
93765 2008-05-15  Eric Blake  <ebb9@byu.net>
93767         Fix violation of <stdbool.h> replacement in regex.
93768         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
93769         * lib/regexec.c (re_search_internal): Likewise.
93770         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
93772 2008-05-15  Jim Meyering  <meyering@redhat.com>
93774         avoid distracting test output when git or cvs is not found
93775         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
93776         * tests/test-vc-list-files-git.sh: Likewise.
93778 2008-05-15  Eric Blake  <ebb9@byu.net>
93780         Glibc finally accepted the memmem speedup code, bugzilla #5514.
93781         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
93782         glibc version.
93783         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
93784         * doc/posix-functions/strstr.texi (strstr): Likewise.
93785         * lib/str-two-way.h (MAX): Sychronize with glibc.
93787 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
93789         * lib/regcomp.c (optimize_utf8): Add a note on why we test
93790         opr.ctx_type.
93791         (calc_first): Initialize constraint field.
93792         (duplicate_node_closure): Use it instead of special casing ANCHORS.
93793         Fix grammar.
93794         (duplicate_node): Merge constraint field for all node types.
93795         (calc_eclosure_iter): Look at constraint field for all node types.
93796         * lib/regex_internal.c (create_cd_newstate): Don't look at
93797         opr.ctx_type.
93799 2008-05-14  Bruno Haible  <bruno@clisp.org>
93801         Help GCC to do better code generation.
93802         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
93803         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
93804         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
93805         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
93806         Declare with attribute 'malloc' if supported.
93808 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
93810         use "echo STR|wc -c" rather than unportable "expr length STR"
93811         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
93812         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
93814 2008-05-14  Jim Meyering  <meyering@redhat.com>
93816         use dd ibs=$n count=1 ... rather than less-portable head -c$n
93817         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
93818         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
93819         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
93820         via Collin Lasse.
93822 2008-05-14  Eric Blake  <ebb9@byu.net>
93824         Avoid quadratic growth in gl_LIBSOURCES.
93825         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
93826         Suggested by Bruno Haible.
93828         Test xmemdup0.
93829         * modules/xmemdup0-tests: New file.
93830         * tests/test-xmemdup0.c: Likewise.
93832 2008-05-13  Eric Blake  <ebb9@byu.net>
93834         Split xmemdup0 into its own module.
93835         * modules/xmemdup0: New file.
93836         * lib/xmemdup0.h: Likewise.
93837         * lib/xmemdup0.c: Likewise.
93838         * MODULES.html.sh (Memory management functions): Add xmemdup0.
93839         * lib/xalloc.h (xmemdup0): Remove.
93840         * lib/xmalloc.c (xmemdup0): Likewise.
93842 2008-05-13  Eric Blake  <ebb9@byu.net>
93843             Bruno Haible  <bruno@clisp.org>
93845         Reduce number of forks required during autoconf.
93846         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
93847         and gl_LIBSOURCES_DIR.
93848         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
93849         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
93850         m4_syscmd per file.
93851         <m4_foreach_w>: Move...
93852         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
93854 2008-05-13  Eric Blake  <ebb9@byu.net>
93856         * gnulib-tool: Fix various comment typos.
93858 2008-05-12  Bruno Haible  <bruno@clisp.org>
93860         Tailor the linebreaking algorithm.
93861         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
93863 2008-05-12  Bruno Haible  <bruno@clisp.org>
93865         Update to Unicode 5.0.0.
93866         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
93867         LBP_JV, LBP_JT. Redistribute values.
93868         (unilbrk_table): Change size.
93869         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
93870         Unicode TR#14 rev. 22.
93871         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
93872         LBP_JV, LBP_JT. Redistribute values.
93873         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
93874         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
93875         Update.
93876         * lib/unilbrk/lbrkprop1.h: Regenerated.
93877         * lib/unilbrk/lbrkprop2.h: Regenerated.
93878         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
93879         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
93880         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
93881         Likewise.
93882         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
93883         Likewise.
93884         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
93885         result.
93886         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
93887         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
93888         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
93889         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
93890         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
93891         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
93893 2008-05-11  Bruno Haible  <bruno@clisp.org>
93895         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
93897 2008-05-11  Bruno Haible  <bruno@clisp.org>
93899         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
93900         * modules/unilbrk/gen-lbrk: New file.
93902 2008-05-11  Bruno Haible  <bruno@clisp.org>
93904         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
93905         * m4/sha512.m4 (gl_SHA512): Likewise.
93907 2008-05-11  Jim Meyering  <meyering@redhat.com>
93909         New modules: crypto/sha256, crypto/sha512 (from coreutils)
93910         * modules/crypto/sha256: New file.
93911         * modules/crypto/sha512: Likewise.
93912         * lib/sha256.c: Likewise.
93913         * lib/sha256.h: Likewise.
93914         * lib/sha512.c: Likewise.
93915         * lib/sha512.h: Likewise.
93916         * lib/u64.h: Likewise.
93917         * m4/sha256.m4: Likewise.
93918         * m4/sha512.m4: Likewise.
93919         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
93921 2008-05-10  Bruno Haible  <bruno@clisp.org>
93923         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
93924         (Input/Output <stdio.h>): Add xprintf.
93925         (Signal handling <signal.h>): Add strsignal.
93926         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
93927         (Core language properties): Add func.
93928         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
93929         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
93930         strings.
93931         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
93932         (Input/output): New section.
93933         (File system functions): Add openat-die, stat-macros.
93934         (Networking functions): Add sockets.
93935         (Unicode string functions): Add unictype/*.
93936         (Support for building libraries and executables): Add gperf.
93937         (Support for building documentation): Add agpl-3.0.
93938         (Misc): Add nocrash.
93940 2008-05-10  Bruno Haible  <bruno@clisp.org>
93942         * modules/unictype/gen-ctype: New file.
93944 2008-05-10  Jim Meyering  <meyering@redhat.com>
93946         Make chdir-safer.c more efficient on a system with no symlinks.
93947         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
93948         also if ELOOP is zero.  Suggested by Bruno Haible.
93950         Make chdir-safer.c slightly safer.
93951         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
93952         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
93954         Avoid compile failure on systems without ELOOP (like mingw).
93955         * lib/chdir-safer.c (ELOOP): Define if not already defined.
93956         Reported by Bruno Haible.
93958 2008-05-10  Bruno Haible  <bruno@clisp.org>
93960         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
93961         (is_utf8_encoding): Use a case-insensitive comparison.
93962         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
93963         streq.
93965 2008-05-10  Bruno Haible  <bruno@clisp.org>
93967         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
93968         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
93969         * lib/unilbrk/ulc-common.h (iconv_string_length,
93970         iconv_string_keeping_offsets): Remove declarations.
93971         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
93972         Don't include <iconv.h>, streq.h, xsize.h.
93973         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
93974         conversion.
93975         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
93976         <iconv.h>, streq.h, xsize.h.
93977         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
93978         conversion.
93979         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
93980         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
93981         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
93982         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
93984 2008-05-10  Bruno Haible  <bruno@clisp.org>
93986         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
93987         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
93989         * modules/unilbrk/u32-width-linebreaks-tests: New file.
93990         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
93992         * modules/unilbrk/u16-width-linebreaks-tests: New file.
93993         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
93995         * modules/unilbrk/u8-width-linebreaks-tests: New file.
93996         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
93998         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
93999         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
94001         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
94002         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
94004         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
94005         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
94007         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
94008         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
94010 2008-05-10  Bruno Haible  <bruno@clisp.org>
94012         Split up 'linebreak' module.
94013         * lib/unilbrk.h: New file, based on lib/linebreak.h.
94014         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
94015         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
94016         modifications.
94017         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
94018         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
94019         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
94020         lib/linebreak.c.
94021         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
94022         lib/linebreak.c.
94023         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
94024         lib/linebreak.c.
94025         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
94026         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
94027         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
94028         lib/linebreak.c.
94029         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
94030         lib/linebreak.c.
94031         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
94032         lib/linebreak.c.
94033         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
94034         lib/linebreak.c.
94035         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
94036         lib/linebreak.c.
94037         * modules/unilbrk/base: New file.
94038         * modules/unilbrk/tables: New file.
94039         * modules/unilbrk/u8-possible-linebreaks: New file.
94040         * modules/unilbrk/u16-possible-linebreaks: New file.
94041         * modules/unilbrk/u32-possible-linebreaks: New file.
94042         * modules/unilbrk/ulc-common: New file.
94043         * modules/unilbrk/ulc-possible-linebreaks: New file.
94044         * modules/unilbrk/u8-width-linebreaks: New file.
94045         * modules/unilbrk/u16-width-linebreaks: New file.
94046         * modules/unilbrk/u32-width-linebreaks: New file.
94047         * modules/unilbrk/ulc-width-linebreaks: New file.
94048         * lib/linebreak.h: Remove file.
94049         * lib/linebreak.c: Remove file.
94050         * m4/linebreak.m4: Remove file.
94051         * modules/linebreak: Remove file.
94052         * NEWS: Mention the changes.
94054 2008-05-09  Eric Blake  <ebb9@byu.net>
94056         Add xmemdup0.
94057         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
94058         implementation.
94059         * lib/xmalloc.c (xmemdup0): New C implementation.
94061 2008-05-08  Bruno Haible  <bruno@clisp.org>
94063         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
94065 2008-05-07  Eric Blake  <ebb9@byu.net>
94067         Support cross-compilation of <wctype.h>.
94068         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
94069         AC_CACHE_CHECK.
94071 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
94073         * build-aux/vc-list-files: Add support for bzr.
94075 2008-05-03  Jim Meyering  <meyering@redhat.com>
94077         avoid failed assertion with tight malloc
94078         * tests/test-getndelim2.c: Correct an off-by-one assertion.
94080 2008-05-03  Simon Josefsson  <simon@josefsson.org>
94082         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
94083         are needed from arpa/inet.h.
94084         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
94085         Reported by Bruno Haible.
94087 2008-05-02  Jim Meyering  <meyering@redhat.com>
94089         avoid compilation error on FreeBSD 6
94090         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
94092 2008-05-01  Jim Meyering  <meyering@redhat.com>
94094         useless-if-before-free: correct --help's exit status description
94095         * build-aux/useless-if-before-free (usage): Like grep, exit 0
94096         for one or more matches, etc.  Reported by Bruno Haible.
94098         vc-list-files: make the stand-alone gnulib test work
94099         * modules/vc-list-files-tests (configure.ac):
94100         Define and AC_SUBST abs_aux_dir.
94101         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
94102         $(abs_top_srcdir) to each script and having each of them
94103         duplicate the work of setting PATH, set PATH here, using
94104         the new variable, abs_aux_dir instead.
94105         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
94106         * tests/test-vc-list-files-git.sh: Likewise.
94107         Reported by Bruno Haible.
94109 2008-05-01  Bruno Haible  <bruno@clisp.org>
94111         * lib/getndelim2.c (getndelim2): Fix newsize computation during
94112         reallocation. Rename 'done' to 'found_delimiter'.
94114 2008-05-01  Jim Meyering  <meyering@redhat.com>
94116         vc-list-files: accommodate /bin/sh like the one from Solaris 10
94117         * build-aux/vc-list-files: Use `...`, not $(...).
94119 2008-04-30  Jim Meyering  <meyering@redhat.com>
94121         add tests for vc-list-files
94122         * modules/vc-list-files-tests: New module.
94123         * tests/test-vc-list-files-cvs.sh: New file.
94124         * tests/test-vc-list-files-git.sh: New file.
94126         avoid a warning from gcc
94127         * lib/getndelim2.c (IF_LINT): Define.
94128         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
94130         vc-list-files: work properly with build-aux/cvsu, too
94131         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
94132         to all cvs-based clauses.
94134         vc-list-files: work properly in the CVS+awk case, too
94135         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
94137         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
94138         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
94139         take more than one file argument, so .  Add quotes, just in case $dir
94140         ever contains a shell meta-character.  Prompted by Soren Hansen in
94141         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
94143 2008-04-29  Eric Blake  <ebb9@byu.net>
94145         Optimize getndelim2 to use block operations when possible.
94146         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
94147         freadseek, and memchr2.
94148         * lib/getndelim2.c (getndelim2): Use them for block reads.
94150 2008-04-29  Bruno Haible  <bruno@clisp.org>
94152         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
94153         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94154         * modules/inet_ntop (Depends-on): Add extensions.
94155         * modules/inet_pton (Depends-on): Likewise.
94156         Reported by Simon Josefsson.
94158 2008-04-29  Jim Meyering  <meyering@redhat.com>
94160         When the is more than one match in a block, match all of them.
94161         * build-aux/useless-if-before-free: Iterate through each block
94162         until there are no more matches.
94164         Fix broken useless-if-before-free script.
94165         * build-aux/useless-if-before-free: Fix typo: missing "?" after
94166         the expression to match cast of argument to free-like function.
94168 2008-04-29  Eric Blake  <ebb9@byu.net>
94170         Use new header.
94171         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
94173 2008-04-29  Jim Meyering  <meyering@redhat.com>
94175         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
94176         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
94177         by gnulib to exist and to declare e.g., inet_ntop.
94178         Don't include "inet_ntop.h", now removed.
94180         * m4/arpa_inet_h.m4: Remove trailing blanks.
94182 2008-04-29  Eric Blake  <ebb9@byu.net>
94184         Silence valgrind on safe reads beyond potential array bounds.
94185         * lib/rawmemchr.valgrind: New file.
94186         * lib/strchrnul.valgrind: Likewise.
94187         * modules/rawmemchr (Files): Distribute new file.
94188         * modules/strchrnul (Files): Likewise.
94189         Suggested by Bruno Haible.
94191 2008-04-29  Bruno Haible  <bruno@clisp.org>
94193         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
94194         (inet_ntop, inet_pton): Change portability warning's wording.
94195         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
94196         Invoke gl_CHECK_NEXT_HEADERS.
94197         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
94198         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
94199         set ARPA_INET_H.
94200         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94201         * modules/arpa_inet (Description): No longer only for systems that
94202         lack it.
94203         (Depends-on): Add include_next.
94204         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
94205         HAVE_ARPA_INET_H.
94207 2008-04-29  Jim Meyering  <meyering@redhat.com>
94209         * modules/mkdir (License): Re-license as LGPLv2+.
94211 2008-04-29  Bruno Haible  <bruno@clisp.org>
94213         * modules/rawmemchr (Maintainer): Set to Eric.
94214         * modules/strchrnul (Maintainer): Likewise.
94216 2008-04-29  Simon Josefsson  <simon@josefsson.org>
94218         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
94219         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
94221         * modules/arpa_inet (arpa/inet.h): Use them.
94223 2008-04-28  Eric Blake  <ebb9@byu.net>
94225         Test getndelim2.
94226         * modules/getndelim2-tests: New file.
94227         * tests/test-getndelim2.c: Likewise.
94228         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
94229         stream.
94230         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
94232         * MODULES.html.sh: Document new module.
94234 2008-04-20  Bruno Haible  <bruno@clisp.org>
94236         * lib/c-stack.c (die): Use raise.
94237         * modules/c-stack (Depends-on): Add raise.
94239 2008-04-28  Bruno Haible  <bruno@clisp.org>
94241         Expect rpmatch to be declared.
94242         * lib/yesno.c (rpmatch): Remove declaration.
94244         Declare rpmatch.
94245         * lib/stdlib.in.h (rpmatch): New declaration.
94246         * lib/rpmatch.c: Include <stdlib.h> first.
94247         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
94248         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
94249         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
94250         HAVE_RPMATCH.
94251         * modules/rpmatch (Depends-on): Add stdlib, extensions.
94252         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
94253         (Include): Set to <stdlib.h>.
94254         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
94255         HAVE_RPMATCH.
94256         * NEWS: Document the change.
94258 2008-04-28  Bruno Haible  <bruno@clisp.org>
94260         Change rpmatch to use nl_langinfo when appropriate.
94261         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
94262         (N_): New macro.
94263         (localized_pattern): New function/macro.
94264         (try): Remove match, nomatch arguments. Copy the pattern into safe
94265         memory before caching it.
94266         (rpmatch): Use localized_pattern. Add translator comments.
94267         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
94268         Suggested by Eric Blake.
94269         * modules/rpmatch (Depends-on): Add stdbool.
94271 2008-04-28  Eric Blake  <ebb9@byu.net>
94273         Add rawmemchr module, matching glibc.
94274         * modules/string (Makefile.am): New indicator.
94275         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
94276         * lib/string.in.h (rawmemchr): Declare when appropriate.
94277         * modules/rawmemchr: New file.
94278         * m4/rawmemchr.m4: Likewise.
94279         * lib/rawmemchr.c: Likewise.
94280         * modules/rawmemchr-tests: Likewise.
94281         * tests/test-rawmemchr.c: Likewise.
94282         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
94283         module.
94284         * modules/strchrnul (Depends-on): Add rawmemchr.
94285         * lib/strchrnul.c (strchrnul): Optimize a corner case.
94287         Whitespace cleanup.
94288         * tests/test-strchrnul.c: Reindent.
94289         * lib/strchrnul.c: Likewise.
94291         Optimize and test strchrnul.
94292         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
94293         * modules/strchrnul-tests: New file.
94294         * tests/test-strchrnul.c: Likewise.
94296         Remove intprops dependency.
94297         * modules/memchr (Depends-on): Remove intprops.
94298         * modules/memrchr (Depends-on): Likewise.
94299         * modules/memchr2 (Depends-on): Likewise.
94300         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
94301         * lib/memrchr.c (__memrchr): Likewise.
94302         * lib/memrchr2.c (memchr2): Likewise.
94303         Reported by Simon Josefsson.
94305 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94307         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
94308         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94310 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94312         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
94314         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
94316         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
94318         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
94319         declarations.
94320         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
94322         * m4/inet_pton.m4: Don't check for header files.
94324         * m4/inet_ntop.m4: Don't check for header files.
94326 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94328         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
94329         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
94330         trigger for cygwin).
94331         Reported by Bruno Haible  <bruno@clisp.org>.
94333 2008-04-28  Bruno Haible  <bruno@clisp.org>
94335         * doc/posix-functions/strdup.texi: Mention mingw problem.
94337 2008-04-27  Bruno Haible  <bruno@clisp.org>
94339         * modules/stat-time-tests (Depends-on): Add sleep.
94340         * tests/test-stat-time.c (force_unlink): New function.
94341         (cleanup): Use it.
94342         (test_mtime): Remove the ctime related tests.
94343         (test_ctime): New function, containing the ctime related tests.
94344         (main): Call test_ctime, except on native Windows platforms.
94346 2008-04-27  Bruno Haible  <bruno@clisp.org>
94348         * lib/rpmatch.c (rpmatch): Add some comments.
94349         Reported by James Youngman <jay@gnu.org>.
94351 2008-04-27  Bruno Haible  <bruno@clisp.org>
94353         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
94354         quiet NaNs.
94356 2008-04-27  Bruno Haible  <bruno@clisp.org>
94358         Make test-yesno.sh work on mingw.
94359         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
94360         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
94361         (main): Set stdin to binary mode.
94362         * modules/yesno-tests (Depends-on): Add binary-io.
94364 2008-04-27  Bruno Haible  <bruno@clisp.org>
94366         Fix 'isfinite' on x86, x86_64, ia64 platforms.
94367         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
94368         argument that lie outside the IEEE 854 domain.
94369         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
94370         (gl_ISFINITE): Use it.
94371         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
94373 2008-04-27  Bruno Haible  <bruno@clisp.org>
94375         Allow local renaming in config.h.
94376         * lib/memrchr.c (memrchr): Don't undefine outside libc.
94378 2008-04-27  Bruno Haible  <bruno@clisp.org>
94380         * lib/memchr.c (__memchr): Change type of 'i'.
94381         * lib/memchr2.c (memchr2): Likewise.
94383 2008-04-26  Eric Blake  <ebb9@byu.net>
94384         and Bruno Haible  <bruno@clisp.org>
94386         Optimize and test memrchr.
94387         * modules/memrchr (Depends-on): Add intprops.
94388         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
94389         * modules/memrchr-tests: New file.
94390         * tests/test-memrchr.c: New file.
94392 2008-04-26  Bruno Haible  <bruno@clisp.org>
94394         Add tentative support for DragonFly BSD.
94395         * lib/stdio-impl.h: Add macros for DragonFly BSD.
94396         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
94397         fp.
94398         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
94399         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
94400         * lib/fpurge.c (fpurge): Likewise.
94401         * lib/freadable.c (freaadable): Likewise.
94402         * lib/freadahead.c (freadahead): Likewise.
94403         * lib/freading.c (freading): Likewise.
94404         * lib/freadptr.c (freadptr): Likewise.
94405         * lib/freadseek.c (freadptrinc): Likewise.
94406         * lib/fseeko.c (fseeko): Likewise.
94407         * lib/fseterr.c (fseterr): Likewise.
94408         * lib/fwritable.c (fwritable): Likewise.
94409         * lib/fwriting.c (fwriting): Likewise.
94411 2008-04-26  Bruno Haible  <bruno@clisp.org>
94413         * lib/stdio-impl.h: New file.
94414         * lib/fbufmode.c: Include stdio-impl.h.
94415         (fbufmode): Use fp_, remove redundant #defines.
94416         * lib/fflush.c: Include stdio-impl.h.
94417         (clear_ungetc_buffer): Remove redundant #defines.
94418         * lib/fpurge.c: Include stdio-impl.h.
94419         (fpurge): Remove redundant #defines.
94420         * lib/freadable.c: Include stdio-impl.h.
94421         (freadable): Remove redundant #defines.
94422         * lib/freadahead.c: Include stdio-impl.h.
94423         (freadahead): Remove redundant #defines.
94424         * lib/freading.c: Include stdio-impl.h.
94425         (freading): Remove redundant #defines.
94426         * lib/freadptr.c: Include stdio-impl.h.
94427         (freadptr): Remove redundant #defines.
94428         * lib/freadseek.c: Include stdio-impl.h.
94429         (freadptrinc): Remove redundant #defines.
94430         * lib/fseeko.c: Include stdio-impl.h.
94431         (rpl_fseeko): Remove redundant #defines.
94432         * lib/fseterr.c: Include stdio-impl.h.
94433         (fseterr): Remove redundant #defines.
94434         * lib/fwritable.c: Include stdio-impl.h.
94435         (fwritable: Remove redundant #defines.
94436         * lib/fwriting.c: Include stdio-impl.h.
94437         (fwriting): Remove redundant #defines.
94438         * modules/fbufmode (Files): Add lib/stdio-impl.h.
94439         * modules/fflush (Files): Likewise.
94440         * modules/fpurge (Files): Likewise.
94441         * modules/freadable (Files): Likewise.
94442         * modules/freadahead (Files): Likewise.
94443         * modules/freading (Files): Likewise.
94444         * modules/freadptr (Files): Likewise.
94445         * modules/freadseek (Files): Likewise.
94446         * modules/fseeko (Files): Likewise.
94447         * modules/fseterr (Files): Likewise.
94448         * modules/fwritable (Files): Likewise.
94449         * modules/fwriting (Files): Likewise.
94451 2008-04-26  Bruno Haible  <bruno@clisp.org>
94453         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
94454         restore_seek_optimization, update_fpos_cache): New functions, extracted
94455         from rpl_fflush.
94456         (rpl_fflush): Use them.
94457         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
94458         (gl_REPLACE_FFLUSH): Use it.
94460 2008-04-26  Bruno Haible  <bruno@clisp.org>
94462         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
94463         on Solaris.
94464         * tests/test-xstrtoimax.sh: Likewise.
94465         * tests/test-xstrtoumax.sh: Likewise.
94466         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94468 2008-04-26  Bruno Haible  <bruno@clisp.org>
94470         * modules/memchr-tests: New file.
94471         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
94473 2008-04-26  Eric Blake  <ebb9@byu.net>
94474             Bruno Haible  <bruno@clisp.org>
94476         * lib/memchr.c: Include intprops.h.
94477         (__memchr): Optimize parallel detection of matching bytes. Rename local
94478         variables. Add explanatory comments.
94480 2008-04-26  Bruno Haible  <bruno@clisp.org>
94482         Fix module 'memchr', broken since 2000-10-28.
94483         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
94485 2008-04-26  Bruno Haible  <bruno@clisp.org>
94487         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
94488         comments.
94490 2008-04-25  Eric Blake  <ebb9@byu.net>
94492         Use native fstatat on cygwin 1.7.0.
94493         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
94494         first.
94496 2008-04-23  Eric Blake  <ebb9@byu.net>
94498         Improve memchr2 performance.
94499         * lib/memchr2.c (memchr2): Further optimize parallel detection of
94500         NUL bytes.
94501         * modules/memchr2 (Depends-on): Use intprops.h.
94503 2008-04-23  Simon Josefsson  <simon@josefsson.org>
94505         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
94506         an inline function instead of a CPP macro.  Patch by Ben Pfaff
94507         <blp@cs.stanford.edu>.
94509 2008-04-23  Simon Josefsson  <simon@josefsson.org>
94511         * lib/arpa_inet.in.h: New file.
94513         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
94514         (Makefile.am): Sed in substitute header file.
94516         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
94517         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
94519         * modules/inet_ntop (configure.ac): Use
94520         gl_ARPA_INET_MODULE_INDICATOR.
94522         * modules/inet_pton (configure.ac): Use
94523         gl_ARPA_INET_MODULE_INDICATOR.
94525 2008-04-22  Jim Meyering  <meyering@redhat.com>
94527         * modules/verify (License): Re-license as LGPLv2+.
94529 2008-04-22  Simon Josefsson  <simon@josefsson.org>
94531         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
94532         parameter to void* as per POSIX standard (MinGW uses char*).
94534 2008-04-21  Bruno Haible  <bruno@clisp.org>
94536         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
94537         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
94538         Define to replacements if REPLACE_ISWCNTRL is 1.
94539         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
94540         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
94541         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
94542         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
94543         what it fixes.
94544         * doc/posix-functions/iswalpha.texi: Likewise.
94545         * doc/posix-functions/iswblank.texi: Likewise.
94546         * doc/posix-functions/iswcntrl.texi: Likewise.
94547         * doc/posix-functions/iswdigit.texi: Likewise.
94548         * doc/posix-functions/iswgraph.texi: Likewise.
94549         * doc/posix-functions/iswlower.texi: Likewise.
94550         * doc/posix-functions/iswprint.texi: Likewise.
94551         * doc/posix-functions/iswpunct.texi: Likewise.
94552         * doc/posix-functions/iswspace.texi: Likewise.
94553         * doc/posix-functions/iswupper.texi: Likewise.
94554         * doc/posix-functions/iswxdigit.texi: Likewise.
94555         Reported by Alain Guibert.
94557 2008-04-21  Bruno Haible  <bruno@clisp.org>
94559         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
94560         Patch by Alain Guibert.
94562 2008-04-21  Bruno Haible  <bruno@clisp.org>
94564         Fix test failures on mingw.
94565         * tests/test-xstrtol.c (print_no_progname): New function.
94566         (main): Install it in error_print_progname hook.
94567         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
94568         * tests/test-xstrtoimax.sh: Likewise.
94569         * tests/test-xstrtoumax.sh: Likewise.
94571 2008-04-21  Bruno Haible  <bruno@clisp.org>
94573         Fix test failure on mingw.
94574         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
94576 2008-04-21  Bruno Haible  <bruno@clisp.org>
94578         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
94579         Actually assign a value.
94581 2008-04-20  Bruno Haible  <bruno@clisp.org>
94583         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
94584         take 2.
94585         * lib/canonicalize.c (canonicalize_file_name): Elide if the
94586         'canonicalize-lgpl' module is also used.
94587         * lib/canonicalize-lgpl.c: Undo last change.
94588         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
94590 2008-04-20  Bruno Haible  <bruno@clisp.org>
94592         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
94593         config.h. Provide _mkdir based fallback for mingw.
94594         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
94595         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
94596         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
94597         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
94598         rather than defining mkdir in config.h.
94599         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
94600         (gl_SYS_STAT_H_DEFAULTS): New macro.
94601         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
94602         HAVE_IO_H any more.
94603         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
94604         HAVE_DECL_MKDIR and HAVE_IO_H.
94606 2008-04-20  Bruno Haible  <bruno@clisp.org>
94608         * lib/isapipe.c: Port to native Windows platforms.
94610 2008-04-20  Bruno Haible  <bruno@clisp.org>
94612         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
94614 2008-04-21  Eric Blake  <ebb9@byu.net>
94616         Work around preprocessors that don't handle UINTMAX_MAX.
94617         * lib/memchr2.c (memchr2): Avoid embedded #if.
94618         Reported by Alain Guibert, fix suggested by Bruno Haible.
94620 2008-04-21  Simon Josefsson  <simon@josefsson.org>
94622         * doc/posix-functions/strftime.texi (strftime): Explain better
94623         Windows incompatibility.  Suggested by Micah Cowan
94624         <micah@cowan.name>.
94626 2008-04-20  Bruno Haible  <bruno@clisp.org>
94628         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
94629         unistr/u8-mblen.
94631 2008-04-20  Bruno Haible  <bruno@clisp.org>
94633         Fix test failure on platforms with non-GNU iconv.
94634         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
94635         (U_TO_U8): Use it, rather than u16_to_u8.
94636         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
94637         units at the end of the input string.
94638         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
94640 2008-04-20  Bruno Haible  <bruno@clisp.org>
94642         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
94643         when the resulting length is 0.
94644         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
94646 2008-04-20  Bruno Haible  <bruno@clisp.org>
94648         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
94649         works.
94650         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
94652 2008-04-20  Bruno Haible  <bruno@clisp.org>
94654         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
94655         * modules/tsearch-tests (configure.ac): Test for initstate function.
94657 2008-04-20  Bruno Haible  <bruno@clisp.org>
94659         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
94660         for nlink_t if missing.
94661         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
94663 2008-04-19  Bruno Haible  <bruno@clisp.org>
94665         Work around snprintf bug on Linux libc5.
94666         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
94667         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
94668         gl_SNPRINTF_SIZE1.
94669         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
94670         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
94671         that test failed.
94672         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
94673         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
94674         * modules/snprintf (Files): Add m4/printf.m4.
94675         * modules/vsnprintf (Files): Likewise.
94676         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
94677         * doc/posix-functions/vsnprintf.texi: Likewise.
94679 2008-04-19  Bruno Haible  <bruno@clisp.org>
94681         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
94682         from 0.0058 to less than 10^-7.
94684 2008-04-19  Bruno Haible  <bruno@clisp.org>
94686         Fix rounding when a precision is given.
94687         * lib/vasnprintf.c (is_borderline): New function.
94688         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
94689         9...9x.
94690         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
94691         %e, %g.
94692         * tests/test-vasprintf-posix.c (test_function): Likewise.
94693         * tests/test-snprintf-posix.h (test_function): Likewise.
94694         * tests/test-sprintf-posix.h (test_function): Likewise.
94695         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
94696         * tests/test-printf-posix.h (test_function): Likewise.
94697         * tests/test-printf-posix.output: Update.
94698         Reported by John Darrington <john@darrington.wattle.id.au> via
94699         Ben Pfaff <blp@cs.stanford.edu>.
94701 2008-04-18  Simon Josefsson  <simon@josefsson.org>
94703         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
94704         Suggested by Bruno Haible <bruno@clisp.org>.
94706 2008-04-17  Bruno Haible  <bruno@clisp.org>
94708         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
94709         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
94710         implementation.
94711         Patch by Bruce Merry <bmerry@gmail.com>.
94713 2008-04-17  Simon Josefsson  <simon@josefsson.org>
94715         * doc/posix-functions/strftime.texi (strftime): Mention that %e
94716         doesn't work under Windows.
94718 2008-04-16  Bruno Haible  <bruno@clisp.org>
94720         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
94721         New macros.
94722         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
94723         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
94724         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
94725         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
94726         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
94727         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
94728         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
94729         macros.
94730         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
94731         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
94732         Northern Sotho, Uighur.
94734 2008-04-16  Bruno Haible  <bruno@clisp.org>
94736         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
94737         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
94738         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
94739         Reported by Daniel Bergström <daniel@octocode.com>.
94741 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
94742             Bruno Haible  <bruno@clisp.org>
94744         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
94745         function.
94746         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
94747         New functions, mostly extracted from gl_locale_name_default.
94748         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
94750 2008-04-16  Eric Blake  <ebb9@byu.net>
94752         Adjust strtod detection to catch glibc 2.7 bug.
94753         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
94754         Reported by John Gatewood Ham.
94756 2008-04-16  Bruno Haible  <bruno@clisp.org>
94758         Add tentative support for Linux libc5.
94759         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
94760         * lib/fpurge.c (fpurge): Likewise.
94761         * lib/freadable.c (freadable): Likewise.
94762         * lib/freadahead.c (freadahead): Likewise.
94763         * lib/freading.c (freading): Likewise.
94764         * lib/freadptr.c (freadptr): Likewise.
94765         * lib/freadseek.c (freadptrinc): Likewise.
94766         * lib/fseeko.c (rpl_fseeko): Likewise.
94767         * lib/fseterr.c (fseterr): Likewise.
94768         * lib/fwritable.c (fwritable): Likewise.
94769         * lib/fwriting.c (fwriting): Likewise.
94770         Reported by Alain Guibert <alguibert+bts@free.fr>.
94772 2008-04-15  Bruno Haible  <bruno@clisp.org>
94774         * modules/mathl (configure.ac): Define module indicator.
94776 2008-04-15  Bruno Haible  <bruno@clisp.org>
94778         * lib/logl.c (logl): Remove unused variables.
94780 2008-04-15  Bruno Haible  <bruno@clisp.org>
94782         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
94783         fails.
94785 2008-04-15  Bruno Haible  <bruno@clisp.org>
94787         * lib/trim.c (trim2): Fix argument of isspace() macro.
94789 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
94791         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
94792         to 0.
94793         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
94795 2008-04-14  Bruno Haible  <bruno@clisp.org>
94797         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
94798         AC_LANG_PROGRAM argument.
94799         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
94800         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
94801         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
94802         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
94803         * m4/math_h.m4 (gl_MATH_H): Likewise.
94804         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
94805         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94806         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
94807         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
94808         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
94809         * m4/regex.m4 (gl_REGEX): Likewise.
94810         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
94811         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
94812         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94813         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
94814         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
94815         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94816         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
94817         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
94819 2008-04-14  Jim Meyering  <meyering@redhat.com>
94821         test-strtod: fix typos: s/abs/fabs/
94822         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
94824 2008-04-13  Bruno Haible  <bruno@clisp.org>
94826         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
94827         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
94828         module is also used and while not building the reloc-wrapper.
94830 2008-04-13  Bruno Haible  <bruno@clisp.org>
94832         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
94834 2008-04-13  Bruno Haible  <bruno@clisp.org>
94836         Fix AIX compilation failure introduced on 2008-04-02.
94837         * tests/test-frexp.c (exp): Undefine before redefining.
94838         * tests/test-frexpl.c (exp): Likewise.
94840 2008-04-13  Bruno Haible  <bruno@clisp.org>
94842         Work around a HP-UX stdio bug.
94843         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
94844         * tests/test-ftello.c (main): Likewise.
94845         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
94846         * doc/posix-functions/ftello.texi: Likewise.
94848 2008-04-13  Bruno Haible  <bruno@clisp.org>
94850         Make test-signbit pass on HP-UX/hppa.
94851         * tests/test-signbit.c (minus_zerol): New variable.
94852         (test_signbitl): Use it.
94854 2008-04-13  Bruno Haible  <bruno@clisp.org>
94856         Make truncl work on OSF/1 4.0.
94857         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
94858         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
94859         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
94860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
94861         HAVE_DECL_TRUNCL.
94862         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
94863         HAVE_DECL_TRUNCL.
94864         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
94866 2008-04-13  Bruno Haible  <bruno@clisp.org>
94868         * lib/unictype.h: Remove trailing comma from enumeration definitions.
94870 2008-04-13  Bruno Haible  <bruno@clisp.org>
94872         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
94873         expression, so as to avoid HP-UX 11 cc compiler bug.
94875 2008-04-13  Bruno Haible  <bruno@clisp.org>
94877         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
94879 2008-04-13  Bruno Haible  <bruno@clisp.org>
94881         * lib/git-merge-changelog.c: Remove empty declaration outside of
94882         functions.
94884 2008-04-13  Bruno Haible  <bruno@clisp.org>
94886         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
94888 2008-04-13  Bruno Haible  <bruno@clisp.org>
94890         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
94891         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
94892         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
94893         also if it exists but lacks definitions of the SHUT_* macros.
94894         * modules/sys_socket (Description): Update.
94895         Reported by Elbert Pol <e.pol@chello.nl>.
94897 2008-04-13  Bruno Haible  <bruno@clisp.org>
94899         * lib/localcharset.c (OS2): Don't redefine if already defined.
94900         Reported by Elbert Pol <e.pol@chello.nl>.
94902 2008-04-13  Bruno Haible  <bruno@clisp.org>
94904         * lib/binary-io.h [__EMX__]: Include <io.h>.
94905         Reported by Elbert Pol <e.pol@chello.nl>.
94907 2008-04-12  Bruno Haible  <bruno@clisp.org>
94909         * lib/fpucw.h: Enable the definitions also for x86_64.
94910         Needed for NetBSD/x86_64.
94911         Reported by Thomas Klausner <tk@giga.or.at>.
94913 2008-04-12  Bruno Haible  <bruno@clisp.org>
94915         * tests/test-strtod.c: Include isnand.h.
94916         (main): Use isnand instead of isnan.
94917         Reported by Jim Meyering.
94919 2008-04-12  Bruno Haible  <bruno@clisp.org>
94921         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
94922         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
94924 2008-04-12  Jim Meyering  <meyering@redhat.com>
94926         * m4/math_h.m4 (gl_MATH_H): Fix typos.
94928 2008-04-12  Bruno Haible  <bruno@clisp.org>
94930         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
94931         Reported by Elbert Pol <e.pol@chello.nl>.
94933 2008-04-12  Eric Blake  <ebb9@byu.net>
94935         Work around Solaris 10 math.h bug.
94936         * m4/math_h.m4 (gl_MATH_H): Check for bug.
94937         (gl_MATH_H_DEFAULTS): Set up default.
94938         * modules/math (Makefile.am): Replace new indicators.
94939         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
94940         * tests/test-math.c (main): Test this.
94941         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
94942         * doc/posix-headers/math.texi (math.h): Mention bug.
94943         Reported by Nelson H. F. Beebe and Jim Meyering.
94945 2008-04-11  Bruno Haible  <bruno@clisp.org>
94947         Adapt to future versions of Apple GCC.
94948         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
94949         Reported by Peter O'Gorman <peter@pogma.com>.
94951 2008-04-11  Bruno Haible  <bruno@clisp.org>
94953         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
94955 2008-04-11  Bruno Haible  <bruno@clisp.org>
94957         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
94959         * modules/getaddrinfo-tests (Makefile.am): Define
94960         test_getaddrinfo_LDADD.
94962 2008-04-11  Bruno Haible  <bruno@clisp.org>
94964         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
94965         (init): Fix syntax error.
94966         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
94967         is declared.
94969 2008-04-11  Bruno Haible  <bruno@clisp.org>
94971         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
94972         * modules/glob (Depends-on): Add stdbool.
94974 2008-04-11  Bruno Haible  <bruno@clisp.org>
94976         * lib/trim.c: Include <string.h>.
94978 2008-04-11  Eric Blake  <ebb9@byu.net>
94980         Avoid compile failure on OS/2.
94981         * lib/regex_internal.h (internal_function): Disable optimization
94982         on OS/2 (__EMX__), where it caused compiler error.
94983         Reported by Elbert Pol.
94985 2008-04-11  Bruno Haible  <bruno@clisp.org>
94987         Flush the standard error stream before aborting. Needed on mingw.
94988         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
94989         * tests/test-array_list.c (ASSERT): Likewise.
94990         * tests/test-array_oset.c (ASSERT): Likewise.
94991         * tests/test-avltree_list.c (ASSERT): Likewise.
94992         * tests/test-avltree_oset.c (ASSERT): Likewise.
94993         * tests/test-avltreehash_list.c (ASSERT): Likewise.
94994         * tests/test-binary-io.c (ASSERT): Likewise.
94995         * tests/test-byteswap.c (ASSERT): Likewise.
94996         * tests/test-c-ctype.c (ASSERT): Likewise.
94997         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
94998         * tests/test-c-strcasestr.c (ASSERT): Likewise.
94999         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
95000         * tests/test-c-strstr.c (ASSERT): Likewise.
95001         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
95002         * tests/test-canonicalize.c (ASSERT): Likewise.
95003         * tests/test-carray_list.c (ASSERT): Likewise.
95004         * tests/test-ceilf1.c (ASSERT): Likewise.
95005         * tests/test-ceilf2.c (ASSERT): Likewise.
95006         * tests/test-ceill.c (ASSERT): Likewise.
95007         * tests/test-count-one-bits.c (ASSERT): Likewise.
95008         * tests/test-fbufmode.c (ASSERT): Likewise.
95009         * tests/test-fflush2.c (ASSERT): Likewise.
95010         * tests/test-floorf1.c (ASSERT): Likewise.
95011         * tests/test-floorf2.c (ASSERT): Likewise.
95012         * tests/test-floorl.c (ASSERT): Likewise.
95013         * tests/test-fopen.c (ASSERT): Likewise.
95014         * tests/test-fpending.c (ASSERT): Likewise.
95015         * tests/test-fprintf-posix.c (ASSERT): Likewise.
95016         * tests/test-fpurge.c (ASSERT): Likewise.
95017         * tests/test-freadable.c (ASSERT): Likewise.
95018         * tests/test-freadahead.c (ASSERT): Likewise.
95019         * tests/test-freading.c (ASSERT): Likewise.
95020         * tests/test-freadptr.c (ASSERT): Likewise.
95021         * tests/test-freadptr2.c (ASSERT): Likewise.
95022         * tests/test-freadseek.c (ASSERT): Likewise.
95023         * tests/test-freopen.c (ASSERT): Likewise.
95024         * tests/test-frexp.c (ASSERT): Likewise.
95025         * tests/test-frexpl.c (ASSERT): Likewise.
95026         * tests/test-fseek.c (ASSERT): Likewise.
95027         * tests/test-fseeko.c (ASSERT): Likewise.
95028         * tests/test-fstrcmp.c (ASSERT): Likewise.
95029         * tests/test-ftell.c (ASSERT): Likewise.
95030         * tests/test-ftello.c (ASSERT): Likewise.
95031         * tests/test-func.c (ASSERT): Likewise.
95032         * tests/test-fwritable.c (ASSERT): Likewise.
95033         * tests/test-fwriting.c (ASSERT): Likewise.
95034         * tests/test-getdelim.c (ASSERT): Likewise.
95035         * tests/test-getline.c (ASSERT): Likewise.
95036         * tests/test-i-ring.c (ASSERT): Likewise.
95037         * tests/test-iconv-utf.c (ASSERT): Likewise.
95038         * tests/test-iconv.c (ASSERT): Likewise.
95039         * tests/test-isfinite.c (ASSERT): Likewise.
95040         * tests/test-isnand.c (ASSERT): Likewise.
95041         * tests/test-isnanf.c (ASSERT): Likewise.
95042         * tests/test-isnanl.h (ASSERT): Likewise.
95043         * tests/test-ldexpl.c (ASSERT): Likewise.
95044         * tests/test-linked_list.c (ASSERT): Likewise.
95045         * tests/test-linkedhash_list.c (ASSERT): Likewise.
95046         * tests/test-localename.c (ASSERT): Likewise.
95047         * tests/test-lseek.c (ASSERT): Likewise.
95048         * tests/test-mbscasecmp.c (ASSERT): Likewise.
95049         * tests/test-mbscasestr1.c (ASSERT): Likewise.
95050         * tests/test-mbscasestr2.c (ASSERT): Likewise.
95051         * tests/test-mbscasestr3.c (ASSERT): Likewise.
95052         * tests/test-mbscasestr4.c (ASSERT): Likewise.
95053         * tests/test-mbschr.c (ASSERT): Likewise.
95054         * tests/test-mbscspn.c (ASSERT): Likewise.
95055         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
95056         * tests/test-mbspbrk.c (ASSERT): Likewise.
95057         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
95058         * tests/test-mbsrchr.c (ASSERT): Likewise.
95059         * tests/test-mbsspn.c (ASSERT): Likewise.
95060         * tests/test-mbsstr1.c (ASSERT): Likewise.
95061         * tests/test-mbsstr2.c (ASSERT): Likewise.
95062         * tests/test-mbsstr3.c (ASSERT): Likewise.
95063         * tests/test-memchr2.c (ASSERT): Likewise.
95064         * tests/test-memmem.c (ASSERT): Likewise.
95065         * tests/test-open.c (ASSERT): Likewise.
95066         * tests/test-printf-frexp.c (ASSERT): Likewise.
95067         * tests/test-printf-frexpl.c (ASSERT): Likewise.
95068         * tests/test-printf-posix.c (ASSERT): Likewise.
95069         * tests/test-quotearg.c (ASSERT): Likewise.
95070         * tests/test-rbtree_list.c (ASSERT): Likewise.
95071         * tests/test-rbtree_oset.c (ASSERT): Likewise.
95072         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
95073         * tests/test-round1.c (ASSERT): Likewise.
95074         * tests/test-roundf1.c (ASSERT): Likewise.
95075         * tests/test-roundl.c (ASSERT): Likewise.
95076         * tests/test-signbit.c (ASSERT): Likewise.
95077         * tests/test-sleep.c (ASSERT): Likewise.
95078         * tests/test-snprintf-posix.c (ASSERT): Likewise.
95079         * tests/test-snprintf.c (ASSERT): Likewise.
95080         * tests/test-sprintf-posix.c (ASSERT): Likewise.
95081         * tests/test-stat-time.c (ASSERT): Likewise.
95082         * tests/test-strcasestr.c (ASSERT): Likewise.
95083         * tests/test-strerror.c (ASSERT): Likewise.
95084         * tests/test-striconv.c (ASSERT): Likewise.
95085         * tests/test-striconveh.c (ASSERT): Likewise.
95086         * tests/test-striconveha.c (ASSERT): Likewise.
95087         * tests/test-strsignal.c (ASSERT): Likewise.
95088         * tests/test-strstr.c (ASSERT): Likewise.
95089         * tests/test-strtod.c (ASSERT): Likewise.
95090         * tests/test-trunc1.c (ASSERT): Likewise.
95091         * tests/test-trunc2.c (ASSERT): Likewise.
95092         * tests/test-truncf1.c (ASSERT): Likewise.
95093         * tests/test-truncf2.c (ASSERT): Likewise.
95094         * tests/test-truncl.c (ASSERT): Likewise.
95095         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
95096         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
95097         * tests/test-vasnprintf.c (ASSERT): Likewise.
95098         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
95099         * tests/test-vasprintf.c (ASSERT): Likewise.
95100         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
95101         * tests/test-vprintf-posix.c (ASSERT): Likewise.
95102         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
95103         * tests/test-vsnprintf.c (ASSERT): Likewise.
95104         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
95105         * tests/test-wcwidth.c (ASSERT): Likewise.
95106         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
95107         * tests/test-xprintf-posix.c (ASSERT): Likewise.
95108         * tests/test-xvasprintf.c (ASSERT): Likewise.
95109         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
95110         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
95111         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
95112         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
95113         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
95114         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
95115         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
95116         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
95117         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
95118         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
95119         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
95120         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
95121         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
95122         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
95123         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
95124         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
95125         * tests/unictype/test-block_list.c (ASSERT): Likewise.
95126         * tests/unictype/test-block_of.c (ASSERT): Likewise.
95127         * tests/unictype/test-block_test.c (ASSERT): Likewise.
95128         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
95129         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
95130         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
95131         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
95132         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
95133         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
95134         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
95135         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
95136         * tests/unictype/test-combining.c (ASSERT): Likewise.
95137         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
95138         * tests/unictype/test-digit.c (ASSERT): Likewise.
95139         * tests/unictype/test-mirror.c (ASSERT): Likewise.
95140         * tests/unictype/test-numeric.c (ASSERT): Likewise.
95141         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
95142         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
95143         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
95144         * tests/unictype/test-scripts.c (ASSERT): Likewise.
95145         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
95146         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
95147         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
95148         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
95149         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
95150         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
95151         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
95152         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
95153         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
95154         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
95155         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
95156         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
95157         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
95158         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
95159         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
95160         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
95161         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
95162         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
95163         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
95164         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
95165         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
95166         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
95167         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
95168         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
95169         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
95170         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
95171         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
95172         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
95173         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
95174         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
95175         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
95176         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
95177         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
95178         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
95179         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
95180         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
95181         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
95182         Reported by Eric Blake.
95184 2008-04-11  Bruno Haible  <bruno@clisp.org>
95186         * lib/wchar.in.h: Tweak comment.
95188 2008-04-11  Bruno Haible  <bruno@clisp.org>
95190         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
95191         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
95192         gl_COMMON.
95193         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
95195 2008-04-11  Bruno Haible  <bruno@clisp.org>
95197         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
95199 2008-04-11  Simon Josefsson  <simon@josefsson.org>
95201         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
95202         of attempting to use non-existing /dev/*random.  Based on patch
95203         from Adam Strzelecki <ono@java.pl> in
95204         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
95206 2008-04-08  Bruno Haible  <bruno@clisp.org>
95208         Add tentative support for emx+gcc.
95209         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
95210         * lib/fpurge.c (fpurge): Likewise.
95211         * lib/freadable.c (freadable): Likewise.
95212         * lib/freadahead.c (freadahead): Likewise.
95213         * lib/freading.c (freading): Likewise.
95214         * lib/freadptr.c (freadptr): Likewise.
95215         * lib/freadseek.c (freadptrinc): Likewise.
95216         * lib/fseeko.c (rpl_fseeko): Likewise.
95217         * lib/fseterr.c (fseterr): Likewise.
95218         * lib/fwritable.c (fwritable): Likewise.
95219         * lib/fwriting.c (fwriting): Likewise.
95220         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
95222 2008-04-09  Eric Blake  <ebb9@byu.net>
95224         Avoid some autoconf warnings.
95225         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
95226         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
95227         * m4/afs.m4 (gl_AFS): Likewise.
95228         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
95229         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
95230         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
95231         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
95232         (gl_INTEGER_TYPE_SUFFIX): Likewise.
95233         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
95234         (AC_CHECK_DECLS_ONCE): Likewise.
95235         Rename file...
95236         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
95237         gnulib-tool requires autoconf 2.59 or better.
95238         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
95240 2008-04-08  Eric Blake  <ebb9@byu.net>
95242         Use 'git describe --match' if present (added in git 1.5.5).
95243         * build-aux/git-version-gen: Limit result to tags that match 'v*'
95244         if possible.
95246 2008-04-08  Bruno Haible  <bruno@clisp.org>
95248         Add tentative support for OpenServer.
95249         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
95250         _ptr, _cnt.
95251         * lib/fpurge.c (fpurge): Likewise.
95252         * lib/freadable.c (freadable): Likewise.
95253         * lib/freadahead.c (freadahead): Likewise.
95254         * lib/freading.c (freading): Likewise.
95255         * lib/freadptr.c (freadptr): Likewise.
95256         * lib/freadseek.c (freadptrinc): Likewise.
95257         * lib/fseeko.c (rpl_fseeko): Likewise.
95258         * lib/fseterr.c (fseterr): Likewise.
95259         * lib/fwritable.c (fwritable): Likewise.
95260         * lib/fwriting.c (fwriting): Likewise.
95261         Reported by Roger Cornelius <rac@tenzing.org> and
95262         Brian K. White <brian@aljex.com>.
95264 2008-04-06  Jim Meyering  <meyering@redhat.com>
95266         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
95268 2008-04-06  Bruno Haible  <bruno@clisp.org>
95270         Avoid possible error with non-ASCII bytes in UTF-8 locales.
95271         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
95272         * tests/test-printf-posix.sh: Likewise.
95273         * tests/test-vfprintf-posix.sh: Likewise.
95274         * tests/test-vprintf-posix.sh: Likewise.
95275         * tests/test-xprintf-posix.sh: Likewise.
95277 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95279         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
95280         hide error from 'ls', needed on OS/2.
95281         Report by Elbert Pol <elbert.pol@gmail.com>.
95283 2008-04-04  Eric Blake  <ebb9@byu.net>
95285         Make test-fseeko.c failures meaningful.
95286         * tests/test-fseeko.c: Print line number on failure.
95287         * tests/test-fseek.c: Likewise.
95288         Reported by Nelson H. F. Beebe.
95290         Improve strtod bug detection check.
95291         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
95292         required for Solaris 10.
95293         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
95295 2008-04-04  Bruno Haible  <bruno@clisp.org>
95297         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
95298         by m4/setenv.m4.
95300 2008-04-03  Eric Blake  <ebb9@byu.net>
95302         Ensure sane .version contents.
95303         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
95304         version string.
95305         * build-aux/git-version-gen: Improve documentation.
95307         Make GNU make output nicer.
95308         * top/GNUmakefile [!_have-Makefile]: Add dependency on
95309         MAKECMDGOALS to enforce message for all command line targets.  Set
95310         srcdir for use in maint.mk.
95312         Another maintainer tweak.
95313         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
95314         a target that regenerates version.
95316 2008-04-03  Jim Meyering  <meyering@redhat.com>
95318         vc-list-files: don't cause coreutils "make po-check" failure
95319         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
95321 2008-04-03  Eric Blake  <ebb9@byu.net>
95323         Allow VPATH usage of vc-list-files.
95324         * build-aux/vc-list-files (scriptversion): Add timestamp.
95325         (options): Add --help, --version, -C.
95326         (CVS): Support installed cvsu.
95328 2008-04-02  Bruno Haible  <bruno@clisp.org>
95330         Avoid some "statement with no effect" warnings from gcc.
95331         * tests/test-wctype.c (main): Explicitly ignore unused values.
95332         Reported by Jim Meyering.
95334 2008-04-02  Jim Meyering  <meyering@redhat.com>
95336         Avoid some warnings from "gcc -Wshadow".
95337         * tests/test-frexp.c (exp): Define to a different identifier.
95338         * tests/test-frexpl.c (exp): Likewise.
95340 2008-04-03  Jim Meyering  <meyering@redhat.com>
95342         bootstrap: remove dangling *.[ch] symlinks from lib
95343         * build-aux/bootstrap [dangling symlink removal]: Move find's
95344         -depth option to precede all others, to avoid a warning.
95345         Remove *.[ch] files too, and from "$source_base" (usually lib/).
95347 2008-04-02  Bruno Haible  <bruno@clisp.org>
95349         Avoid some warnings from "gcc -Wshadow".
95350         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
95351         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
95352         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
95353         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
95354         Reported by Jim Meyering.
95356 2008-04-01  Bruno Haible  <bruno@clisp.org>
95358         Fix test to work on IRIX 6.5 with cc.
95359         * tests/test-math.c (numeric_equal): New function.
95360         (main): Use it.
95362 2008-04-01  Bruno Haible  <bruno@clisp.org>
95364         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
95366 2008-04-01  Bruno Haible  <bruno@clisp.org>
95368         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
95369         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95370         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
95371         (Depends-on): Remove math.
95373         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
95374         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95375         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
95376         (Depends-on): Remove math.
95378         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
95379         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95380         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
95381         (Depends-on): Remove math.
95382         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
95383         (Depends-on): Remove math.
95385         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
95386         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95387         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
95388         (Depends-on): Remove math.
95389         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
95390         (Depends-on): Remove math.
95392         * tests/test-round1.c: Include nan.h.
95393         (main): Use NaNd instead of NAN.
95394         * modules/round-tests (Files): Add tests/nan.h.
95396         * tests/test-trunc1.c: Include nan.h.
95397         (main): Use NaNd instead of NAN.
95398         * modules/trunc-tests (Files): Add tests/nan.h.
95400         * tests/test-roundf1.c: Include nan.h.
95401         (main): Use NaNf instead of NAN.
95402         * modules/roundf-tests (Files): Add tests/nan.h.
95404         * tests/test-truncf1.c: Include nan.h.
95405         (main): Use NaNf instead of NAN.
95406         * modules/truncf-tests (Files): Add tests/nan.h.
95408         * tests/test-ceilf1.c: Include nan.h.
95409         (main): Use NaNf instead of NAN.
95410         * modules/ceilf-tests (Files): Add tests/nan.h.
95412         * tests/test-floorf1.c: Include nan.h.
95413         (main): Use NaNf instead of NAN.
95414         * modules/floorf-tests (Files): Add tests/nan.h.
95416         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
95417         (main): Use NaNf instead of NAN.
95418         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
95420         * tests/test-isnand.c: Include nan.h instead of <math.h>.
95421         (main): Use NaNd instead of NAN.
95422         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
95424         * tests/test-frexp.c: Include nan.h.
95425         (main): Use NaNd instead of NAN.
95426         * modules/frexp-tests (Files): Add tests/nan.h.
95428         * lib/isnan.c: Don't include <math.h>.
95429         (FUNC): Don't use NAN macro.
95430         * modules/isnand-nolibm (Depends-on): Remove math.
95431         * modules/isnanf-nolibm (Depends-on): Remove math.
95432         * modules/isnanl (Depends-on): Remove math.
95433         * modules/isnanl-nolibm (Depends-on): Remove math.
95435         * tests/nan.h: New file.
95437 2008-04-01  Eric Blake  <ebb9@byu.net>
95439         Fix typos.
95440         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
95441         values to be the right type.
95443         For now, cater to gnulib strtod inaccuracies.
95444         * tests/test-strtod.c (main): Allow 1-ulp error on expected
95445         fractional results.  While not as nice from a QoI perspective, it
95446         is a quicker patch than correctly implementing decimal to binary
95447         rounding.
95449 2008-03-31  Eric Blake  <ebb9@byu.net>
95451         Guarantee a definition of NAN.
95452         * lib/math.in.h (NAN): Define if missing.
95453         * tests/test-math.c (main): Test it.
95454         * doc/posix-headers/math.texi (math.h): Document this.
95455         * lib/isnan.c (rpl_isnand): Use it.
95456         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
95457         * tests/test-floorf1.c (NaN): Likewise.
95458         * tests/test-frexp.c (NaN): Likewise.
95459         * tests/test-isnand.c (NaN): Likewise.
95460         * tests/test-isnanf.c (NaN): Likewise.
95461         * tests/test-round1.c (NaN): Likewise.
95462         * tests/test-roundf1.c (NaN): Likewise.
95463         * tests/test-snprintf-posix.h (NaN): Likewise.
95464         * tests/test-sprintf-posix.h (NaN): Likewise.
95465         * tests/test-trunc1.c (NaN): Likewise.
95466         * tests/test-truncf1.c (NaN): Likewise.
95467         * tests/test-vasnprintf-posix.c (NaN): Likewise.
95468         * tests/test-vasprintf-posix.c (NaN): Likewise.
95469         * modules/isnand-nolibm (Depends-on): Add math.
95470         * modules/isnanf-nolibm (Depends-on): Likewise.
95471         * modules/isnanl (Depends-on): Likewise.
95472         * modules/isnanl-nolibm (Depends-on): Likewise.
95473         * modules/snprintf-posix-tests (Depends-on): Likewise.
95474         * modules/sprintf-posix-tests (Depends-on): Likewise.
95475         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
95476         * modules/vsprintf-posix-tests (Depends-on): Likewise.
95477         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
95478         * modules/vasprintf-posix-tests (Depends-on): Likewise.
95480 2008-03-31  Bruno Haible  <bruno@clisp.org>
95482         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
95483         * doc/posix-functions/strtod.texi: Likewise.
95485 2008-03-31  Bruno Haible  <bruno@clisp.org>
95487         * tests/test-strtod.c (main): Don't use C99 syntax.
95489 2008-03-31  Bruno Haible  <bruno@clisp.org>
95491         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
95492         Reported by Eric Blake.
95494 2008-03-31  Jim Meyering  <meyering@redhat.com>
95496         Don't compare actual signbit return values.
95497         * tests/test-strtod.c (main): Rather, compare only their
95498         zero/non-zero nature.
95500 2008-03-31  Eric Blake  <ebb9@byu.net>
95502         More strtod documentation.
95503         * doc/posix-functions/strtod.texi (strtod): Interpret more test
95504         failures as distinct bugs.
95506 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
95508         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
95509         Problem reported by Erik Benada in
95510         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
95512 2008-03-30  Bruno Haible  <bruno@clisp.org>
95514         * tests/test-strtod.c: Add comments about which assertion fails on which
95515         platform.
95516         * doc/posix-functions/strtod.texi: Add info about many more platforms.
95518 2008-03-30  Eric Blake  <ebb9@byu.net>
95520         Test signbit behavior on zeros.
95521         * tests/test-signbit.c (test_signbitf): Add tests for zero.
95522         (test_signbitd, test_signbitl): Likewise.
95524         More strtod touchups.
95525         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
95526         sign of negative underflow, for now.  Use .5, not .1.
95527         * doc/posix-functions/strtod.texi (strtod): Mention these
95528         limitations.
95529         Reported by Jim Meyering.
95531 2008-03-30  Bruno Haible  <bruno@clisp.org>
95533         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
95534         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
95536 2008-03-30  Bruno Haible  <bruno@clisp.org>
95538         Avoid failure when attempting to return empty iconv results on some
95539         platforms.
95540         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
95541         allocation, don't report ENOMEM when the resulting string is empty.
95543 2008-03-30  Bruno Haible  <bruno@clisp.org>
95545         Fix buffer overrun.
95546         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
95547         Don't consider the width for tmp_length. Check count against tmp_length
95548         before doing the padding. Ensure enough allocation during padding.
95550 2008-03-30  Eric Blake  <ebb9@byu.net>
95552         strtod touchups.
95553         * lib/strtod.c (strtod): Avoid compiler warnings.
95554         Reported by Jim Meyering.
95556 2008-03-30  Bruno Haible  <bruno@clisp.org>
95558         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
95559         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
95560         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
95561         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
95562         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
95563         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
95564         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
95565         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
95567         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
95568         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
95569         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
95570         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
95571         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
95572         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
95573         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
95574         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
95576         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
95577         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
95578         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
95579         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
95580         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
95581         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
95582         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
95583         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
95585         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
95586         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
95588         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
95589         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
95591         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
95592         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
95594         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
95595         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
95596         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
95598         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
95599         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
95600         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
95602         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
95603         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
95604         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
95606         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
95607         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
95608         * modules/vasprintf (Depends-on): Add EOVERFLOW.
95610         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
95611         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
95612         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
95613         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
95614         (Depends-on): Add EOVERFLOW.
95615         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
95616         (Depends-on): Add EOVERFLOW.
95617         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
95618         (Depends-on): Add EOVERFLOW.
95619         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
95620         (Depends-on): Add EOVERFLOW.
95621         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
95622         (Depends-on): Add EOVERFLOW.
95623         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
95624         (Depends-on): Add EOVERFLOW.
95625         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
95626         (Depends-on): Add EOVERFLOW.
95627         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
95628         (Depends-on): Add EOVERFLOW.
95630         * lib/sprintf.c (EOVERFLOW): Remove fallback.
95631         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
95632         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
95634         * lib/snprintf.c (EOVERFLOW): Remove fallback.
95635         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
95636         * modules/snprintf (Depends-on): Add EOVERFLOW.
95638         * lib/poll.c (EOVERFLOW): Remove fallback.
95639         * modules/poll (Depends-on): Add EOVERFLOW.
95641         * lib/getugroups.c (EOVERFLOW): Remove fallback.
95642         * modules/getugroups (Depends-on): Add EOVERFLOW.
95644         * lib/getdelim.c (EOVERFLOW): Remove fallback.
95645         * modules/getdelim (Depends-on): Add EOVERFLOW.
95647         * lib/ftell.c (EOVERFLOW): Remove fallback.
95648         * modules/ftell (Depends-on): Add EOVERFLOW.
95650         * lib/fprintf.c (EOVERFLOW): Remove fallback.
95651         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
95652         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
95654         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
95656         * modules/EOVERFLOW-tests: New file.
95657         * tests/test-EOVERFLOW.c: New file.
95659         * modules/EOVERFLOW: New file.
95660         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
95662 2008-03-30  Bruno Haible  <bruno@clisp.org>
95664         Fix bug introduced on 2007-06-10.
95665         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
95666         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
95668 2008-03-30  Bruno Haible  <bruno@clisp.org>
95670         Improve freadseek's efficiency after ungetc.
95671         * lib/freadseek.c: Include freadahead.h.
95672         (freadptrinc): New function, extracted from freadseek.
95673         (freadseek): Use it in a loop. Use freadahead to determine the number
95674         of loop iterations.
95675         * modules/freadseek (Depends-on): Add freadahead.
95676         (configure.ac): Require AC_C_INLINE.
95678 2008-03-30  Bruno Haible  <bruno@clisp.org>
95680         * lib/freadseek.c (freadseek): Don't ignore the return value of
95681         freadptr.
95683 2008-03-29  Eric Blake  <ebb9@byu.net>
95685         Add hex float support.
95686         * modules/strtod (Depends-on): Add c-ctype.
95687         (Link): Mention POW_LIB.
95688         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
95689         whitespace between 'e' and exponent.
95690         * tests/test-strtod.c (main): Enable hex float tests.
95691         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
95692         now provides.
95694         Document various strtod bugs, with some fixes.
95695         * doc/posix-functions/strtod.texi (strtod): Document bugs with
95696         "-0x", "inf", "nan", and hex constants.
95697         * doc/posix-functions/atof.texi (atof): Likewise.
95698         * modules/stdlib (Makefile.am): Support strtod.
95699         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
95700         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
95701         detect additional strtod bugs.
95702         * lib/stdlib.in.h (rpl_strtod): Add declarations.
95703         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
95704         bool where appropriate.  Parse 'inf' and 'nan'.
95705         * tests/test-strtod.c: New file.
95706         * modules/strtod (Depends-on): Add stdbool, stdlib.
95707         (configure.ac): Turn on module indicator.
95708         * modules/strtod-tests: New module.
95710 2008-03-29  Eric Blake  <ebb9@byu.net>
95712         Fix ftell on mingw.
95713         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
95714         * modules/ftell-tests (Depends-on): Add binary-io.
95715         * modules/ftello-tests (Depends-on): Likewise.
95716         * tests/test-ftell.c (main): Enhance test to cover behavior after
95717         ungetc.  Enforce binary mode.
95718         * tests/test-ftello.c (main): Likewise.
95720         Pass test-freadseek on cygwin.
95721         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
95722         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
95723         ungetc buffer.
95725         * tests/test-fflush2.c (main): Fix typo.
95727 2008-03-29  Bruno Haible  <bruno@clisp.org>
95729         * tests/test-fflush2.c (main): Temporarily disable the contents of
95730         this test.
95731         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
95732         Reported by Eric Blake.
95734 2008-03-28  Simon Josefsson  <simon@josefsson.org>
95736         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
95737         (GC_SHA224_DIGEST_SIZE): Add.
95739         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
95740         (gc_hash_digest_length): Likewise.
95741         (gc_hash_buffer): Likewise.
95743 2008-03-25  Bruno Haible  <bruno@clisp.org>
95745         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
95746         detail which gettext release to use.
95747         Reported by Simon Josefsson.
95749 2008-03-26  Jim Meyering  <meyering@redhat.com>
95751         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
95752         * modules/gnumakefile (clean-GNUmakefile): Also, use
95753         test ... && ... || : syntax rather than if-then ... fi.
95755         gnumakefile: Don't double-quote-expand $(VPATH) value.
95756         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
95758 2008-03-24  Eric Blake  <ebb9@byu.net>
95760         Alter GNUmakefile to install into top directory.
95761         * modules/maintainer-makefile: Split, and add dependency...
95762         * modules/gnumakefile: to this new module.
95763         * build-aux/GNUmakefile: Move...
95764         * top/GNUmakefile: ...here.
95765         * build-aux/maint.mk: Move...
95766         * top/maint.mk: ...here.
95767         * MODULES.html.sh (Support for maintaining...): Document new
95768         module.
95770 2008-03-23  Bruno Haible  <bruno@clisp.org>
95772         * gnulib-tool: New options --vc-files, --no-vc-files.
95773         (func_usage): Document them.
95774         (vc_files): New variable.
95775         (func_import): Consider vc_files.
95776         (func_create_testdir): Set vc_files to empty.
95777         Suggested by Jim Meyering and Karl Berry.
95779 2008-03-23  Bruno Haible  <bruno@clisp.org>
95781         Fix regex compilation error on HP-UX 11.
95782         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
95783         * modules/regex (Files): Add m4/mbstate_t.m4.
95784         Reported by Ton Voon <ton.voon@altinity.com>.
95786 2008-03-23  Bruno Haible  <bruno@clisp.org>
95788         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
95790 2008-03-23  Eric Blake  <ebb9@byu.net>
95791             Bruno Haible  <bruno@clisp.org>
95793         Install files from top/ in the destination directory.
95794         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
95795         augmentation also for the files from top/.
95796         (func_import, func_create_testdir): Rewrite file names:
95797         top/filename -> filename.
95799 2008-03-23  Bruno Haible  <bruno@clisp.org>
95801         Tweak "gnulib --version" output.
95802         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
95804 2008-03-23  Bruno Haible  <bruno@clisp.org>
95806         Tweak "gnulib --version" output.
95807         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
95808         rather than contents of ChangeLog, when possible.
95810 2008-03-21  Eric Blake  <ebb9@byu.net>
95812         More --version tweaks.
95813         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
95814         date of last ChangeLog entry.
95816 2008-03-21  Jim Meyering  <meyering@redhat.com>
95818         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
95820 2008-03-20  Eric Blake  <ebb9@byu.net>
95822         VPATH fix.
95823         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
95825 2008-03-20  Simon Josefsson  <simon@josefsson.org>
95827         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
95828         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
95830 2008-03-20  Eric Blake  <ebb9@byu.net>
95832         Sync GNUmakefile with coreutils.
95833         * build-aux/GNUmakefile (have-Makefile): Rename...
95834         (_have-Makefile): ...to this, for namespace consideration.
95835         (GNUmakefile.cfg): Include, if present.
95836         (_autoreconf): Define a default.
95837         (_is-dist-target): New rule for rebuilds to pick up intra-release
95838         version.
95839         (maint-cfg.mk): Rename...
95840         (cfg.mk): ...to this.
95842 2008-03-18  Jim Meyering  <meyering@redhat.com>
95844         New script and module: mktempd
95845         * MODULES.html.sh (maint+release support): Add mktempd.
95846         * build-aux/mktempd: New file.
95847         * modules/mktempd: New file.
95849 2008-03-15  Jim Meyering  <meyering@redhat.com>
95851         Undo last change.
95852         * lib/sha1.c, lib/md5.c: 63 != ~63.
95853         Reported by Andreas Schwab.
95855         sha1.c, md5.c: Hoist a redundant expression.
95856         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
95857         "ctx->buflen" only once, before calling *_process_block.
95858         * lib/md5.c (md5_process_bytes): Likewise.
95860 2008-03-14  Eric Blake  <ebb9@byu.net>
95862         Bump copyright year in files generated by gnulib-tool.
95863         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
95864         gnulib-tool, rather than hard-coding it.
95866         Fix 'gnulib-tool --version' output to work with git.
95867         * gnulib-tool (func_gnulib_dir): New function, extracted from...
95868         (startup): ...here.
95869         (func_version): Use it to invoke git-version-gen, rather than
95870         relying on CVS keyword expansion.  Modernize wording.
95871         (cvsdatestamp, last_checkin_date, version): Kill unused
95872         variables.
95874 2008-03-12  Jim Meyering  <meyering@redhat.com>
95876         Recognize optional cast of the argument to free.
95877         * build-aux/useless-if-before-free: Update regexps.
95879         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
95881 2008-03-11  Bruno Haible  <bruno@clisp.org>
95883         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
95884         by a single package.
95885         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
95886         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
95887         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
95888         Reported by Sam Steingold <sds@gnu.org>.
95890 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
95892         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
95893         repositories.
95895 2008-03-11  Bruno Haible  <bruno@clisp.org>
95897         Avoid conflicts between local macro definitions.
95898         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
95899         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
95901 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
95902             Bruno Haible  <bruno@clisp.org>
95904         Make va_copy work with some version of xlc on AIX 5.1.
95905         * lib/stdarg.in.h: New file.
95906         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
95907         On AIX, use a <stdarg.h> file substitute.
95908         * modules/stdarg (Files): Add lib/stdarg.in.h.
95909         (Depends-on): Add include_next.
95910         (Makefile.am): Build a stdarg.h substitute if requested.
95911         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
95913 2008-03-10  Bruno Haible  <bruno@clisp.org>
95915         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
95916         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
95917         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
95919 2008-03-10  Bruno Haible  <bruno@clisp.org>
95921         * modules/stdlib (Depends-on): Add include_next, remove
95922         absolute-header.
95924 2008-03-09  Bruno Haible  <bruno@clisp.org>
95926         * lib/freadahead.h (freadahead): Document more precisely.
95927         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
95928         the sum of both buffer sizes.
95929         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
95930         * NEWS: Document the change.
95932 2008-03-09  Bruno Haible  <bruno@clisp.org>
95934         Extend freadptr to return also the buffer size.
95935         * lib/freadptr.h (freadptr): Add sizep argument.
95936         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
95937         (freadptr): Add sizep argument. Determine buffer size like freadahead
95938         does.
95939         * tests/test-freadptr.c: Don't include freadahead.h.
95940         (main): Adapt for new calling convention of freadptr.
95941         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
95942         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
95943         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
95944         tests/test-freadptr2.sh.
95945         (Depends): Remove freadahead.
95946         (TESTS): Add test-freadptr2.sh.
95947         (check_PROGRAMS): Add test-freadptr2.
95949 2008-03-09  Bruno Haible  <bruno@clisp.org>
95951         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
95952         Report and solution by Simon Josefsson.
95954 2008-03-06  Bruno Haible  <bruno@clisp.org>
95956         Make fflush after ungetc work on BSD platforms.
95957         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
95958         * tests/test-fflush2.c: New file.
95959         * tests/test-fflush2.sh: New file.
95960         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
95961         tests/test-fflush2.c.
95962         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
95963         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
95965 2008-03-06  Eric Blake  <ebb9@byu.net>
95967         Likewise for ftello.
95968         * modules/ftello (Dependencies): Add extensions.
95969         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
95971 2008-03-06  Bruno Haible  <bruno@clisp.org>
95973         * modules/fseeko (Dependencies): Add extensions.
95974         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
95975         Needed on glibc systems.
95977 2008-03-06  Bruno Haible  <bruno@clisp.org>
95979         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
95980         email address.
95981         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
95983 2008-03-06  Bruno Haible  <bruno@clisp.org>
95985         * users.txt: Add libgnupdf.
95987 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
95989         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
95990         (Header File Substitutes, Function Substitutes,
95991         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
95992         (Build robot for gnulib): Fix typo.
95994 2008-03-06  Bruno Haible  <bruno@clisp.org>
95996         * doc/gnulib-tool.texi (VCS Issues): Small updates.
95997         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
95999 2008-03-06  Bruno Haible  <bruno@clisp.org>
96001         * doc/func.texi: New file, extracted from doc/gnulib.texi.
96002         * doc/gnulib.texi: Include it.
96004 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96006         * modules/func (License): Change license to unlimited; there was
96007         no LGPL parts in the module anyway.
96009 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96011         * modules/__func__: Renamed to modules/func.
96012         * modules/__func__-tests: Renamed to modules/func-tests.
96013         * tests/test-__func__.c: Renamed to tests/test-func.c.
96014         * m4/__func__.m4: Renamed to m4/func.m4.
96015         * doc/gnulib.texi (__func__): Section renamed to func.
96016         Suggested by Eric Blake <ebb9@byu.net>.
96018 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96020         * doc/gnulib.texi (__func__): Use C99 terminology when talking
96021         about __func__.  Make example self-contained.  Suggested by Eric
96022         Blake <ebb9@byu.net>.
96024         * tests/test-__func__.c (main): Avoid extraneous () around __func.
96025         Suggested by Eric Blake <ebb9@byu.net>.
96027 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96029         * modules/__func__: New file.
96030         * modules/__func__-tests: New file.
96031         * tests/test-__func__.c: New file.
96032         * m4/__func__.m4: New file.
96033         * doc/gnulib.texi (__func__): Document __func__ module.
96035 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96037         * modules/byteswap (License): Re-license as LGPLv2+.
96039 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96041         * doc/Makefile: Add pdf target.
96043 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96045         * modules/inline (License): Use 'unlimited', since there are only
96046         *.m4 files in this module.
96048 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96049             Bruno Haible  <bruno@clisp.org>
96051         Add support for HP C 7.1 on OpenVMS 8.3.
96052         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
96054 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96056         Update VMS specifics.
96057         * lib/getopt.c [VMS]: Remove include of unixlib.h.
96059 2008-03-02  Jim Meyering  <meyering@redhat.com>
96061         Remove the last dependency on the "free" module.
96062         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
96063         Reported by Bob Proulx.
96065         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
96067         Remove useless "if" tests before free.  Deprecate "free" module.
96068         * doc/posix-functions/free.texi: Mention that this
96069         module is no longer useful.
96070         * modules/free (Notice): Say this module is obsolete.
96071         * modules/readutmp (Depends-on): Remove free.
96072         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
96073         * lib/putenv.c (putenv): Likewise.
96074         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
96075         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
96076         * tests/test-c-strcasestr.c (main): Likewise.
96077         * tests/test-c-strstr.c (main): Likewise.
96078         * tests/test-mbscasestr1.c (main): Likewise.
96079         * tests/test-mbscasestr2.c (main): Likewise.
96080         * tests/test-mbsstr1.c (main): Likewise.
96081         * tests/test-mbsstr2.c (main): Likewise.
96082         * tests/test-memmem.c (main): Likewise.
96083         * tests/test-strcasestr.c (main): Likewise.
96084         * tests/test-striconv.c (main): Likewise.
96085         * tests/test-striconveh.c (main): Likewise.
96086         * tests/test-striconveha.c (main): Likewise.
96087         * tests/test-strstr.c (main): Likewise.
96089         * build-aux/git-version-gen: Adjust a comment and the Usage string.
96091         bootstrap: sync from coreutils again
96092         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
96094 2008-03-01  Jim Meyering  <meyering@redhat.com>
96096         bootstrap: sync from coreutils
96097         * build-aux/bootstrap (update_po_files): Copy a .po file into place
96098         also when the target doesn't exist.
96100 2008-03-01  Eric Blake  <ebb9@byu.net>
96102         Fix bugs in last patch.
96103         * lib/memchr2.c (memchr2): Fix typo.
96104         * tests/test-memchr2.c: Test previous bug, and don't use GNU
96105         extension.
96106         Reported by Bruce Korb.
96108         New module 'memchr2'.
96109         * modules/memchr2: New file.
96110         * modules/memchr2-tests: Likewise.
96111         * lib/memchr2.h: Likewise.
96112         * lib/memchr2.c: Likewise, based on memchr.c.
96113         * tests/test-memchr2.c: New test.
96114         * MODULES.html.sh (String handling): Add memchr2.
96116 2008-02-29  Bruno Haible  <bruno@clisp.org>
96118         * modules/freadseek-tests: New file.
96119         * tests/test-freadseek.sh: New file.
96120         * tests/test-freadseek.c: New file.
96122         New module 'freadseek'.
96123         * modules/freadseek: New file.
96124         * lib/freadseek.h: New file.
96125         * lib/freadseek.c: New file.
96126         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
96128 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
96130         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
96131         wydawca.
96133         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
96134         program_invocation_name and program_invocation_short_name are
96135         present.
96137 2008-02-28  Bruno Haible  <bruno@clisp.org>
96139         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
96140         * tests/test-freadptr.sh: Also test non-seekable stdin.
96142 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
96144         * build-aux/bootstrap (source_base, m4_base)
96145         (doc_base, tests_base): New variables.
96146         (gnulib_tool_options): Do not hardcode base directories, use
96147         the above variables instead.
96149 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
96151         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
96153 2008-02-28  Bruno Haible  <bruno@clisp.org>
96155         * modules/freadptr-tests: New file.
96156         * tests/test-freadptr.sh: New file.
96157         * tests/test-freadptr.c: New file.
96159         New module 'freadptr'.
96160         * modules/freadptr: New file.
96161         * lib/freadptr.h: New file.
96162         * lib/freadptr.c: New file.
96163         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
96165 2008-02-26  Karl Berry  <karl@freefriends.org>
96167         Sync from Libtool:
96168         * libltdl/argz.c (argz_add, argz_count): New functions.
96169         * libltdl/argz.in.h: Declare them.
96170         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
96172 2008-02-22  Bruno Haible  <bruno@clisp.org>
96174         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
96175         is a pointer type.  Needed for HP-UX 10.
96176         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
96177         * doc/posix-functions/gmtime_r.texi: Likewise.
96178         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96180 2008-02-24  Bruno Haible  <bruno@clisp.org>
96182         * modules/environ-tests: New file.
96183         * tests/test-environ.c: New file.
96185         New module 'environ'.
96186         * modules/environ: New file.
96187         * lib/unistd.in.h (environ): New declaration.
96188         * m4/environ.m4: New file.
96189         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
96190         after use.
96191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
96192         HAVE_DECL_ENVIRON.
96193         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
96194         HAVE_DECL_ENVIRON.
96195         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
96196         wrong claim that 'environ' is missing on some systems.
96197         * modules/execute (Depends-on): Add environ.
96198         * lib/execute.c (environ): Remove fallback declaration.
96199         * modules/pipe (Depends-on): Add environ.
96200         * lib/pipe.c (environ): Remove fallback declaration.
96201         * modules/setenv (Depends-on): Add environ.
96202         * lib/setenv.c (environ): Remove fallback declaration.
96203         * modules/unsetenv (Depends-on): Add environ.
96204         * lib/unsetenv.c (environ): Remove fallback declaration.
96205         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
96206         m4/environ.m4.
96207         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
96208         (gl_PREREQ_UNSETENV): Likewise.
96210 2008-02-24  Bruno Haible  <bruno@clisp.org>
96212         * doc/posix-functions/environ.texi: Document the MacOS X problem.
96214 2008-02-20  Bob Proulx  <bob@proulx.com>
96216         Enable use of older two part flavor 'git describe'.
96217         * build-aux/git-version-gen: If using the older two part flavor of
96218         git version then recreate the third part now present in the
96219         newer three part flavor of git describe.
96221 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
96223         * lib/fts.c (fts_build): Typo correction to comment.
96225 2008-02-17  Bruno Haible  <bruno@clisp.org>
96227         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
96228         generating no-op conflicts.
96230 2008-02-17  Bruno Haible  <bruno@clisp.org>
96232         Speed up by 10%.
96233         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
96234         result_entries, rather than an index-based loop.
96236 2008-02-17  Bruno Haible  <bruno@clisp.org>
96238         Speed up by 25%.
96239         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
96240         'hashcode_cached'.
96241         (entry_create): New function.
96242         (entry_hashcode): Use the cached hashcode if possible.
96243         (read_changelog_file, try_split_merged_entry): Use entry_create.
96245 2008-02-17  Bruno Haible  <bruno@clisp.org>
96247         Speed up from O(n^2) to O(n) for long ChangeLog files.
96248         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
96249         (read_changelog_file): Change implementation of entries_reversed list
96250         to rbtreehash.
96251         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
96253 2008-02-17  Bruno Haible  <bruno@clisp.org>
96255         New option --split-merged-entry.
96256         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
96257         (find_paragraph_end, try_split_merged_entry): New functions.
96258         (long_options): Add option --split-merged-entry.
96259         (usage): Document option --split-merged-entry.
96260         (main): Implement option --split-merged-entry.
96261         Reported by Eric Blake.
96263 2008-02-17  Bruno Haible  <bruno@clisp.org>
96265         * lib/git-merge-changelog.c: Include c-strstr.h.
96266         (main): Support the "git pull --rebase" situation.
96267         * modules/git-merge-changelog (Depends-on): Add c-strstr.
96268         Reported by Eric Blake.
96270 2008-02-16  Eric Blake  <ebb9@byu.net>
96272         Avoid doubling \ in common case of "c-maybe" quoting style.
96273         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
96274         eliding outer quotes.
96275         * lib/quotearg.h: Document this.
96276         * tests/test-quotearg.c (result_strings, inputs, results_g)
96277         (flag_results, locale_results): Test it by adding a new string to
96278         each test group.
96279         (compare_strings): Test new string.
96281 2008-02-13  Eric Blake  <ebb9@byu.net>
96283         Avoid trigraph quoting in default output.
96284         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
96285         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
96286         unless explicitly requested.
96287         * tests/test-quotearg.c (flag_results, main): Add additional tests.
96289 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
96291         Don't rely on signed integer overflowing to negative value.
96292         * lib/getugroups.c (getugroups): Include <limits.h>.
96293         Instead, compare against INT_MAX, and increment only if the test passes.
96295 2008-02-13  Jim Meyering  <meyering@redhat.com>
96296         and Eric Blake  <ebb9@byu.net>
96298         Avoid shadowing warning and compile errors on Linux.
96299         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
96300         forwarding macros on Linux.
96301         (dcgettext): Define a stub, for Linux.
96302         (results_g, main): Avoid warnings.
96304 2008-02-12  Eric Blake  <ebb9@byu.net>
96306         Silence warning in last patch.
96307         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
96309         Quotearg part 4: add tests, fix c-maybe colon quoting.
96310         * lib/quotearg.h: Improve documentation.
96311         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
96312         escapes when adding outer quotes.  When quoting trigraphs, use
96313         valid C notation.  When quoting NUL, omit extra characters if next
96314         character is not digit.  Alter prototype.
96315         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
96316         callers.
96317         * modules/quotearg-tests: New module.
96318         * tests/test-quotearg.c: New test.
96320 2008-02-07  Eric Blake  <ebb9@byu.net>
96322         Quotearg part 3: add flag to control outer quote elision.
96323         * lib/quotearg.h (c_maybe_quoting_style): New style.
96324         (enum quoting_flags): Better documentation of flags.
96325         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
96326         c-maybe style.
96327         (quotearg_buffer_restyled): Handle new flag to elide outer
96328         quotes.
96330         Quotearg part 2: add flag that can control NUL elision.
96331         * lib/quotearg.h (set_quoting_flags): New prototype.
96332         * lib/quotearg.c (struct quoting_options): Add flag field.
96333         (set_quoting_flags): New function.
96334         (quotearg_buffer_restyled): Add flags parameter.
96335         (quotearg_alloc_mem): Set the flag if length cannot be returned.
96336         (quotearg_n_options): Set the flag, since length cannot be
96337         returned.
96338         (quoting_options_from_style): Default flags correctly.
96340         Quotearg part 1: more wrappers, restore quotearg_char state.
96341         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
96342         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
96343         (quotearg_colon_mem): New wrappers.
96344         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
96345         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
96346         functions.
96347         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
96348         (quotearg_colon_mem): New functions.
96350 2008-02-11  Bruno Haible  <bruno@clisp.org>
96352         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
96353         library in the current directory: it does not work with parallel make.
96354         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96356 2008-02-11  Bruno Haible  <bruno@clisp.org>
96358         * .gitattributes: New file.
96360 2008-02-11  Jim Meyering  <meyering@redhat.com>
96362         useless-if-before-free: Fix reversed exit values.
96363         * build-aux/useless-if-before-free: Use correct values
96364         for EXIT_MATCH and EXIT_NO_MATCH.
96366         * build-aux/useless-if-before-free: Close stdout carefully.
96368 2008-02-10  Bruno Haible  <bruno@clisp.org>
96370         New module 'git-merge-changelog'.
96371         * modules/git-merge-changelog: New file.
96372         * lib/git-merge-changelog.c: New file.
96374 2008-02-10  Jim Meyering  <meyering@redhat.com>
96376         useless-if-before-free: New option: --list (-l).
96378         useless-if-before-free: Don't exit immediately upon open failure.
96379         * build-aux/useless-if-before-free: Exit 2 for errors.
96380         Upon failure to open a file, don't exit immediately.
96381         Rather, just warn and continue with any remaining files.
96383 2008-02-10  Bruno Haible  <bruno@clisp.org>
96385         New abstract list operation 'node_set_value'.
96386         * lib/gl_list.h (gl_list_node_set_value): New function.
96387         (struct gl_list_implementation): New field node_set_value.
96388         * lib/gl_list.c (gl_list_node_set_value): New function.
96389         * lib/gl_array_list.c (gl_array_node_set_value): New function.
96390         (gl_array_list_implementation): Update.
96391         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
96392         (gl_carray_list_implementation): Update.
96393         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
96394         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
96395         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
96396         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
96397         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
96398         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
96399         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
96400         Update.
96401         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
96402         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
96403         (gl_sublist_list_implementation): Update.
96405 2008-02-10  Bruno Haible  <bruno@clisp.org>
96407         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
96408         Needed when ELEMENT is #defined to 'some_type *'.
96410 2008-02-10  Jim Meyering  <meyering@redhat.com>
96412         New script and module: useless-if-before-free
96413         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
96414         * build-aux/useless-if-before-free: New file.
96415         * modules/useless-if-before-free: New file.
96417         * build-aux/gitlog-to-changelog: Use committer date, not author date.
96419         xstrtol_error: Fix typo.
96420         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
96421         s/exit_failure/exit_status/.
96423 2008-02-09  Jim Meyering  <meyering@redhat.com>
96425         New script and module: gitlog-to-changelog
96426         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
96427         * modules/gitlog-to-changelog: New file.
96428         * build-aux/gitlog-to-changelog: New file.
96430 2008-02-08  Jim Meyering  <meyering@redhat.com>
96432         Avoid two "parameter unused" warnings.
96433         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
96434         Mark "st" as used.
96436         Use "git COMMAND", not "git-COMMAND".
96437         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
96438         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
96439         * build-aux/git-version-gen: Use "git status", not "git-status".
96441 2008-02-07  Bruno Haible  <bruno@clisp.org>
96443         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
96444         Avoids a crash on Windows Vista.
96445         Reported by Adam Strzelecki <ono@java.pl> via
96446         Simon Josefsson <simon@josefsson.org>.
96448 2008-02-06  Bruno Haible  <bruno@clisp.org>
96450         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
96451         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
96452         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
96453         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
96454         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
96455         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
96456         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
96457         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
96458         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
96459         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
96460         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
96461         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
96462         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
96463         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
96464         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
96465         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
96466         left-adjust flag.
96467         * tests/test-snprintf-posix.h (test_function): Likewise.
96468         * tests/test-sprintf-posix.h (test_function): Likewise.
96469         * tests/test-vasprintf-posix.c (test_function): Likewise.
96470         * doc/posix-functions/fprintf.texi: Update.
96471         * doc/posix-functions/printf.texi: Update.
96472         * doc/posix-functions/snprintf.texi: Update.
96473         * doc/posix-functions/sprintf.texi: Update.
96474         * doc/posix-functions/vfprintf.texi: Update.
96475         * doc/posix-functions/vprintf.texi: Update.
96476         * doc/posix-functions/vsnprintf.texi: Update.
96477         * doc/posix-functions/vsprintf.texi: Update.
96478         Reported by Peter Fales <psfales@alcatel-lucent.com>.
96480 2008-02-06  Bruno Haible  <bruno@clisp.org>
96482         Fix bug introduced on 2008-01-26.
96483         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
96485 2008-02-06  Bruno Haible  <bruno@clisp.org>
96487         Fix bug introduced on 2007-06-10.
96488         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
96489         !NEED_PRINTF_FLAG_ZERO.
96491 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
96493         getloadavg: use libperfstat on AIX5
96494         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
96496 2008-02-03  Bruno Haible  <bruno@clisp.org>
96498         * lib/diffseq.h: Add comments about required #includes.
96499         Reported by Michael Biggs <gnulib@doubleplum.net>.
96501 2008-02-01  Bruno Haible  <bruno@clisp.org>
96503         * users.txt: Add gnuit.
96505 2008-01-31  Bruno Haible  <bruno@clisp.org>
96507         * lib/md4.c (set_uint32): Mark as inline.
96508         * lib/md5.c (set_uint32): Likewise.
96509         * lib/sha1.c (set_uint32): Likewise.
96510         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
96511         * m4/md5.m4 (gl_MD5): Likewise.
96512         * m4/sha1.m4 (gl_SHA1): Likewise.
96514 2008-01-31  Jim Meyering  <meyering@redhat.com>
96516         Use "sizeof VAR", rather than a literal "4".
96517         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
96518         * lib/md4.c (md4_read_ctx): Likewise.
96519         * lib/sha1.c (sha1_read_ctx): Likewise.
96521 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96523         * tests/test-sha1.c: New file, based on test-md5.c.
96525         * modules/crypto/sha1-tests: New file.
96527 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96529         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
96531 2008-01-31  Jim Meyering  <meyering@redhat.com>
96533         Prefer "sizeof v" over the equivalent "4".
96534         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
96535         * lib/md5.c (set_uint32): Likewise.
96536         * lib/sha1.c (set_uint32): Likewise.
96538 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96540         * lib/sha1.c (set_uint32): Mark function as static.
96542 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96544         md2: clarify comments to say that alignment is not required.
96545         * lib/md2.h: Remove warning about alignment in comment.
96546         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
96547         never been required.
96549 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96551         md4: adapt alignment constraint fix from sha1.
96552         * lib/md4.c (set_uint32): New function, from sha1.c
96553         (md4_read_ctx): Use it.
96554         (md4_finish_ctx): Doc fix.
96555         * lib/md4.h: Doc fix.
96557 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96559         md5: adapt alignment constraint fix from sha1.
96560         * lib/md5.c (set_uint32): New function, from sha1.c
96561         (md5_read_ctx): Use it.
96562         (md5_finish_ctx): Doc fix.
96563         * lib/md5.h: Doc fix.
96565 2008-01-30  Peter Palfrader  <weasel@debian.org>
96567         sha1: remove the result buffer alignment constraint
96568         * lib/sha1.c (set_uint32): New function.
96569         (sha1_read_ctx): Rewrite to remove the result buffer alignment
96570         constraint.
96571         (sha1_finish_ctx): Remove comment warning about alignment constraint.
96572         * lib/sha1.h: Likewise.
96574 2008-01-30  Andreas Schwab  <schwab@suse.de>
96575             Bruno Haible  <bruno@clisp.org>
96577         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
96578         correct definition of LDBL_MIN_EXP.
96580 2008-01-30  Karl Berry  <karl@gnu.org>
96582         * config/srclist-update: try to preserve x bit on updates.
96583         * config/srclistvars.sh: update for karl.
96585 2008-01-29  Jim Meyering  <meyering@redhat.com>
96587         vasnprintf.c: Avoid warning about unused label
96588         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
96589         "overflow" label definition and associated code with the
96590         same cpp condition that guards the sole use of that label.
96592 2008-01-26  Bruno Haible  <bruno@clisp.org>
96594         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
96595         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
96596         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
96597         * lib/isnanl-nolibm.h (isnanl): Likewise.
96598         Reported by Paul Eggert <eggert@cs.ucla.edu>.
96600 2008-01-26  Bruno Haible  <bruno@clisp.org>
96602         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
96603         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
96605 2008-01-26  Bruno Haible  <bruno@clisp.org>
96607         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
96608         GCC >= 4.0 built-in.
96609         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
96611 2008-01-26  Bruno Haible  <bruno@clisp.org>
96613         Rename isnan, applicable to 'double' only, to isnand.
96614         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
96615         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
96616         (configure.ac): Update.
96617         (Include): Replace "isnan.h" with "isnand.h".
96618         * m4/isnand.m4: Renamed from m4/isnan.m4.
96619         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
96620         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
96621         instead of isnan.c.
96622         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
96623         instead of HAVE_ISNAN_IN_LIBC.
96624         (isnand): Renamed from isnan.
96625         * lib/isnand.c: New file.
96626         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
96627         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
96628         (Makefile.am): Update.
96629         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
96630         Include isnand.h instead of isnan.h.
96631         (main): Test isnand instead of isnan.
96632         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
96633         isnan-nolibm.
96634         * modules/frexp (Depends-on): Likewise.
96635         * modules/frexp-tests (Depends-on): Likewise.
96636         * modules/frexp-nolibm (Depends-on): Likewise.
96637         * modules/frexp-nolibm-tests (Depends-on): Likewise.
96638         * modules/isfinite (Depends-on): Likewise.
96639         * modules/round-tests (Depends-on): Likewise.
96640         * modules/signbit (Depends-on): Likewise.
96641         * modules/signbit-tests (Depends-on): Likewise.
96642         * modules/snprintf-posix (Depends-on): Likewise.
96643         * modules/sprintf-posix (Depends-on): Likewise.
96644         * modules/trunc-tests (Depends-on): Likewise.
96645         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
96646         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
96647         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
96648         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
96649         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
96650         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
96651         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
96652         * modules/vasnprintf-posix (Depends-on): Likewise.
96653         * modules/vasprintf-posix (Depends-on): Likewise.
96654         * modules/vfprintf-posix (Depends-on): Likewise.
96655         * modules/vsnprintf-posix (Depends-on): Likewise.
96656         * modules/vsprintf-posix (Depends-on): Likewise.
96657         * lib/frexp.c: Include isnand.h instead of isnan.h.
96658         (ISNAN): Set to isnand instead of isnan.
96659         * lib/isfinite.c: Include isnand.h instead of isnan.h.
96660         (gl_isfinited): Use isnand instead of isnan.
96661         * lib/signbitd.c: Include isnand.h instead of isnan.h.
96662         (gl_signbitd): Use isnand instead of isnan.
96663         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
96664         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
96665         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
96666         (main): Use isnand instead of isnan.
96667         * tests/test-round1.c: Include isnand.h.
96668         (main): Use isnand instead of isnan.
96669         * tests/test-round2.c: Include isnand.h instead of isnan.h.
96670         (ISNAN): Set to isnand instead of isnan.
96671         * tests/test-trunc1.c: Include isnand.h.
96672         (main): Use isnand instead of isnan.
96673         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
96674         (equal): Use isnand instead of isnan.
96675         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
96676         isnand-nolibm.
96677         * NEWS: Mention the change.
96679 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
96680             Bruno Haible  <bruno@clisp.org>
96682         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
96683         the GCC builtins for signbits are present and set
96684         REPLACE_SIGNBIT_USING_GCC if so.
96685         * lib/math.in.h (signbit): Define using GCC builtins if
96686         REPLACE_SIGNBIT_USING_GCC is set.
96687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
96688         REPLACE_SIGNBIT_USING_GCC.
96689         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
96691 2008-01-25  Jim Meyering  <meyering@redhat.com>
96693         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
96694         * lib/poll.c: Include <config.h>, not "config.h".
96695         * tests/test-getaddrinfo.c: Likewise.
96697 2008-01-25  Simon Josefsson  <simon@josefsson.org>
96699         * modules/sockets-tests: New file.
96701 2008-01-24  Simon Josefsson  <simon@josefsson.org>
96703         * modules/sockets: New module, can be used to call WSA_Startup and
96704         WSA_Cleanup when needed.
96706         * lib/sockets.h, lib/sockets.c: New files.
96708         * m4/sockets.m4: New file.
96710         * tests/test-sockets.c: New file.
96712 2008-01-19  Bruno Haible  <bruno@clisp.org>
96714         * doc/posix-headers: Renamed from doc/headers.
96715         * doc/posix-functions: Renamed from doc/functions.
96716         * doc/gnulib.texi: Update.
96718 2008-01-19  Bruno Haible  <bruno@clisp.org>
96720         * doc/glibc-functions/strcasestr.texi: Include contents of
96721         doc/functions/strcasestr.texi, fixing the list of platforms.
96722         * doc/functions/strcasestr.texi: Remove file.
96724 2008-01-19  Bruno Haible  <bruno@clisp.org>
96726         * doc/glibc-functions/memmem.texi: Include contents of
96727         doc/functions/memmem.texi.
96728         * doc/functions/memmem.texi: Remove file.
96730 2008-01-18  Bruno Haible  <bruno@clisp.org>
96732         * doc/glibc-functions/*.texi: New files.
96733         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
96734         to use the new files.
96736 2008-01-17  Bruno Haible  <bruno@clisp.org>
96738         * tests/test-gethostname.c (main): Fix printf statement.
96740 2008-01-17  Simon Josefsson  <simon@josefsson.org>
96742         * modules/gethostname-tests: New file.
96744         * tests/test-gethostname.c: New file.
96746 2008-01-17  Simon Josefsson  <simon@josefsson.org>
96748         * lib/gethostname.c: Include string.h unconditionally, strncpy is
96749         used by the UNAME case.  Reported by Bruno Haible
96750         <bruno@clisp.org>.
96752 2008-01-17  Eric Blake  <ebb9@byu.net>
96754         Convert c-strcasestr to be more efficient.
96755         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
96756         (Depends-on): Add c-strcase, remove malloca, strnlen.
96757         * tests/test-c-strcasestr.c (main): Enhance test.
96758         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
96760 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
96762         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
96763         Use it in creating po/Makevars.
96765 2008-01-15  Simon Josefsson  <simon@josefsson.org>
96767         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
96768         Applications that requires it should initialize libgcrypt
96769         manually.
96771 2008-01-16  Simon Josefsson  <simon@josefsson.org>
96773         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
96775 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
96777         Fix problem with getdate on mingw32 reported by Simon Josefsson
96778         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
96779         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
96780         tzname", when deciding whether to declare tzname.
96781         * lib/strftime.c (tzname): Likewise.
96783 2008-01-15  Bruno Haible  <bruno@clisp.org>
96785         Work around a MacOS X 10.5 bug in frexpl().
96786         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
96787         * doc/functions/frexpl.texi: Document the bug.
96788         Reported by Elias Pipping <pipping@gentoo.org>.
96790 2008-01-14  Eric Blake  <ebb9@byu.net>
96792         Touch up previous patch.
96793         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
96794         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
96796         Convert strcasestr module to use Two-Way algorithm.
96797         * modules/strcasestr-simple: New module, based on the old
96798         strcasestr, but with Two-Way rather than KMP.
96799         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
96800         * lib/string.in.h (rpl_strcasestr): Declare.
96801         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
96802         performance.
96803         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
96804         * modules/string (Makefile.am): Support strcasestr.
96805         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
96806         * modules/strcasestr-tests (Depends-on): Check for alarm.
96807         * tests/test-strcasestr.c: Augment test.
96808         * lib/str-two-way.h: Clean up stray macro.
96809         * NEWS: Document new module.
96810         * MODULES.html.sh (string handling): Likewise.
96811         * doc/functions/strcasestr.texi: New file.
96812         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
96813         here, since it is not a POSIX function.
96815 2008-01-14  Colin Watson  <cjwatson@debian.org>
96816             Bruno Haible  <bruno@clisp.org>
96818         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
96819         works fine; if not, set REPLACE_STRSIGNAL.
96820         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
96821         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
96822         REPLACE_STRSIGNAL.
96823         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
96824         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
96825         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
96827 2008-01-14  Bruno Haible  <bruno@clisp.org>
96829         * modules/strsignal (Include): Change to <string.h>.
96831 2008-01-14  Colin Watson  <cjwatson@debian.org>
96833         * modules/argp (Notice): Add a notice recommending to change
96834         XGETTEXT_OPTIONS.
96835         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
96837 2008-01-13  Colin Watson  <cjwatson@debian.org>
96839         * modules/strsignal-tests: New file.
96840         * tests/test-strsignal.c: New file.
96842         * lib/strsignal.c: New file, from glibc with modifications.
96843         * lib/siglist.h: New file, from glibc with modifications.
96844         * lib/string.in.h (strsignal): New declaration.
96845         * m4/strsignal.m4: New file.
96846         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
96847         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
96848         * modules/strsignal: New file.
96849         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
96850         HAVE_DECL_STRSIGNAL.
96852 2008-01-13  Bruno Haible  <bruno@clisp.org>
96854         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
96855         locale encoding is not ASCII. Needed for OpenBSD 4.0.
96856         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
96857         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
96859 2008-01-13  Bruno Haible  <bruno@clisp.org>
96861         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
96862         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
96863         * lib/argp.h (__attribute__): Likewise.
96864         * lib/c-stack.c (__attribute__): Likewise.
96865         * lib/error.h (__attribute__): Likewise.
96866         * lib/fts.c (__attribute__): Likewise.
96867         * lib/openat.h (__attribute__): Likewise.
96868         * lib/stdio.in.h (__attribute__): Likewise.
96869         * lib/string.in.h (__attribute__): Likewise.
96870         * lib/utimens.c (__attribute__): Likewise.
96871         * lib/vasnprintf.h (__attribute__): Likewise.
96872         * lib/xalloc.h (__attribute__): Likewise.
96873         * lib/xprintf.h (__attribute__): Likewise.
96874         * lib/xstrtol.h (__attribute__): Likewise.
96875         * lib/xvasprintf.h (__attribute__): Likewise.
96877 2008-01-12  Bruno Haible  <bruno@clisp.org>
96879         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
96880         * doc/glibc-headers/a.out.texi: New file.
96881         * doc/glibc-headers/aliases.texi: New file.
96882         * doc/glibc-headers/alloca.texi: New file.
96883         * doc/glibc-headers/ar.texi: New file.
96884         * doc/glibc-headers/argp.texi: New file.
96885         * doc/glibc-headers/argz.texi: New file.
96886         * doc/glibc-headers/byteswap.texi: New file.
96887         * doc/glibc-headers/crypt.texi: New file.
96888         * doc/glibc-headers/endian.texi: New file.
96889         * doc/glibc-headers/envz.texi: New file.
96890         * doc/glibc-headers/err.texi: New file.
96891         * doc/glibc-headers/error.texi: New file.
96892         * doc/glibc-headers/execinfo.texi: New file.
96893         * doc/glibc-headers/fpu_control.texi: New file.
96894         * doc/glibc-headers/fstab.texi: New file.
96895         * doc/glibc-headers/fts.texi: New file.
96896         * doc/glibc-headers/getopt.texi: New file.
96897         * doc/glibc-headers/ieee754.texi: New file.
96898         * doc/glibc-headers/ifaddrs.texi: New file.
96899         * doc/glibc-headers/libintl.texi: New file.
96900         * doc/glibc-headers/mcheck.texi: New file.
96901         * doc/glibc-headers/mntent.texi: New file.
96902         * doc/glibc-headers/obstack.texi: New file.
96903         * doc/glibc-headers/paths.texi: New file.
96904         * doc/glibc-headers/printf.texi: New file.
96905         * doc/glibc-headers/pty.texi: New file.
96906         * doc/glibc-headers/resolv.texi: New file.
96907         * doc/glibc-headers/shadow.texi: New file.
96908         * doc/glibc-headers/sysexits.texi: New file.
96909         * doc/glibc-headers/ttyent.texi: New file.
96911 2008-01-12  Jim Meyering  <meyering@redhat.com>
96913         announce-gen: emit Gnulib's git-based version string.
96914         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
96915         New option --gnulib-version=V, where V is expected to be
96916         the output of running git describe in the gnulib directory.
96917         (get_tool_versions): Request feedback on xdelta.  I suspect it's
96918         not useful, and plan to stop publishing an xdelta file with each
96919         coreutils release.
96921         * build-aux/announce-gen: Also check for lzma-compressed files.
96923 2008-01-11  Bruno Haible  <bruno@clisp.org>
96925         * tests/test-memmem.c (main): Increase maximum allowed time.
96926         * tests/test-strstr.c (main): Likewise.
96928 2008-01-11  Bruno Haible  <bruno@clisp.org>
96930         * doc/functions/memmem.texi: Add more precisions about platforms.
96931         * doc/functions/strstr.texi: Likewise.
96933 2008-01-10  Eric Blake  <ebb9@byu.net>
96935         * m4/strstr.m4: Delete cruft from copy-n-paste.
96936         Reported by Bruno Haible.
96938 2008-01-10  Bruno Haible  <bruno@clisp.org>
96940         Make c-strstr rely on strstr.
96941         * lib/c-strstr.c: Don't include str-kmp.h.
96942         (c_strstr): Define in terms of strstr.
96943         * modules/c-strstr (Files): Remove lib/str-kmp.h.
96944         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
96946 2008-01-10  Bruno Haible  <bruno@clisp.org>
96948         * doc/gnulib.texi (String Functions in C Locale): New section.
96949         * doc/c-ctype.texi: New file.
96950         * doc/c-strcase.texi: New file.
96951         * doc/c-strcaseeq.texi: New file.
96952         * doc/c-strcasestr.texi: New file.
96953         * doc/c-strstr.texi: New file.
96954         * doc/c-strtod.texi: New file.
96955         * doc/c-strtold.texi: New file.
96957 2008-01-10  Eric Blake  <ebb9@byu.net>
96959         * lib/relocatable.h: Fix a comment.
96961 2008-01-10  Eric Blake  <ebb9@byu.net>
96963         Share two-way algorithm.
96964         * lib/str-two-way.h: New file, merged from...
96965         * lib/memmem.c: ...here...
96966         * lib/strstr.c: ...and here.
96967         * modules/memmem (Files): Use it.
96968         * modules/strstr (Files): Likewise.
96970         Avoid quadratic strstr implementations.
96971         * lib/strstr.c: New file.
96972         * m4/strstr.m4: Likewise.
96973         * modules/strstr: Likewise.
96974         * modules/strstr-tests: Likewise.
96975         * tests/test-strstr.c: Likewise.
96976         * lib/string.in.h (rpl_strstr): Declare.
96977         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
96978         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
96979         * modules/string (Makefile.am): Likewise.
96980         * MODULES.html.sh (string handling): Mention new module.
96981         * doc/functions/strstr.texi (strstr): Document the bug.
96983 2008-01-10  Bruno Haible  <bruno@clisp.org>
96985         * lib/relocatable.h (relocate): State whether result is freshly
96986         allocated or not.
96987         * lib/relocatable.c (relocate): Return a freshly allocated string
96988         instead of a pointer to a privately held string.
96989         Reported by Sylvain Beucler <beuc@gnu.org>.
96991 2008-01-10  Colin Watson  <cjwatson@debian.org>
96993         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
96994         s/S_ISNLK/S_ISLNK/.
96996 2008-01-09  Bruno Haible  <bruno@clisp.org>
96998         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
96999         and other files.
97000         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
97001         if it's only a guess.
97002         * modules/memmem: Simplify by depending on memmem-simple.
97004 2008-01-09  Bruno Haible  <bruno@clisp.org>
97006         Work around OpenBSD 4.0 tdelete() bug.
97007         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
97008         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
97009         macros and don't redefine the enum values.
97010         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
97011         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
97012         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
97014 2008-01-09  Bruno Haible  <bruno@clisp.org>
97016         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
97017         (main): Don't perform the tests if setlocale did not install a UTF-8
97018         locale. Needed on OpenBSD 4.0.
97019         * modules/wcwidth-tests (Depends-on): Add localcharset.
97021 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
97023         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
97024         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
97025         * NEWS: announce this.
97026         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
97028 2008-01-09  Simon Josefsson  <simon@josefsson.org>
97029         and Eric Blake  <ebb9@byu.net>
97031         Add memmem-simple module.
97032         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
97033         (gl_FUNC_MEMMEM): Separate performance from presence checks.
97034         * modules/memmem-simple: New file.
97035         * modules/memmem (Description): Tweak.
97036         * MODULES.html.sh (string handling): Mention new module.
97037         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
97038         addressed by memmem-simple.
97039         * NEWS: Document the difference.
97041 2008-01-09  Eric Blake  <ebb9@byu.net>
97043         Give gcc some memmem optimization hints.
97044         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
97045         (strcasestr): Declare as pure.
97046         * modules/memmem (Maintainer): Claim my implementation.
97048 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97050         Support AIX 6.1 and higher.
97051         * build-aux/config.libpath: Likewise.
97052         * build-aux/config.rpath: Likewise.
97054 2008-01-08  Jim Meyering  <meyering@redhat.com>
97055             Bruno Haible  <bruno@clisp.org>
97057         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
97058         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
97059         Reported by Peter Fales in
97060         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
97062 2008-01-08  Bruno Haible  <bruno@clisp.org>
97064         * modules/unictype/category-of (Depends-on): Add
97065         unictype/category-none.
97066         * modules/unictype/category-and-tests (Depends-on): Add
97067         unictype/category-{L,N,Lu,Nd}.
97068         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
97069         * modules/unictype/category-or-tests (Depends-on): Add
97070         unictype/category-{L,N}.
97071         * modules/unictype/category-name-tests (Depends-on): Add
97072         unictype/category-{Z,Nl}.
97073         Reported by Simon Josefsson.
97075 2008-01-08  Bruno Haible  <bruno@clisp.org>
97077         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
97078         convention better.
97079         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
97080         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
97081         Reported by Peter Miller <millerp@canb.auug.org.au>.
97083 2008-01-08  Eric Blake  <ebb9@byu.net>
97085         Rewrite memmem to guarantee linear complexity without malloc.
97086         * lib/memmem.c (memmem): Use Two-Way rather than
97087         Knuth-Morris-Pratt, to allow O(1) space usage.
97088         (critical_factorization, two_way_short_needle)
97089         (two_way_long_needle): New functions.
97090         (knuth_morris_pratt): Delete.
97091         * modules/memmem (Depends-on): No longer need malloca or stdbool.
97092         Add stdint.
97093         * tests/test-memmem.c (main): Add tests for periodic needle and
97094         sublinear performance.
97095         * doc/functions/memmem.texi (memmem): Document other deficiencies
97096         in cygwin and older glibc.
97098 2008-01-08  Bruno Haible  <bruno@clisp.org>
97100         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
97101         augmentation.
97103 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
97105         Add a configure time option: --disable-acl.
97106         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
97107         AC_ARG_ENABLE(acl).
97109 2008-01-06  Simon Josefsson  <simon@josefsson.org>
97111         * tests/test-localename.c: Don't include obsolete "setenv.h".
97113         * modules/localename-tests (Depends-on): Need unsetenv.
97115 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97117         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
97119 2008-01-06  Colin Watson  <cjwatson@debian.org>
97121         * users.txt: Add man-db.
97123 2008-01-07  Bruno Haible  <bruno@clisp.org>
97125         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
97126         previous section name.
97128 2008-01-07  Bruno Haible  <bruno@clisp.org>
97130         * lib/progname.c (set_program_name): Don't strip off a leading
97131         "lt-" prefix outside a .libs directory.
97132         Suggested by Paul Eggert.
97134 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
97135             Bruno Haible  <bruno@clisp.org>
97137         Improve memory cleanup in 'relocatable' module.
97138         * lib/relocatable.h (compute_curr_prefix): Change return type to
97139         'char *'.
97140         * lib/relocatable.c (compute_curr_prefix): Change return type to
97141         'char *'. Free curr_installdir after use.
97142         (relocate): Free curr_prefix_better after use.
97143         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
97145 2008-01-01  Bruno Haible  <bruno@clisp.org>
97147         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
97148         failure on older glibc systems.
97149         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97151 2008-01-05  Eric Blake  <ebb9@byu.net>
97153         Avoid quadratic system memmem.
97154         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
97155         Reported by Ralf Wildenhues.
97157         Fix memmem test for mingw.
97158         * modules/memmem-tests (configure.ac): Check for alarm.
97159         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
97160         it.
97161         * doc/functions/memmem.texi: New file.
97162         * doc/gnulib.texi (Function Substitutes): Add memmem.
97163         Reported by Bruno Haible.
97165 2008-01-04  Bruno Haible  <bruno@clisp.org>
97167         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
97168         Require gl_HEADER_STRINGS_H_DEFAULTS, not
97169         gl_HEADER_STRING_H_DEFAULTS.
97171 2008-01-04  Eric Blake  <ebb9@byu.net>
97173         Shorten duration of memmem test.
97174         * tests/test-memmem.c (main): Use alarm to declare failure if test
97175         is taking too long.
97176         Reported by Ralf Wildenhues.
97178 2007-12-21  Simon Josefsson  <simon@josefsson.org>
97180         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
97181         string, needed by strerror.
97183 2008-01-03  Colin Watson  <cjwatson@debian.org>
97184             Bruno Haible  <bruno@clisp.org>
97186         * doc/gnulib-tool.texi (Localization): New section.
97188 2008-01-02  Bruno Haible  <bruno@clisp.org>
97190         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
97191         variables to 'unsigned char *' type.
97192         Reported by Paul Eggert.
97194 2008-01-02  Jim Meyering  <jim@meyering.net>
97196         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
97198 2007-12-31  Jim Meyering  <jim@meyering.net>
97200         Avoid use of private FTS type name.
97201         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
97203 2007-12-30  Karl Berry  <karl@gnu.org>
97205         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
97206         work around defect in Texinfo and/or the standalone Info browser.
97208 2007-12-30  Bruno Haible  <bruno@clisp.org>
97210         Unify 5 copies of the KMP code.
97211         * lib/str-kmp.h: New file.
97212         * lib/c-strcasestr.c: Include str-kmp.h.
97213         (knuth_morris_pratt): Remove function.
97214         (c_strcasestr): Update.
97215         * lib/c-strstr.c: Include str-kmp.h.
97216         (knuth_morris_pratt): Remove function.
97217         (c_strcasestr): Update.
97218         * lib/mbscasestr.c: Include str-kmp.h.
97219         (knuth_morris_pratt_unibyte): Remove function.
97220         * lib/mbsstr.c: Include str-kmp.h.
97221         (knuth_morris_pratt_unibyte): Remove function.
97222         * lib/strcasestr.c: Include str-kmp.h.
97223         (knuth_morris_pratt): Remove function.
97224         (strcasestr): Update.
97225         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
97226         * modules/c-strstr (Files): Likewise.
97227         * modules/mbscasestr (Files): Likewise.
97228         * modules/mbsstr (Files): Likewise.
97229         * modules/strcasestr (Files): Likewise.
97230         Suggested by Paul Eggert.
97232 2007-12-30  Bruno Haible  <bruno@clisp.org>
97234         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
97235         defined.
97237 2007-12-30  Bruno Haible  <bruno@clisp.org>
97239         * lib/xmalloca.h: Include xalloc.h.
97240         (xnmalloca): New macro.
97242 2007-12-30  Bruno Haible  <bruno@clisp.org>
97244         * lib/malloca.h (nmalloca): New macro.
97245         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
97246         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
97247         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
97248         knuth_morris_pratt_multibyte): Likewise.
97249         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
97250         knuth_morris_pratt_multibyte): Likewise.
97251         * lib/memmem.c (knuth_morris_pratt): Likewise.
97252         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
97254 2007-12-25  Bruno Haible  <bruno@clisp.org>
97256         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
97257         * lib/glob.c: Don't include openat.h.
97258         (link_exists2_p): Add back the code that deals with the
97259         !GLOB_ALTDIRFUNC case.
97260         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
97261         let it do the filename concatenation.
97262         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
97263         * modules/glob (Depends-on): Remove openat.
97265 2007-12-31  Bruno Haible  <bruno@clisp.org>
97267         * modules/dirfd (License): Change to LGPLv2+.
97268         Approved by Jim Meyering.
97270 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
97272         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
97273         when multiplying M by sizeof (size_t).
97275 2007-12-10  Martin Lambers  <marlam@marlam.de>
97277         Override getpagesize on mingw.
97278         * lib/getpagesize.c: New file.
97279         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
97280         * modules/getpagesize (Files): Add lib/getpagesize.c.
97281         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
97282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
97283         REPLACE_GETPAGESIZE.
97284         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
97286 2007-12-25  Bruno Haible  <bruno@clisp.org>
97288         * modules/localcharset (Notice): New field.
97289         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
97290         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
97292 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
97293             Bruno Haible  <bruno@clisp.org>
97295         Avoid using the syntax symbol() in formatted documentation.
97296         * MODULES.html.sh (func_module): When replacing symbol() with a
97297         hyperlink, remove the parentheses. Show an error if some remain.
97298         Recognize and render the '...' syntax.
97299         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
97300         Rework. Add paragraph about GCC's inlining.
97301         * doc/alloca.texi: Likewise.
97302         * doc/error.texi: Remove parentheses from symbol reference.
97303         * doc/gnulib-intro.texi: Likewise.
97304         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
97305         * modules/fnmatch (Description): Reword to say "the ... function".
97306         * modules/full-read (Description): Likewise.
97307         * modules/full-write (Description): Likewise.
97308         * modules/safe-read (Description): Likewise.
97309         * modules/safe-write (Description): Likewise.
97310         * modules/strchrnul (Description): Likewise.
97311         * modules/trim (Description): Likewise.
97312         * modules/error (Description): Remove parentheses from symbol
97313         references.
97314         * modules/verror (Description): Likewise.
97315         Reported by Karl Berry.
97317 2007-12-25  Bruno Haible  <bruno@clisp.org>
97319         Fixup after 2007-10-16 commit.
97320         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
97322 2007-12-24  Bruno Haible  <bruno@clisp.org>
97324         Make --enable-relocatable work with DESTDIR.
97325         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
97326         to compute installdir from destprog.
97327         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
97328         also set the RELOC_DESTDIR variable.
97329         Reported by Левашев Иван <octagram@bluebottle.com>.
97331 2007-12-24  Bruno Haible  <bruno@clisp.org>
97333         Fix link error due to xalloc_die().
97334         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
97335         of xreadlink.
97336         * lib/relocwrapper.c: Update comments.
97337         * build-aux/install-reloc: Remove xreadlink.c from file list.
97338         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
97339         xreadlink.c.
97340         Reported by Левашев Иван <octagram@bluebottle.com>.
97342 2007-12-24  Bruno Haible  <bruno@clisp.org>
97344         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
97345         * lib/setenv.h: Remove file.
97346         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
97347         lib/setenv.h.
97348         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
97349         (Depends-on): Add stdlib.
97350         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
97351         gl_FUNC_UNSETENV.
97352         (Include): Replace setenv.h with <stdlib.h>.
97353         * modules/unsetenv: New file.
97354         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
97355         * lib/unsetenv.c: Include <stdlib.h> first.
97356         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
97357         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
97358         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
97359         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
97360         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
97361         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
97362         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
97363         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
97364         * doc/functions/unsetenv.texi: Update.
97365         * modules/xsetenv (Depends-on): Add unsetenv.
97366         * modules/getdate (Depends-on): Likewise.
97367         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
97368         * lib/xsetenv.c: Don't include setenv.h.
97369         * lib/getdate.y: Likewise.
97370         * lib/relocwrapper.c: Likewise.
97371         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
97372         (Depends-on): Add stdlib.
97373         * NEWS: Mention the changes.
97374         Reported by Левашев Иван <octagram@bluebottle.com>.
97376 2007-12-23  Bruno Haible  <bruno@clisp.org>
97378         * lib/memmem.c (memmem): Use lowercase variable names. Tab
97379         indentation.
97381 2007-12-23  Bruno Haible  <bruno@clisp.org>
97383         * lib/c-strcasestr.c: Add more comments.
97384         * lib/c-strstr.c: Likewise.
97385         * lib/mbscasestr.c: Likewise.
97386         * lib/mbsstr.c: Likewise.
97387         * lib/strcasestr.c: Likewise.
97388         * lib/memmem.c: Likewise.
97390 2007-12-23  Bruno Haible  <bruno@clisp.org>
97392         * tests/test-memmem.c: Include <string.h> first.
97394 2007-12-22  Bruno Haible  <bruno@clisp.org>
97396         * gnulib-tool (func_create_testdir): Change $auxdir while generating
97397         the contents of $testsbase.
97398         Reported by Ralf Wildenhues.
97400 2007-12-22  Bruno Haible  <bruno@clisp.org>
97402         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
97403         two variables local_ldadd_before, local_ldadd_last.
97405 2007-12-20  Eric Blake  <ebb9@byu.net>
97407         Work around circular library issue when cross-compiling.
97408         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
97409         that progname.o does not need to pull in rpl_memcmp.
97411 2007-12-19  Eric Blake  <ebb9@byu.net>
97413         Fix memmem to avoid O(n^2) worst-case complexity.
97414         * lib/memmem.c (knuth_morris_pratt): New function.
97415         (memmem): Use it if first few naive iterations fail.
97416         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
97417         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
97418         * modules/memchr (License): Likewise.
97419         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
97420         malloca.
97421         * tests/test-memmem.c: Rewrite, borrowing ideas from
97422         test-mbsstr1.c; the old version wouldn't even compile!
97423         * modules/memmem-tests: New file.
97424         * lib/string.in.h (rpl_memmem): Add declaration.
97425         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
97426         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
97427         REPLACE_MEMMEM.
97429 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
97431         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
97432         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
97433         before any system include files, and undef after them all.  This
97434         should fix a problem on VMS reported by John E. Malmberg in
97435         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
97437 2007-12-17  Eric Blake  <ebb9@byu.net>
97439         Revert addition of verify, for BSD/OS.
97440         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
97441         can't handle large files, for the sake of obsolete platforms.
97442         * modules/fseeko (Depends-on): Remove verify.
97443         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
97444         * doc/functions/ftello.texi (ftello): Likewise.
97445         * doc/functions/fgetpos.texi (fgetpos): Likewise.
97446         Reported by Larry Jones.
97448 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
97450         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
97451         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
97453 2007-12-17  Jim Meyering  <meyering@redhat.com>
97455         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
97456         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
97457         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
97458         * modules/getcwd (Depends-on): Add openat.
97459         Reported by Petr Salinger.
97461 2007-12-17  Bruno Haible  <bruno@clisp.org>
97463         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
97464         avoid a segmentation fault of the configure test on x86_64 systems.
97466 2007-12-15  Jim Meyering  <meyering@redhat.com>
97468         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
97470 2007-12-13  Eric Blake  <ebb9@byu.net>
97472         Another fseek test.
97473         * tests/test-fseek.c (main): Also test ungetc handling.
97474         * tests/test-fseeko.c (main): Likewise.
97475         * modules/fseeko (Depends-on): Add verify.
97476         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
97477         large.
97478         Reported by Larry Jones.
97480         Fix fseeko on mingw.
97481         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
97482         seek.
97484         Beef up fseek tests.
97485         * tests/test-fseek.c (main): Also test eof handling.
97486         * tests/test-fseeko.c (main): Likewise.
97487         Reported by Larry Jones.
97489 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
97491         Fix fseeko on BSD-based platforms.
97492         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
97493         successful seek.
97495 2007-12-12  Eric Blake  <ebb9@byu.net>
97497         Allow circular dependency of separate libtests.a
97498         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
97499         when use_libtests.
97501 2007-12-11  Eric Blake  <ebb9@byu.net>
97503         Fix bug with -0.0L in previous patch.
97504         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
97505         * tests/test-isnan.c (main): Also test on zeroes.
97506         * tests/test-isnanf.c (main): Likewise.
97507         * tests/test-isnanl.h (main): Likewise.
97509         Detect pseudo-denormals on x86 even when cross-compiling.
97510         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
97511         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
97512         invalid bit patterns that happen to satisfy ==.
97514         Avoid link failures with separate libtests.a.
97515         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
97516         last, to satisfy circular dependencies.
97518 2007-12-11  Eric Blake  <ebb9@byu.net>
97519         and Bruno Haible  <bruno@clisp.org>
97521         Fix OpenBSD 4.0 <float.h> handling of long double.
97522         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
97523         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
97524         * doc/headers/float.texi (float.h): Document OpenBSD bug.
97526 2007-12-11  Jim Meyering  <meyering@redhat.com>
97528         * users.txt: Add libvirt.
97530         Support versions of autoconf prior to 2.59c.
97531         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
97532         if it is not already defined.
97534 2007-12-09  Bruno Haible  <bruno@clisp.org>
97536         Let 'gnulib-tool --import' collect sources needed for the tests in
97537         tests/ rather than in lib/.
97538         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
97539         argument. If true, add rules to generate libtests.a, and put libtests.a
97540         into $(LDADD). Consider source files in subdirectories and set
97541         uses_subdirs.
97542         (func_emit_initmacro_start, func_emit_initmacro_end,
97543         func_emit_initmacro_done): Pass all arguments explicitly.
97544         (func_import): Determine two module lists main_modules,
97545         testsrelated_modules. Determine use_libtests. Determine two variables
97546         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
97547         instead of just sed_transform_lib_file. Determine two variables
97548         main_files and testsrelated_files. Compute 'files' as the union of
97549         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
97550         func_add_or_update. In the generated gnulib-comp.m4, collect the
97551         object files for tests/ in different variables than those for lib/.
97552         Substitute LIBTESTS_LIBDEPS.
97553         (func_create_testdir): Combine the uses_subdirs results from
97554         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
97556 2007-12-09  Bruno Haible  <bruno@clisp.org>
97558         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
97559         the build-aux directory.
97561 2007-12-09  Bruno Haible  <bruno@clisp.org>
97563         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
97564         introduced on 2006-09-09.
97566 2007-12-07  Jim Meyering  <meyering@redhat.com>
97568         Let these macros work also with autoconf-2.59.
97569         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
97570         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
97571         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
97573 2007-12-06  Jim Meyering  <meyering@redhat.com>
97575         Avoid a configure-time syntax error in gl_FUNC_ACL.
97576         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
97577         function in each branch, before testing the cache variable.
97579 2007-12-04  Eric Blake  <ebb9@byu.net>
97581         Make scripts executable.
97582         * build-aux/config.guess: Add execute permissions.
97583         * build-aux/config.sub: Likewise.
97584         * build-aux/gendocs.sh: Likewise.
97586         Fix frexp on mingw.
97587         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
97588         cross-compiling.
97589         * doc/functions/frexp.texi (frexp): Document the bug.
97591         Make cygwin fseeko check more reliable.
97592         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
97593         version numbers, rather than unrelated feature check.
97594         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
97595         * doc/functions/ftello.texi (ftello): Likewise.
97596         Reported by Bruno Haible.
97598         * m4/strerror.m4: Bump version number.
97600 2007-12-03  Bruno Haible  <bruno@clisp.org>
97602         * doc/functions/mprotect.texi: Mention the mingw problem.
97604 2007-12-03  Eric Blake  <ebb9@byu.net>
97606         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
97607         REPLACE_STRERROR is initialized before this macro.
97609 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
97611         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
97612         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
97613         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
97614         put -lsec in even for programs other than 'ls'.  This fixes a problem
97615         for gettext reported by Bruno Haible in
97616         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
97617         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
97618         Add support for Solaris 10.  This isn't efficient, but should get the
97619         job done for now.
97621 2007-12-03  James Youngman  <jay@gnu.org>
97623         * doc/regexprops-generic.texi: change "an close-group" to "a
97624         close-group" and "illegal" to "not allowed".
97626 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97628         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
97629         pr_byname.h. Needed for the rare case when the maintainer has done
97630         "make maintainer-clean" in the source directory and then attempts a
97631         build outside the source directory.
97632         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
97633         scripts_byname.h.
97635 2007-12-02  Martin Lambers  <marlam@marlam.de>
97636             Bruno Haible  <bruno@clisp.org>
97638         * lib/getpagesize.h: Remove file.
97639         * lib/unistd.in.h: Include declaration of getpagesize here.
97640         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
97641         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
97642         HAVE_SYS_PARAM_H.
97643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
97644         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
97645         * modules/getpagesize (Files): Remove lib/getpagesize.h.
97646         (Depends-on): Add unistd.
97647         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
97648         (Include): Use <unistd.h> instead of getpagesize.h.
97649         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
97650         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
97651         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
97652         gl_GETPAGESIZE invocation, already handled by module dependency.
97653         * lib/pagealign_alloc.c: Don't include getpagesize.h.
97655 2007-12-02  Bruno Haible  <bruno@clisp.org>
97657         * modules/strings-tests: New file.
97658         * tests/test-strings.c: New file.
97660         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
97661         * lib/strings.in.h: New file.
97662         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
97663         * m4/strings_h.m4: New file.
97664         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
97665         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
97666         * modules/strings: New file.
97667         * modules/string (Makefile.am): Update.
97668         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
97669         Reported by Karl Berry.
97671 2007-12-01  Eric Blake  <ebb9@byu.net>
97673         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
97674         accommodate fix in cygwin 1.5.25.
97676 2007-12-01  Jim Meyering  <meyering@redhat.com>
97678         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
97679         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
97680         that would inhibit utf8-optimization of a regexp containing line-
97681         or buffer-anchors, e.g., `^', `$'.
97683 2007-11-30  Bruno Haible  <bruno@clisp.org>
97685         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
97686         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
97687         glthread_recursive_lock_init.
97688         * lib/lock.c (glthread_recursive_lock_init)
97689         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
97690         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
97692 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
97694         New function qset_acl, like set_acl but with syscall semantics.
97695         * lib/acl.h (qset_acl): New decl.
97696         * lib/acl.c (qset_acl): New function.
97697         (set_acl): Use new function.  Use more-consistent diagnostics.
97699 2007-11-28  Jim Meyering  <meyering@redhat.com>
97701         * modules/physmem (License): Change from GPL to LGPLv2+.
97703 2007-11-26  Bruno Haible  <bruno@clisp.org>
97705         * lib/vasnprintf.c (decode_long_double): Don't abort if the
97706         'long double' type has excess precision.
97707         Reported by Jim Meyering in
97708         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
97710 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97712         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
97713         Sync from <http://gnu.org/licenses>.
97714         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
97715         with license text from same location.
97716         * doc/maintain.texi, doc/standards.texi:  Sync from
97717         <http://savannah.gnu.org/projects/gnustandards>.
97719 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
97720         and Jim Meyering  <meyering@redhat.com>
97722         Adjust getdate' grammar to accept a slightly more regular language.
97723         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
97724         Before, the former was rejected.
97725         * lib/getdate.y (digits_to_date_time): New function, factored
97726         out of ...
97727         (number): ...here.  Just call digits_to_date_time.
97728         (hybrid): New non-terminal to handle an <unsigned number,
97729         signed relative offset> sequence consistently.
97731 2007-11-18  Jim Meyering  <meyering@redhat.com>
97733         Pull my changes from coreutils:
97734         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
97735         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
97736         use of $gnulib_tool_option_extras, so that it's separated from the
97737         preceding argument.
97739         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
97740         * build-aux/bootstrap (cp_mark_as_generated): Create any required
97741         parent destination directories before copying a file into place.
97743 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
97745         bootstrap: work also with 4-argument variant of AC_INIT
97746         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
97748 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
97750         Port test-getaddrinfo to Solaris.
97751         Problem reported by Bruno Haible in
97752         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
97753         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
97754         explanation of setting 'hints'.
97755         Don't reject an implementation merely because it returns EAI_SERVICE.
97756         (EAI_SERVICE): Define to 0 if not defined.
97758 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
97760         The license of gnu-make and posix-shell is now "GPLed build tool".
97761         * modules/gnu-make (License): Likewise.
97762         * modules/posix-shell (License): Likewise.
97764         New module posix-shell, for determining a POSIX shell
97765         or perhaps something that is close enough to a POSIX shell.
97766         * m4/posix-shell.m4: New file.
97767         * modules/posix-shell: New file.
97769         * MODULES.html.sh: Mention new module.
97771         New module gnu-make, for determining whether we're using GNU Make.
97772         * m4/gnu-make.m4: New file.
97773         * modules/gnu-make: New file.
97774         * MODULES.html.sh: Mention new module.
97776 2007-11-14  Jim Meyering  <meyering@redhat.com>
97778         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
97779         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
97780         use this macro to create a function _definition_.
97781         Remove useless "#undef ARGMATCH_DIE".
97783 2007-11-14  Bruno Haible  <bruno@clisp.org>
97785         * lib/config.charset: Update for OpenBSD 4.1.
97786         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
97788 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
97790         Document 64-bit #if problems in stdint.texi.
97791         * doc/headers/stdint.texi (stdint.h): Mention problems with
97792         64-bit-#if, and how to work around them.
97794         Don't insist on 'long long int' support in the preprocessor.  It
97795         breaks too many things.  For example, PRIdMAX still uses a 'long
97796         long int' format with the latest Sun compiler, even though
97797         HAVE_LONG_LONG_INT isn't defined due to that compiler's
97798         preprocessor problem.  This causes the latest coreutils to dump
97799         core on Solaris 10 sparc with the Sun C compiler.
97800         Instead, fix the 2007-10-16 problem in a different way, by evaluating
97801         the troublesome expressions at configure-time, not at #if-time.
97802         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
97803         preprocessor.
97804         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
97805         compile-time C checks, done at 'configure'-time.
97806         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
97807         * modules/inttypes (Makefile): Substitute the new symbols that
97808         gl_INTTYPES_H now generates.
97809         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
97811 2007-11-12  Bruno Haible  <bruno@clisp.org>
97813         Tests for Unicode character classification functions.
97815         * modules/unictype/bidicategory-byname-tests: New file.
97816         * modules/unictype/bidicategory-name-tests: New file.
97817         * modules/unictype/bidicategory-of-tests: New file.
97818         * modules/unictype/bidicategory-test-tests: New file.
97819         * modules/unictype/block-list-tests: New file.
97820         * modules/unictype/block-of-tests: New file.
97821         * modules/unictype/block-test-tests: New file.
97822         * modules/unictype/category-C-tests: New file.
97823         * modules/unictype/category-Cc-tests: New file.
97824         * modules/unictype/category-Cf-tests: New file.
97825         * modules/unictype/category-Cn-tests: New file.
97826         * modules/unictype/category-Co-tests: New file.
97827         * modules/unictype/category-Cs-tests: New file.
97828         * modules/unictype/category-L-tests: New file.
97829         * modules/unictype/category-Ll-tests: New file.
97830         * modules/unictype/category-Lm-tests: New file.
97831         * modules/unictype/category-Lo-tests: New file.
97832         * modules/unictype/category-Lt-tests: New file.
97833         * modules/unictype/category-Lu-tests: New file.
97834         * modules/unictype/category-M-tests: New file.
97835         * modules/unictype/category-Mc-tests: New file.
97836         * modules/unictype/category-Me-tests: New file.
97837         * modules/unictype/category-Mn-tests: New file.
97838         * modules/unictype/category-N-tests: New file.
97839         * modules/unictype/category-Nd-tests: New file.
97840         * modules/unictype/category-Nl-tests: New file.
97841         * modules/unictype/category-No-tests: New file.
97842         * modules/unictype/category-P-tests: New file.
97843         * modules/unictype/category-Pc-tests: New file.
97844         * modules/unictype/category-Pd-tests: New file.
97845         * modules/unictype/category-Pe-tests: New file.
97846         * modules/unictype/category-Pf-tests: New file.
97847         * modules/unictype/category-Pi-tests: New file.
97848         * modules/unictype/category-Po-tests: New file.
97849         * modules/unictype/category-Ps-tests: New file.
97850         * modules/unictype/category-S-tests: New file.
97851         * modules/unictype/category-Sc-tests: New file.
97852         * modules/unictype/category-Sk-tests: New file.
97853         * modules/unictype/category-Sm-tests: New file.
97854         * modules/unictype/category-So-tests: New file.
97855         * modules/unictype/category-Z-tests: New file.
97856         * modules/unictype/category-Zl-tests: New file.
97857         * modules/unictype/category-Zp-tests: New file.
97858         * modules/unictype/category-Zs-tests: New file.
97859         * modules/unictype/category-and-not-tests: New file.
97860         * modules/unictype/category-and-tests: New file.
97861         * modules/unictype/category-byname-tests: New file.
97862         * modules/unictype/category-name-tests: New file.
97863         * modules/unictype/category-none-tests: New file.
97864         * modules/unictype/category-of-tests: New file.
97865         * modules/unictype/category-or-tests: New file.
97866         * modules/unictype/category-test-withtable-tests: New file.
97867         * modules/unictype/combining-class-tests: New file.
97868         * modules/unictype/ctype-alnum-tests: New file.
97869         * modules/unictype/ctype-alpha-tests: New file.
97870         * modules/unictype/ctype-blank-tests: New file.
97871         * modules/unictype/ctype-cntrl-tests: New file.
97872         * modules/unictype/ctype-digit-tests: New file.
97873         * modules/unictype/ctype-graph-tests: New file.
97874         * modules/unictype/ctype-lower-tests: New file.
97875         * modules/unictype/ctype-print-tests: New file.
97876         * modules/unictype/ctype-punct-tests: New file.
97877         * modules/unictype/ctype-space-tests: New file.
97878         * modules/unictype/ctype-upper-tests: New file.
97879         * modules/unictype/ctype-xdigit-tests: New file.
97880         * modules/unictype/decimal-digit-tests: New file.
97881         * modules/unictype/digit-tests: New file.
97882         * modules/unictype/mirror-tests: New file.
97883         * modules/unictype/numeric-tests: New file.
97884         * modules/unictype/property-alphabetic-tests: New file.
97885         * modules/unictype/property-ascii-hex-digit-tests: New file.
97886         * modules/unictype/property-bidi-arabic-digit-tests: New file.
97887         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
97888         * modules/unictype/property-bidi-block-separator-tests: New file.
97889         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
97890         * modules/unictype/property-bidi-common-separator-tests: New file.
97891         * modules/unictype/property-bidi-control-tests: New file.
97892         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
97893         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
97894         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
97895         * modules/unictype/property-bidi-european-digit-tests: New file.
97896         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
97897         * modules/unictype/property-bidi-left-to-right-tests: New file.
97898         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
97899         * modules/unictype/property-bidi-other-neutral-tests: New file.
97900         * modules/unictype/property-bidi-pdf-tests: New file.
97901         * modules/unictype/property-bidi-segment-separator-tests: New file.
97902         * modules/unictype/property-bidi-whitespace-tests: New file.
97903         * modules/unictype/property-byname-tests: New file.
97904         * modules/unictype/property-combining-tests: New file.
97905         * modules/unictype/property-composite-tests: New file.
97906         * modules/unictype/property-currency-symbol-tests: New file.
97907         * modules/unictype/property-dash-tests: New file.
97908         * modules/unictype/property-decimal-digit-tests: New file.
97909         * modules/unictype/property-default-ignorable-code-point-tests: New file.
97910         * modules/unictype/property-deprecated-tests: New file.
97911         * modules/unictype/property-diacritic-tests: New file.
97912         * modules/unictype/property-extender-tests: New file.
97913         * modules/unictype/property-format-control-tests: New file.
97914         * modules/unictype/property-grapheme-base-tests: New file.
97915         * modules/unictype/property-grapheme-extend-tests: New file.
97916         * modules/unictype/property-grapheme-link-tests: New file.
97917         * modules/unictype/property-hex-digit-tests: New file.
97918         * modules/unictype/property-hyphen-tests: New file.
97919         * modules/unictype/property-id-continue-tests: New file.
97920         * modules/unictype/property-id-start-tests: New file.
97921         * modules/unictype/property-ideographic-tests: New file.
97922         * modules/unictype/property-ids-binary-operator-tests: New file.
97923         * modules/unictype/property-ids-trinary-operator-tests: New file.
97924         * modules/unictype/property-ignorable-control-tests: New file.
97925         * modules/unictype/property-iso-control-tests: New file.
97926         * modules/unictype/property-join-control-tests: New file.
97927         * modules/unictype/property-left-of-pair-tests: New file.
97928         * modules/unictype/property-line-separator-tests: New file.
97929         * modules/unictype/property-logical-order-exception-tests: New file.
97930         * modules/unictype/property-lowercase-tests: New file.
97931         * modules/unictype/property-math-tests: New file.
97932         * modules/unictype/property-non-break-tests: New file.
97933         * modules/unictype/property-not-a-character-tests: New file.
97934         * modules/unictype/property-numeric-tests: New file.
97935         * modules/unictype/property-other-alphabetic-tests: New file.
97936         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
97937         * modules/unictype/property-other-grapheme-extend-tests: New file.
97938         * modules/unictype/property-other-id-continue-tests: New file.
97939         * modules/unictype/property-other-id-start-tests: New file.
97940         * modules/unictype/property-other-lowercase-tests: New file.
97941         * modules/unictype/property-other-math-tests: New file.
97942         * modules/unictype/property-other-uppercase-tests: New file.
97943         * modules/unictype/property-paired-punctuation-tests: New file.
97944         * modules/unictype/property-paragraph-separator-tests: New file.
97945         * modules/unictype/property-pattern-syntax-tests: New file.
97946         * modules/unictype/property-pattern-white-space-tests: New file.
97947         * modules/unictype/property-private-use-tests: New file.
97948         * modules/unictype/property-punctuation-tests: New file.
97949         * modules/unictype/property-quotation-mark-tests: New file.
97950         * modules/unictype/property-radical-tests: New file.
97951         * modules/unictype/property-sentence-terminal-tests: New file.
97952         * modules/unictype/property-soft-dotted-tests: New file.
97953         * modules/unictype/property-space-tests: New file.
97954         * modules/unictype/property-terminal-punctuation-tests: New file.
97955         * modules/unictype/property-test-tests: New file.
97956         * modules/unictype/property-titlecase-tests: New file.
97957         * modules/unictype/property-unassigned-code-value-tests: New file.
97958         * modules/unictype/property-unified-ideograph-tests: New file.
97959         * modules/unictype/property-uppercase-tests: New file.
97960         * modules/unictype/property-variation-selector-tests: New file.
97961         * modules/unictype/property-white-space-tests: New file.
97962         * modules/unictype/property-xid-continue-tests: New file.
97963         * modules/unictype/property-xid-start-tests: New file.
97964         * modules/unictype/property-zero-width-tests: New file.
97965         * modules/unictype/scripts-tests: New file.
97966         * modules/unictype/syntax-c-ident-tests: New file.
97967         * modules/unictype/syntax-c-whitespace-tests: New file.
97968         * modules/unictype/syntax-java-ident-tests: New file.
97969         * modules/unictype/syntax-java-whitespace-tests: New file.
97970         * tests/unictype/test-bidi_byname.c: New file.
97971         * tests/unictype/test-bidi_name.c: New file.
97972         * tests/unictype/test-bidi_of.c: New file.
97973         * tests/unictype/test-bidi_test.c: New file.
97974         * tests/unictype/test-block_list.c: New file.
97975         * tests/unictype/test-block_of.c: New file.
97976         * tests/unictype/test-block_test.c: New file.
97977         * tests/unictype/test-categ_and.c: New file.
97978         * tests/unictype/test-categ_and_not.c: New file.
97979         * tests/unictype/test-categ_byname.c: New file.
97980         * tests/unictype/test-categ_name.c: New file.
97981         * tests/unictype/test-categ_none.c: New file.
97982         * tests/unictype/test-categ_of.c: New file.
97983         * tests/unictype/test-categ_or.c: New file.
97984         * tests/unictype/test-categ_test_withtable.c: New file.
97985         * tests/unictype/test-combining.c: New file.
97986         * tests/unictype/test-decdigit.c: New file.
97987         * tests/unictype/test-digit.c: New file.
97988         * tests/unictype/test-mirror.c: New file.
97989         * tests/unictype/test-numeric.c: New file.
97990         * tests/unictype/test-pr_byname.c: New file.
97991         * tests/unictype/test-pr_test.c: New file.
97992         * tests/unictype/test-predicate-part1.h: New file.
97993         * tests/unictype/test-predicate-part2.h: New file.
97994         * tests/unictype/test-scripts.c: New file.
97995         * tests/unictype/test-sy_c_ident.c: New file.
97996         * tests/unictype/test-sy_java_ident.c: New file.
97998         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
97999         for Unicode 5.0.0.
98000         * tests/unictype/test-categ_Cc.c: Likewise.
98001         * tests/unictype/test-categ_Cf.c: Likewise.
98002         * tests/unictype/test-categ_Cn.c: Likewise.
98003         * tests/unictype/test-categ_Co.c: Likewise.
98004         * tests/unictype/test-categ_Cs.c: Likewise.
98005         * tests/unictype/test-categ_L.c: Likewise.
98006         * tests/unictype/test-categ_Ll.c: Likewise.
98007         * tests/unictype/test-categ_Lm.c: Likewise.
98008         * tests/unictype/test-categ_Lo.c: Likewise.
98009         * tests/unictype/test-categ_Lt.c: Likewise.
98010         * tests/unictype/test-categ_Lu.c: Likewise.
98011         * tests/unictype/test-categ_M.c: Likewise.
98012         * tests/unictype/test-categ_Mc.c: Likewise.
98013         * tests/unictype/test-categ_Me.c: Likewise.
98014         * tests/unictype/test-categ_Mn.c: Likewise.
98015         * tests/unictype/test-categ_N.c: Likewise.
98016         * tests/unictype/test-categ_Nd.c: Likewise.
98017         * tests/unictype/test-categ_Nl.c: Likewise.
98018         * tests/unictype/test-categ_No.c: Likewise.
98019         * tests/unictype/test-categ_P.c: Likewise.
98020         * tests/unictype/test-categ_Pc.c: Likewise.
98021         * tests/unictype/test-categ_Pd.c: Likewise.
98022         * tests/unictype/test-categ_Pe.c: Likewise.
98023         * tests/unictype/test-categ_Pf.c: Likewise.
98024         * tests/unictype/test-categ_Pi.c: Likewise.
98025         * tests/unictype/test-categ_Po.c: Likewise.
98026         * tests/unictype/test-categ_Ps.c: Likewise.
98027         * tests/unictype/test-categ_S.c: Likewise.
98028         * tests/unictype/test-categ_Sc.c: Likewise.
98029         * tests/unictype/test-categ_Sk.c: Likewise.
98030         * tests/unictype/test-categ_Sm.c: Likewise.
98031         * tests/unictype/test-categ_So.c: Likewise.
98032         * tests/unictype/test-categ_Z.c: Likewise.
98033         * tests/unictype/test-categ_Zl.c: Likewise.
98034         * tests/unictype/test-categ_Zp.c: Likewise.
98035         * tests/unictype/test-categ_Zs.c: Likewise.
98036         * tests/unictype/test-ctype_alnum.c: Likewise.
98037         * tests/unictype/test-ctype_alpha.c: Likewise.
98038         * tests/unictype/test-ctype_blank.c: Likewise.
98039         * tests/unictype/test-ctype_cntrl.c: Likewise.
98040         * tests/unictype/test-ctype_digit.c: Likewise.
98041         * tests/unictype/test-ctype_graph.c: Likewise.
98042         * tests/unictype/test-ctype_lower.c: Likewise.
98043         * tests/unictype/test-ctype_print.c: Likewise.
98044         * tests/unictype/test-ctype_punct.c: Likewise.
98045         * tests/unictype/test-ctype_space.c: Likewise.
98046         * tests/unictype/test-ctype_upper.c: Likewise.
98047         * tests/unictype/test-ctype_xdigit.c: Likewise.
98048         * tests/unictype/test-decdigit.h: Likewise.
98049         * tests/unictype/test-digit.h: Likewise.
98050         * tests/unictype/test-numeric.h: Likewise.
98051         * tests/unictype/test-pr_alphabetic.c: Likewise.
98052         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
98053         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
98054         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
98055         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
98056         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
98057         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
98058         * tests/unictype/test-pr_bidi_control.c: Likewise.
98059         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
98060         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
98061         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
98062         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
98063         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
98064         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
98065         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
98066         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
98067         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
98068         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
98069         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
98070         * tests/unictype/test-pr_combining.c: Likewise.
98071         * tests/unictype/test-pr_composite.c: Likewise.
98072         * tests/unictype/test-pr_currency_symbol.c: Likewise.
98073         * tests/unictype/test-pr_dash.c: Likewise.
98074         * tests/unictype/test-pr_decimal_digit.c: Likewise.
98075         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
98076         * tests/unictype/test-pr_deprecated.c: Likewise.
98077         * tests/unictype/test-pr_diacritic.c: Likewise.
98078         * tests/unictype/test-pr_extender.c: Likewise.
98079         * tests/unictype/test-pr_format_control.c: Likewise.
98080         * tests/unictype/test-pr_grapheme_base.c: Likewise.
98081         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
98082         * tests/unictype/test-pr_grapheme_link.c: Likewise.
98083         * tests/unictype/test-pr_hex_digit.c: Likewise.
98084         * tests/unictype/test-pr_hyphen.c: Likewise.
98085         * tests/unictype/test-pr_id_continue.c: Likewise.
98086         * tests/unictype/test-pr_id_start.c: Likewise.
98087         * tests/unictype/test-pr_ideographic.c: Likewise.
98088         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
98089         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
98090         * tests/unictype/test-pr_ignorable_control.c: Likewise.
98091         * tests/unictype/test-pr_iso_control.c: Likewise.
98092         * tests/unictype/test-pr_join_control.c: Likewise.
98093         * tests/unictype/test-pr_left_of_pair.c: Likewise.
98094         * tests/unictype/test-pr_line_separator.c: Likewise.
98095         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
98096         * tests/unictype/test-pr_lowercase.c: Likewise.
98097         * tests/unictype/test-pr_math.c: Likewise.
98098         * tests/unictype/test-pr_non_break.c: Likewise.
98099         * tests/unictype/test-pr_not_a_character.c: Likewise.
98100         * tests/unictype/test-pr_numeric.c: Likewise.
98101         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
98102         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
98103         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
98104         * tests/unictype/test-pr_other_id_continue.c: Likewise.
98105         * tests/unictype/test-pr_other_id_start.c: Likewise.
98106         * tests/unictype/test-pr_other_lowercase.c: Likewise.
98107         * tests/unictype/test-pr_other_math.c: Likewise.
98108         * tests/unictype/test-pr_other_uppercase.c: Likewise.
98109         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
98110         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
98111         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
98112         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
98113         * tests/unictype/test-pr_private_use.c: Likewise.
98114         * tests/unictype/test-pr_punctuation.c: Likewise.
98115         * tests/unictype/test-pr_quotation_mark.c: Likewise.
98116         * tests/unictype/test-pr_radical.c: Likewise.
98117         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
98118         * tests/unictype/test-pr_soft_dotted.c: Likewise.
98119         * tests/unictype/test-pr_space.c: Likewise.
98120         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
98121         * tests/unictype/test-pr_titlecase.c: Likewise.
98122         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
98123         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
98124         * tests/unictype/test-pr_uppercase.c: Likewise.
98125         * tests/unictype/test-pr_variation_selector.c: Likewise.
98126         * tests/unictype/test-pr_white_space.c: Likewise.
98127         * tests/unictype/test-pr_xid_continue.c: Likewise.
98128         * tests/unictype/test-pr_xid_start.c: Likewise.
98129         * tests/unictype/test-pr_zero_width.c: Likewise.
98130         * tests/unictype/test-sy_c_whitespace.c: Likewise.
98131         * tests/unictype/test-sy_java_whitespace.c: Likewise.
98133 2007-11-12  Bruno Haible  <bruno@clisp.org>
98135         Unicode character classification functions.
98136         * lib/unictype.h: New file.
98137         * modules/unictype/base: New file.
98138         * modules/unictype/category-L: New file.
98139         * modules/unictype/category-Lu: New file.
98140         * modules/unictype/category-Ll: New file.
98141         * modules/unictype/category-Lt: New file.
98142         * modules/unictype/category-Lm: New file.
98143         * modules/unictype/category-Lo: New file.
98144         * modules/unictype/category-M: New file.
98145         * modules/unictype/category-Mn: New file.
98146         * modules/unictype/category-Mc: New file.
98147         * modules/unictype/category-Me: New file.
98148         * modules/unictype/category-N: New file.
98149         * modules/unictype/category-Nd: New file.
98150         * modules/unictype/category-Nl: New file.
98151         * modules/unictype/category-No: New file.
98152         * modules/unictype/category-P: New file.
98153         * modules/unictype/category-Pc: New file.
98154         * modules/unictype/category-Pd: New file.
98155         * modules/unictype/category-Ps: New file.
98156         * modules/unictype/category-Pe: New file.
98157         * modules/unictype/category-Pi: New file.
98158         * modules/unictype/category-Pf: New file.
98159         * modules/unictype/category-Po: New file.
98160         * modules/unictype/category-S: New file.
98161         * modules/unictype/category-Sm: New file.
98162         * modules/unictype/category-Sc: New file.
98163         * modules/unictype/category-Sk: New file.
98164         * modules/unictype/category-So: New file.
98165         * modules/unictype/category-Z: New file.
98166         * modules/unictype/category-Zs: New file.
98167         * modules/unictype/category-Zl: New file.
98168         * modules/unictype/category-Zp: New file.
98169         * modules/unictype/category-C: New file.
98170         * modules/unictype/category-Cc: New file.
98171         * modules/unictype/category-Cf: New file.
98172         * modules/unictype/category-Cs: New file.
98173         * modules/unictype/category-Co: New file.
98174         * modules/unictype/category-Cn: New file.
98175         * modules/unictype/category-or: New file.
98176         * modules/unictype/category-of: New file.
98177         * modules/unictype/category-test: New file.
98178         * modules/unictype/category-test-withtable: New file.
98179         * modules/unictype/category-byname: New file.
98180         * modules/unictype/category-none: New file.
98181         * modules/unictype/category-and: New file.
98182         * modules/unictype/category-and-not: New file.
98183         * modules/unictype/category-name: New file.
98184         * modules/unictype/combining-class: New file.
98185         * modules/unictype/category-all: New file.
98186         * modules/unictype/bidicategory-all: New file.
98187         * modules/unictype/bidicategory-byname: New file.
98188         * modules/unictype/bidicategory-name: New file.
98189         * modules/unictype/bidicategory-of: New file.
98190         * modules/unictype/bidicategory-test: New file.
98191         * modules/unictype/decimal-digit: New file.
98192         * modules/unictype/digit: New file.
98193         * modules/unictype/numeric: New file.
98194         * modules/unictype/mirror: New file.
98195         * modules/unictype/property-white-space: New file.
98196         * modules/unictype/property-alphabetic: New file.
98197         * modules/unictype/property-other-alphabetic: New file.
98198         * modules/unictype/property-not-a-character: New file.
98199         * modules/unictype/property-default-ignorable-code-point: New file.
98200         * modules/unictype/property-other-default-ignorable-code-point: New
98201         file.
98202         * modules/unictype/property-deprecated: New file.
98203         * modules/unictype/property-logical-order-exception: New file.
98204         * modules/unictype/property-variation-selector: New file.
98205         * modules/unictype/property-private-use: New file.
98206         * modules/unictype/property-unassigned-code-value: New file.
98207         * modules/unictype/property-uppercase: New file.
98208         * modules/unictype/property-other-uppercase: New file.
98209         * modules/unictype/property-lowercase: New file.
98210         * modules/unictype/property-other-lowercase: New file.
98211         * modules/unictype/property-titlecase: New file.
98212         * modules/unictype/property-soft-dotted: New file.
98213         * modules/unictype/property-id-start: New file.
98214         * modules/unictype/property-other-id-start: New file.
98215         * modules/unictype/property-id-continue: New file.
98216         * modules/unictype/property-other-id-continue: New file.
98217         * modules/unictype/property-xid-start: New file.
98218         * modules/unictype/property-xid-continue: New file.
98219         * modules/unictype/property-pattern-white-space: New file.
98220         * modules/unictype/property-pattern-syntax: New file.
98221         * modules/unictype/property-join-control: New file.
98222         * modules/unictype/property-grapheme-base: New file.
98223         * modules/unictype/property-grapheme-extend: New file.
98224         * modules/unictype/property-other-grapheme-extend: New file.
98225         * modules/unictype/property-grapheme-link: New file.
98226         * modules/unictype/property-bidi-control: New file.
98227         * modules/unictype/property-bidi-left-to-right: New file.
98228         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
98229         * modules/unictype/property-bidi-arabic-right-to-left: New file.
98230         * modules/unictype/property-bidi-european-digit: New file.
98231         * modules/unictype/property-bidi-eur-num-separator: New file.
98232         * modules/unictype/property-bidi-eur-num-terminator: New file.
98233         * modules/unictype/property-bidi-arabic-digit: New file.
98234         * modules/unictype/property-bidi-common-separator: New file.
98235         * modules/unictype/property-bidi-block-separator: New file.
98236         * modules/unictype/property-bidi-segment-separator: New file.
98237         * modules/unictype/property-bidi-whitespace: New file.
98238         * modules/unictype/property-bidi-non-spacing-mark: New file.
98239         * modules/unictype/property-bidi-boundary-neutral: New file.
98240         * modules/unictype/property-bidi-pdf: New file.
98241         * modules/unictype/property-bidi-embedding-or-override: New file.
98242         * modules/unictype/property-bidi-other-neutral: New file.
98243         * modules/unictype/property-hex-digit: New file.
98244         * modules/unictype/property-ascii-hex-digit: New file.
98245         * modules/unictype/property-ideographic: New file.
98246         * modules/unictype/property-unified-ideograph: New file.
98247         * modules/unictype/property-radical: New file.
98248         * modules/unictype/property-ids-binary-operator: New file.
98249         * modules/unictype/property-ids-trinary-operator: New file.
98250         * modules/unictype/property-zero-width: New file.
98251         * modules/unictype/property-space: New file.
98252         * modules/unictype/property-non-break: New file.
98253         * modules/unictype/property-iso-control: New file.
98254         * modules/unictype/property-format-control: New file.
98255         * modules/unictype/property-dash: New file.
98256         * modules/unictype/property-hyphen: New file.
98257         * modules/unictype/property-punctuation: New file.
98258         * modules/unictype/property-line-separator: New file.
98259         * modules/unictype/property-paragraph-separator: New file.
98260         * modules/unictype/property-quotation-mark: New file.
98261         * modules/unictype/property-sentence-terminal: New file.
98262         * modules/unictype/property-terminal-punctuation: New file.
98263         * modules/unictype/property-currency-symbol: New file.
98264         * modules/unictype/property-math: New file.
98265         * modules/unictype/property-other-math: New file.
98266         * modules/unictype/property-paired-punctuation: New file.
98267         * modules/unictype/property-left-of-pair: New file.
98268         * modules/unictype/property-combining: New file.
98269         * modules/unictype/property-composite: New file.
98270         * modules/unictype/property-decimal-digit: New file.
98271         * modules/unictype/property-numeric: New file.
98272         * modules/unictype/property-diacritic: New file.
98273         * modules/unictype/property-extender: New file.
98274         * modules/unictype/property-ignorable-control: New file.
98275         * modules/unictype/property-test: New file.
98276         * modules/unictype/property-byname: New file.
98277         * modules/unictype/property-all: New file.
98278         * modules/unictype/scripts: New file.
98279         * modules/unictype/scripts-all: New file.
98280         * modules/unictype/block-of: New file.
98281         * modules/unictype/block-test: New file.
98282         * modules/unictype/block-list: New file.
98283         * modules/unictype/block-all: New file.
98284         * modules/unictype/syntax-c-whitespace: New file.
98285         * modules/unictype/syntax-java-whitespace: New file.
98286         * modules/unictype/syntax-c-ident: New file.
98287         * modules/unictype/syntax-java-ident: New file.
98288         * modules/unictype/ctype-alnum: New file.
98289         * modules/unictype/ctype-alpha: New file.
98290         * modules/unictype/ctype-cntrl: New file.
98291         * modules/unictype/ctype-digit: New file.
98292         * modules/unictype/ctype-graph: New file.
98293         * modules/unictype/ctype-lower: New file.
98294         * modules/unictype/ctype-print: New file.
98295         * modules/unictype/ctype-punct: New file.
98296         * modules/unictype/ctype-space: New file.
98297         * modules/unictype/ctype-upper: New file.
98298         * modules/unictype/ctype-xdigit: New file.
98299         * modules/unictype/ctype-blank: New file.
98300         * lib/unictype/bidi_byname.c: New file.
98301         * lib/unictype/bidi_name.c: New file.
98302         * lib/unictype/bidi_of.c: New file.
98303         * lib/unictype/bidi_test.c: New file.
98304         * lib/unictype/bitmap.h: New file.
98305         * lib/unictype/block_test.c: New file.
98306         * lib/unictype/blocks.c: New file.
98307         * lib/unictype/categ_C.c: New file.
98308         * lib/unictype/categ_Cc.c: New file.
98309         * lib/unictype/categ_Cf.c: New file.
98310         * lib/unictype/categ_Cn.c: New file.
98311         * lib/unictype/categ_Co.c: New file.
98312         * lib/unictype/categ_Cs.c: New file.
98313         * lib/unictype/categ_L.c: New file.
98314         * lib/unictype/categ_Ll.c: New file.
98315         * lib/unictype/categ_Lm.c: New file.
98316         * lib/unictype/categ_Lo.c: New file.
98317         * lib/unictype/categ_Lt.c: New file.
98318         * lib/unictype/categ_Lu.c: New file.
98319         * lib/unictype/categ_M.c: New file.
98320         * lib/unictype/categ_Mc.c: New file.
98321         * lib/unictype/categ_Me.c: New file.
98322         * lib/unictype/categ_Mn.c: New file.
98323         * lib/unictype/categ_N.c: New file.
98324         * lib/unictype/categ_Nd.c: New file.
98325         * lib/unictype/categ_Nl.c: New file.
98326         * lib/unictype/categ_No.c: New file.
98327         * lib/unictype/categ_P.c: New file.
98328         * lib/unictype/categ_Pc.c: New file.
98329         * lib/unictype/categ_Pd.c: New file.
98330         * lib/unictype/categ_Pe.c: New file.
98331         * lib/unictype/categ_Pf.c: New file.
98332         * lib/unictype/categ_Pi.c: New file.
98333         * lib/unictype/categ_Po.c: New file.
98334         * lib/unictype/categ_Ps.c: New file.
98335         * lib/unictype/categ_S.c: New file.
98336         * lib/unictype/categ_Sc.c: New file.
98337         * lib/unictype/categ_Sk.c: New file.
98338         * lib/unictype/categ_Sm.c: New file.
98339         * lib/unictype/categ_So.c: New file.
98340         * lib/unictype/categ_Z.c: New file.
98341         * lib/unictype/categ_Zl.c: New file.
98342         * lib/unictype/categ_Zp.c: New file.
98343         * lib/unictype/categ_Zs.c: New file.
98344         * lib/unictype/categ_and.c: New file.
98345         * lib/unictype/categ_and_not.c: New file.
98346         * lib/unictype/categ_byname.c: New file.
98347         * lib/unictype/categ_name.c: New file.
98348         * lib/unictype/categ_none.c: New file.
98349         * lib/unictype/categ_of.c: New file.
98350         * lib/unictype/categ_or.c: New file.
98351         * lib/unictype/categ_test.c: New file.
98352         * lib/unictype/combining.c: New file.
98353         * lib/unictype/ctype_alnum.c: New file.
98354         * lib/unictype/ctype_alpha.c: New file.
98355         * lib/unictype/ctype_blank.c: New file.
98356         * lib/unictype/ctype_cntrl.c: New file.
98357         * lib/unictype/ctype_digit.c: New file.
98358         * lib/unictype/ctype_graph.c: New file.
98359         * lib/unictype/ctype_lower.c: New file.
98360         * lib/unictype/ctype_print.c: New file.
98361         * lib/unictype/ctype_punct.c: New file.
98362         * lib/unictype/ctype_space.c: New file.
98363         * lib/unictype/ctype_upper.c: New file.
98364         * lib/unictype/ctype_xdigit.c: New file.
98365         * lib/unictype/decdigit.c: New file.
98366         * lib/unictype/digit.c: New file.
98367         * lib/unictype/identsyntaxmap.h: New file.
98368         * lib/unictype/mirror.c: New file.
98369         * lib/unictype/numeric.c: New file.
98370         * lib/unictype/pr_alphabetic.c: New file.
98371         * lib/unictype/pr_ascii_hex_digit.c: New file.
98372         * lib/unictype/pr_bidi_arabic_digit.c: New file.
98373         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
98374         * lib/unictype/pr_bidi_block_separator.c: New file.
98375         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
98376         * lib/unictype/pr_bidi_common_separator.c: New file.
98377         * lib/unictype/pr_bidi_control.c: New file.
98378         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
98379         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
98380         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
98381         * lib/unictype/pr_bidi_european_digit.c: New file.
98382         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
98383         * lib/unictype/pr_bidi_left_to_right.c: New file.
98384         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
98385         * lib/unictype/pr_bidi_other_neutral.c: New file.
98386         * lib/unictype/pr_bidi_pdf.c: New file.
98387         * lib/unictype/pr_bidi_segment_separator.c: New file.
98388         * lib/unictype/pr_bidi_whitespace.c: New file.
98389         * lib/unictype/pr_byname.c: New file.
98390         * lib/unictype/pr_byname.gperf: New file.
98391         * lib/unictype/pr_combining.c: New file.
98392         * lib/unictype/pr_composite.c: New file.
98393         * lib/unictype/pr_currency_symbol.c: New file.
98394         * lib/unictype/pr_dash.c: New file.
98395         * lib/unictype/pr_decimal_digit.c: New file.
98396         * lib/unictype/pr_default_ignorable_code_point.c: New file.
98397         * lib/unictype/pr_deprecated.c: New file.
98398         * lib/unictype/pr_diacritic.c: New file.
98399         * lib/unictype/pr_extender.c: New file.
98400         * lib/unictype/pr_format_control.c: New file.
98401         * lib/unictype/pr_grapheme_base.c: New file.
98402         * lib/unictype/pr_grapheme_extend.c: New file.
98403         * lib/unictype/pr_grapheme_link.c: New file.
98404         * lib/unictype/pr_hex_digit.c: New file.
98405         * lib/unictype/pr_hyphen.c: New file.
98406         * lib/unictype/pr_id_continue.c: New file.
98407         * lib/unictype/pr_id_start.c: New file.
98408         * lib/unictype/pr_ideographic.c: New file.
98409         * lib/unictype/pr_ids_binary_operator.c: New file.
98410         * lib/unictype/pr_ids_trinary_operator.c: New file.
98411         * lib/unictype/pr_ignorable_control.c: New file.
98412         * lib/unictype/pr_iso_control.c: New file.
98413         * lib/unictype/pr_join_control.c: New file.
98414         * lib/unictype/pr_left_of_pair.c: New file.
98415         * lib/unictype/pr_line_separator.c: New file.
98416         * lib/unictype/pr_logical_order_exception.c: New file.
98417         * lib/unictype/pr_lowercase.c: New file.
98418         * lib/unictype/pr_math.c: New file.
98419         * lib/unictype/pr_non_break.c: New file.
98420         * lib/unictype/pr_not_a_character.c: New file.
98421         * lib/unictype/pr_numeric.c: New file.
98422         * lib/unictype/pr_other_alphabetic.c: New file.
98423         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
98424         * lib/unictype/pr_other_grapheme_extend.c: New file.
98425         * lib/unictype/pr_other_id_continue.c: New file.
98426         * lib/unictype/pr_other_id_start.c: New file.
98427         * lib/unictype/pr_other_lowercase.c: New file.
98428         * lib/unictype/pr_other_math.c: New file.
98429         * lib/unictype/pr_other_uppercase.c: New file.
98430         * lib/unictype/pr_paired_punctuation.c: New file.
98431         * lib/unictype/pr_paragraph_separator.c: New file.
98432         * lib/unictype/pr_pattern_syntax.c: New file.
98433         * lib/unictype/pr_pattern_white_space.c: New file.
98434         * lib/unictype/pr_private_use.c: New file.
98435         * lib/unictype/pr_punctuation.c: New file.
98436         * lib/unictype/pr_quotation_mark.c: New file.
98437         * lib/unictype/pr_radical.c: New file.
98438         * lib/unictype/pr_sentence_terminal.c: New file.
98439         * lib/unictype/pr_soft_dotted.c: New file.
98440         * lib/unictype/pr_space.c: New file.
98441         * lib/unictype/pr_terminal_punctuation.c: New file.
98442         * lib/unictype/pr_test.c: New file.
98443         * lib/unictype/pr_titlecase.c: New file.
98444         * lib/unictype/pr_unassigned_code_value.c: New file.
98445         * lib/unictype/pr_unified_ideograph.c: New file.
98446         * lib/unictype/pr_uppercase.c: New file.
98447         * lib/unictype/pr_variation_selector.c: New file.
98448         * lib/unictype/pr_white_space.c: New file.
98449         * lib/unictype/pr_xid_continue.c: New file.
98450         * lib/unictype/pr_xid_start.c: New file.
98451         * lib/unictype/pr_zero_width.c: New file.
98452         * lib/unictype/scripts.c: New file.
98453         * lib/unictype/sy_c_ident.c: New file.
98454         * lib/unictype/sy_c_whitespace.c: New file.
98455         * lib/unictype/sy_java_ident.c: New file.
98456         * lib/unictype/sy_java_whitespace.c: New file.
98458         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
98459         Unicode 5.0.0.
98460         * lib/unictype/blocks.h: Likewise.
98461         * lib/unictype/categ_C.h: Likewise.
98462         * lib/unictype/categ_Cc.h: Likewise.
98463         * lib/unictype/categ_Cf.h: Likewise.
98464         * lib/unictype/categ_Cn.h: Likewise.
98465         * lib/unictype/categ_Co.h: Likewise.
98466         * lib/unictype/categ_Cs.h: Likewise.
98467         * lib/unictype/categ_L.h: Likewise.
98468         * lib/unictype/categ_Ll.h: Likewise.
98469         * lib/unictype/categ_Lm.h: Likewise.
98470         * lib/unictype/categ_Lo.h: Likewise.
98471         * lib/unictype/categ_Lt.h: Likewise.
98472         * lib/unictype/categ_Lu.h: Likewise.
98473         * lib/unictype/categ_M.h: Likewise.
98474         * lib/unictype/categ_Mc.h: Likewise.
98475         * lib/unictype/categ_Me.h: Likewise.
98476         * lib/unictype/categ_Mn.h: Likewise.
98477         * lib/unictype/categ_N.h: Likewise.
98478         * lib/unictype/categ_Nd.h: Likewise.
98479         * lib/unictype/categ_Nl.h: Likewise.
98480         * lib/unictype/categ_No.h: Likewise.
98481         * lib/unictype/categ_P.h: Likewise.
98482         * lib/unictype/categ_Pc.h: Likewise.
98483         * lib/unictype/categ_Pd.h: Likewise.
98484         * lib/unictype/categ_Pe.h: Likewise.
98485         * lib/unictype/categ_Pf.h: Likewise.
98486         * lib/unictype/categ_Pi.h: Likewise.
98487         * lib/unictype/categ_Po.h: Likewise.
98488         * lib/unictype/categ_Ps.h: Likewise.
98489         * lib/unictype/categ_S.h: Likewise.
98490         * lib/unictype/categ_Sc.h: Likewise.
98491         * lib/unictype/categ_Sk.h: Likewise.
98492         * lib/unictype/categ_Sm.h: Likewise.
98493         * lib/unictype/categ_So.h: Likewise.
98494         * lib/unictype/categ_Z.h: Likewise.
98495         * lib/unictype/categ_Zl.h: Likewise.
98496         * lib/unictype/categ_Zp.h: Likewise.
98497         * lib/unictype/categ_Zs.h: Likewise.
98498         * lib/unictype/categ_of.h: Likewise.
98499         * lib/unictype/combining.h: Likewise.
98500         * lib/unictype/ctype_alnum.h: Likewise.
98501         * lib/unictype/ctype_alpha.h: Likewise.
98502         * lib/unictype/ctype_blank.h: Likewise.
98503         * lib/unictype/ctype_cntrl.h: Likewise.
98504         * lib/unictype/ctype_digit.h: Likewise.
98505         * lib/unictype/ctype_graph.h: Likewise.
98506         * lib/unictype/ctype_lower.h: Likewise.
98507         * lib/unictype/ctype_print.h: Likewise.
98508         * lib/unictype/ctype_punct.h: Likewise.
98509         * lib/unictype/ctype_space.h: Likewise.
98510         * lib/unictype/ctype_upper.h: Likewise.
98511         * lib/unictype/ctype_xdigit.h: Likewise.
98512         * lib/unictype/decdigit.h: Likewise.
98513         * lib/unictype/digit.h: Likewise.
98514         * lib/unictype/mirror.h: Likewise.
98515         * lib/unictype/numeric.h: Likewise.
98516         * lib/unictype/pr_alphabetic.h: Likewise.
98517         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
98518         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
98519         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
98520         * lib/unictype/pr_bidi_block_separator.h: Likewise.
98521         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
98522         * lib/unictype/pr_bidi_common_separator.h: Likewise.
98523         * lib/unictype/pr_bidi_control.h: Likewise.
98524         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
98525         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
98526         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
98527         * lib/unictype/pr_bidi_european_digit.h: Likewise.
98528         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
98529         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
98530         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
98531         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
98532         * lib/unictype/pr_bidi_pdf.h: Likewise.
98533         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
98534         * lib/unictype/pr_bidi_whitespace.h: Likewise.
98535         * lib/unictype/pr_combining.h: Likewise.
98536         * lib/unictype/pr_composite.h: Likewise.
98537         * lib/unictype/pr_currency_symbol.h: Likewise.
98538         * lib/unictype/pr_dash.h: Likewise.
98539         * lib/unictype/pr_decimal_digit.h: Likewise.
98540         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
98541         * lib/unictype/pr_deprecated.h: Likewise.
98542         * lib/unictype/pr_diacritic.h: Likewise.
98543         * lib/unictype/pr_extender.h: Likewise.
98544         * lib/unictype/pr_format_control.h: Likewise.
98545         * lib/unictype/pr_grapheme_base.h: Likewise.
98546         * lib/unictype/pr_grapheme_extend.h: Likewise.
98547         * lib/unictype/pr_grapheme_link.h: Likewise.
98548         * lib/unictype/pr_hex_digit.h: Likewise.
98549         * lib/unictype/pr_hyphen.h: Likewise.
98550         * lib/unictype/pr_id_continue.h: Likewise.
98551         * lib/unictype/pr_id_start.h: Likewise.
98552         * lib/unictype/pr_ideographic.h: Likewise.
98553         * lib/unictype/pr_ids_binary_operator.h: Likewise.
98554         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
98555         * lib/unictype/pr_ignorable_control.h: Likewise.
98556         * lib/unictype/pr_iso_control.h: Likewise.
98557         * lib/unictype/pr_join_control.h: Likewise.
98558         * lib/unictype/pr_left_of_pair.h: Likewise.
98559         * lib/unictype/pr_line_separator.h: Likewise.
98560         * lib/unictype/pr_logical_order_exception.h: Likewise.
98561         * lib/unictype/pr_lowercase.h: Likewise.
98562         * lib/unictype/pr_math.h: Likewise.
98563         * lib/unictype/pr_non_break.h: Likewise.
98564         * lib/unictype/pr_not_a_character.h: Likewise.
98565         * lib/unictype/pr_numeric.h: Likewise.
98566         * lib/unictype/pr_other_alphabetic.h: Likewise.
98567         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
98568         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
98569         * lib/unictype/pr_other_id_continue.h: Likewise.
98570         * lib/unictype/pr_other_id_start.h: Likewise.
98571         * lib/unictype/pr_other_lowercase.h: Likewise.
98572         * lib/unictype/pr_other_math.h: Likewise.
98573         * lib/unictype/pr_other_uppercase.h: Likewise.
98574         * lib/unictype/pr_paired_punctuation.h: Likewise.
98575         * lib/unictype/pr_paragraph_separator.h: Likewise.
98576         * lib/unictype/pr_pattern_syntax.h: Likewise.
98577         * lib/unictype/pr_pattern_white_space.h: Likewise.
98578         * lib/unictype/pr_private_use.h: Likewise.
98579         * lib/unictype/pr_punctuation.h: Likewise.
98580         * lib/unictype/pr_quotation_mark.h: Likewise.
98581         * lib/unictype/pr_radical.h: Likewise.
98582         * lib/unictype/pr_sentence_terminal.h: Likewise.
98583         * lib/unictype/pr_soft_dotted.h: Likewise.
98584         * lib/unictype/pr_space.h: Likewise.
98585         * lib/unictype/pr_terminal_punctuation.h: Likewise.
98586         * lib/unictype/pr_titlecase.h: Likewise.
98587         * lib/unictype/pr_unassigned_code_value.h: Likewise.
98588         * lib/unictype/pr_unified_ideograph.h: Likewise.
98589         * lib/unictype/pr_uppercase.h: Likewise.
98590         * lib/unictype/pr_variation_selector.h: Likewise.
98591         * lib/unictype/pr_white_space.h: Likewise.
98592         * lib/unictype/pr_xid_continue.h: Likewise.
98593         * lib/unictype/pr_xid_start.h: Likewise.
98594         * lib/unictype/pr_zero_width.h: Likewise.
98595         * lib/unictype/scripts.h: Likewise.
98596         * lib/unictype/scripts_byname.gperf: Likewise.
98597         * lib/unictype/sy_c_ident.h: Likewise.
98598         * lib/unictype/sy_c_whitespace.h: Likewise.
98599         * lib/unictype/sy_java_ident.h: Likewise.
98600         * lib/unictype/sy_java_whitespace.h: Likewise.
98602         * lib/unictype/Makefile: New file.
98603         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
98604         glibc.
98605         * lib/unictype/3level.h: New file, copied from glibc.
98606         * lib/unictype/3levelbit.h: New file.
98608 2007-11-11  Bruno Haible  <bruno@clisp.org>
98610         * modules/gperf: New file.
98611         * modules/iconv_open (Depends-on): Add it.
98612         (Makefile.am): Remove the GPERF definition.
98614 2007-11-11  Bruno Haible  <bruno@clisp.org>
98616         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
98617         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
98619 2007-11-11  Bruno Haible  <bruno@clisp.org>
98621         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
98622         (usage): Remove function.
98624 2007-11-11  Bruno Haible  <bruno@clisp.org>
98626         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
98627         gl_FUNC_CEILF_LIBS.
98628         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
98629         gl_FUNC_CEIL_LIBS.
98630         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
98631         gl_FUNC_CEILL_LIBS.
98632         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
98633         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
98634         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
98636 2007-11-11  Bruno Haible  <bruno@clisp.org>
98638         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
98639         roundf were declared but do not exist on functions.
98640         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
98641         roundl were declared but do not exist on functions.
98642         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
98643         HAVE_FLOORL_AND_CEILL, respectively.
98644         Needed for Sun C on Solaris 10.
98646 2007-11-11  Bruno Haible  <bruno@clisp.org>
98648         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
98649         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
98650         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
98651         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
98652         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
98653         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
98654         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
98655         HAVE_DECL_ROUNDF.
98656         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
98657         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
98658         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
98659         of HAVE_DECL_ROUND*.
98660         * modules/math (Makefile.am): Update.
98662 2007-11-10  Bruno Haible  <bruno@clisp.org>
98664         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
98665         ptrdiff_t as m4/intl.m4.
98667 2007-11-10  Jim Meyering  <meyering@redhat.com>
98669         Avoid link failure for the argmatch test.
98670         * tests/test-argmatch.c (usage): Define function to avoid a link
98671         failure: argmatch_die requires a usage function.
98673 2007-11-09  Bruno Haible  <bruno@clisp.org>
98675         * doc/functions/snprintf.texi: Mention BeOS deficiency.
98676         * doc/functions/vsnprintf.texi: Likewise.
98677         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
98678         with a size argument < 2.
98680 2007-11-09  Bruno Haible  <bruno@clisp.org>
98682         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
98683         buffer. Fixes an inefficiency introduced on 2007-11-03.
98685 2007-11-09  Bruno Haible  <bruno@clisp.org>
98687         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
98688         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
98690 2007-11-08  Jim Meyering  <meyering@redhat.com>
98692         Change cache variable name prefix "jm_" to "gl_" everywhere.
98693         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
98694         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
98695         * m4/uptime.m4: s/gl_/jm_/
98697 2007-11-07  Bruno Haible  <bruno@clisp.org>
98699         Update to GNU gettext 0.17.
98700         * m4/intl.m4: Update to GNU gettext 0.17.
98701         * m4/po.m4: Likewise.
98702         * modules/gettext (Files): Remove m4/ulonglong.m4.
98703         (configure.ac): Require gettext infrastructure from version 0.17.
98705 2007-11-06  Bruno Haible  <bruno@clisp.org>
98707         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
98708         symbolic values are not defined in a public header.
98709         * lib/freadable.c (freadable) [QNX]: Likewise.
98710         * lib/freadahead.c (freadahead) [QNX]: Likewise.
98711         * lib/freading.c (freading) [QNX]: Likewise.
98712         * lib/fseterr.c (fseterr) [QNX]: Likewise.
98713         * lib/fwritable.c (fwritable) [QNX]: Likewise.
98714         * lib/fwriting.c (fwriting) [QNX]: Likewise.
98715         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
98716         Reported by Alain Magloire.
98718         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
98720 2007-11-05  Bruno Haible  <bruno@clisp.org>
98722         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
98723         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
98724         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
98725         Reported by Eric Blake.
98727 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98728             Bruno Haible  <bruno@clisp.org>
98730         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
98731         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
98732         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
98733         (malloc): Undefine also before including <stdlib.h>.
98734         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
98735         Needed on OSF/1 4.0.
98737 2007-11-05  Jim Meyering  <meyering@redhat.com>
98739         git-version-gen: sync from coreutils.
98740         * build-aux/git-version-gen: Add comments.
98741         Change the first '-' to '.' in the snapshot version string,
98742         e.g., 6.9-377-08144 -> 6.9.377-08144
98743         Remove first parameter.
98744         Don't declare a version "-dirty" merely because a time
98745         stamp has changed.
98747 2007-11-04  Bruno Haible  <bruno@clisp.org>
98749         * lib/lock.h: Protect all macro definitions containing an 'if'
98750         statement through a "do { ... } while (0)".
98751         * lib/tls.h: Likewise.
98753 2007-11-04  Bruno Haible  <bruno@clisp.org>
98755         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
98757 2007-11-04  Bruno Haible  <bruno@clisp.org>
98759         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
98760         * modules/fprintf-posix (Depends-on): Add nocrash.
98761         * modules/snprintf-posix (Depends-on): Likewise.
98762         * modules/sprintf-posix (Depends-on): Likewise.
98763         * modules/vasnprintf-posix (Depends-on): Likewise.
98764         * modules/vasprintf-posix (Depends-on): Likewise.
98765         * modules/vfprintf-posix (Depends-on): Likewise.
98766         * modules/vsnprintf-posix (Depends-on): Likewise.
98767         * modules/vsprintf-posix (Depends-on): Likewise.
98768         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
98769         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
98770         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
98771         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
98772         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
98773         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
98774         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
98776 2007-11-04  Bruno Haible  <bruno@clisp.org>
98778         * modules/nocrash: New file.
98779         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
98780         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
98782 2007-11-04  Bruno Haible  <bruno@clisp.org>
98784         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
98785         precision handling.
98786         * tests/test-vasprintf-posix.c (test_function): Likewise.
98787         * tests/test-snprintf-posix.h (test_function): Likewise.
98788         * tests/test-sprintf-posix.h (test_function): Likewise.
98790         Fix *printf behaviour for large precisions on mingw and BeOS.
98791         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
98792         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
98793         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
98794         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
98795         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
98796         gl_PRINTF_PRECISION and test its result. Invoke
98797         gl_PREREQ_VASNPRINTF_PRECISION.
98798         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
98799         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98800         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98801         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98802         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98803         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98804         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98805         * doc/functions/fprintf.texi: Update.
98806         * doc/functions/printf.texi: Update.
98807         * doc/functions/snprintf.texi: Update.
98808         * doc/functions/sprintf.texi: Update.
98809         * doc/functions/vfprintf.texi: Update.
98810         * doc/functions/vprintf.texi: Update.
98811         * doc/functions/vsnprintf.texi: Update.
98812         * doc/functions/vsprintf.texi: Update.
98814 2007-11-04  Bruno Haible  <bruno@clisp.org>
98816         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
98818 2007-11-04  Bruno Haible  <bruno@clisp.org>
98820         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
98821         Reported by Sylvain Beucler <beuc@gnu.org>.
98823 2007-11-03  Bruno Haible  <bruno@clisp.org>
98825         * tests/test-fprintf-posix2.sh: New file.
98826         * tests/test-fprintf-posix2.c: New file.
98827         * modules/fprintf-posix-tests (Files): Add them.
98828         (TESTS): Add test-fprintf-posix2.sh.
98829         (configure.ac): Check for getrlimit and setrlimit.
98830         (check_PROGRAMS): Add test-fprintf-posix2.
98832         * tests/test-printf-posix2.sh: New file.
98833         * tests/test-printf-posix2.c: New file.
98834         * modules/printf-posix-tests (Files): Add them.
98835         (TESTS): Add test-printf-posix2.sh.
98836         (configure.ac): Check for getrlimit and setrlimit.
98837         (check_PROGRAMS): Add test-printf-posix2.
98839         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
98840         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
98841         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
98842         (decode_double): New function, copied from decode_long_double.
98843         (scale10_round_decimal_decoded): New function, extracted from
98844         scale10_round_decimal_long_double.
98845         (scale10_round_decimal_long_double): Use it.
98846         (scale10_round_decimal_double): New function.
98847         (floorlog10): New function.
98848         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
98849         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
98850         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
98851         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
98852         gl_PRINTF_ENOMEM and test its result. Invoke
98853         gl_PREREQ_VASNPRINTF_ENOMEM.
98854         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
98855         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98856         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98857         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98858         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98859         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98860         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98861         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
98862         * modules/snprintf-posix (Depends-on): Likewise.
98863         * modules/sprintf-posix (Depends-on): Likewise.
98864         * modules/vasnprintf-posix (Depends-on): Likewise.
98865         * modules/vasprintf-posix (Depends-on): Likewise.
98866         * modules/vfprintf-posix (Depends-on): Likewise.
98867         * modules/vsnprintf-posix (Depends-on): Likewise.
98868         * modules/vsprintf-posix (Depends-on): Likewise.
98869         * doc/functions/fprintf.texi: Update.
98870         * doc/functions/printf.texi: Update.
98871         * doc/functions/snprintf.texi: Update.
98872         * doc/functions/sprintf.texi: Update.
98873         * doc/functions/vfprintf.texi: Update.
98874         * doc/functions/vprintf.texi: Update.
98875         * doc/functions/vsnprintf.texi: Update.
98876         * doc/functions/vsprintf.texi: Update.
98878 2007-11-03  Bruno Haible  <bruno@clisp.org>
98880         * modules/frexp-nolibm-tests: New file.
98882         * modules/frexp-nolibm: New file.
98883         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
98885 2007-11-03  Bruno Haible  <bruno@clisp.org>
98887         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
98888         value is C99 compliant.
98889         Needed for OSF/1 5.1.
98891 2007-11-03  Bruno Haible  <bruno@clisp.org>
98893         Fix out-of-memory handling of vasnprintf.
98894         * lib/printf-parse.c: Include <errno.h>.
98895         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
98896         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
98897         is already set.
98899 2007-11-02  Eric Blake  <ebb9@byu.net>
98901         Fix tests on cygwin.
98902         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
98904 2007-11-01  Bruno Haible  <bruno@clisp.org>
98906         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
98907         warning.
98908         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
98909         needed for POSIX compatibility.
98911 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
98913         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
98914         for compatibility with GNU.
98916 2007-11-01  Bruno Haible  <bruno@clisp.org>
98918         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
98919         (putenv): Renamed from rpl_putenv. Change argument type from
98920         'const char *' to 'char *'.
98921         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
98922         of defining putenv in config.h, just set REPLACE_PUTENV.
98923         * modules/putenv (Depends-on): Add stdlib.
98924         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
98925         (Include): Use <stdlib.h>.
98926         * lib/stdlib.in.h (putenv): New declaration.
98927         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
98928         REPLACE_PUTENV.
98929         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
98930         REPLACE_PUTENV.
98931         Needed for MacOS X 10.5.0.
98932         Reported by Peter O'Gorman <peter@pogma.com>.
98934 2007-11-01  Jim Meyering  <meyering@redhat.com>
98936         Treat an empty date string exactly like "0".
98937         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
98938         if the remaining date string (to be parsed) is empty, use "0".
98939         Reported by Mischa Molhoek and discussed in this thread:
98940         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
98942 2007-10-31  Bruno Haible  <bruno@clisp.org>
98944         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
98945         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
98946         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
98947         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
98948         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
98949         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
98951 2007-10-31  Bruno Haible  <bruno@clisp.org>
98953         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
98954         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
98955         (AC_TYPE_LONG_LONG_INT): Use it.
98956         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
98957         it as well.
98958         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
98959         to m4/longlong.m4.
98960         * modules/stdint (Files): Remove m4/ulonglong.m4.
98961         * modules/strtoull (Files): Use m4/longlong.m4 instead of
98962         m4/ulonglong.m4.
98963         * modules/strtoumax (Files): Likewise.
98965 2007-10-30  Bruno Haible  <bruno@clisp.org>
98967         * modules/xvasprintf-posix: New file.
98968         Suggested by Eric Blake.
98970 2007-10-30  Bruno Haible  <bruno@clisp.org>
98972         * modules/xprintf-posix-tests: New file.
98973         * tests/test-xprintf-posix.sh: New file.
98974         * tests/test-xprintf-posix.c: New file.
98975         * tests/test-xfprintf-posix.c: New file.
98977         * modules/xprintf-posix: New file.
98979 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98981         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
98982         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
98983         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
98985 2007-10-29  Bruno Haible  <bruno@clisp.org>
98987         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
98988         contain the special marker '_cv_'.
98989         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
98990         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
98991         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
98992         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
98993         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
98994         Reported by Ralf Wildenhues.
98996 2007-10-29  Bruno Haible  <bruno@clisp.org>
98998         * gnulib-tool (func_import): When --lgpl is not specified, set
98999         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
99000         GPLv3.
99001         Reported by Simon Josefsson.
99003 2007-10-28  Bruno Haible  <bruno@clisp.org>
99005         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
99006         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
99007         HAVE_DECL_ISFINITE.
99008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99009         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
99010         HAVE_DECL_ISFINITE.
99012 2007-10-28  Bruno Haible  <bruno@clisp.org>
99014         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
99015         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
99017 2007-10-28  Bruno Haible  <bruno@clisp.org>
99019         Fix link errors with Sun C 5.0 on Solaris 10.
99020         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
99021         function is declared but not present in the compiler's libm.
99022         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
99023         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
99024         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
99025         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
99026         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
99027         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
99028         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
99029         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99030         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
99031         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
99032         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
99033         HAVE_DECL_FLOORL.
99035 2007-10-28  Bruno Haible  <bruno@clisp.org>
99037         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
99038         gl_FUNC_FLOORL. Cache the result.
99039         (gl_FUNC_FLOORL): Use it.
99040         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
99041         gl_FUNC_CEILL. Cache the result.
99042         (gl_FUNC_CEILL): Use it.
99044         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
99045         gl_FUNC_FLOOR. Cache the result.
99046         (gl_FUNC_FLOOR): Use it.
99047         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
99048         gl_FUNC_CEIL. Cache the result.
99049         (gl_FUNC_CEIL): Use it.
99051         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
99052         gl_FUNC_FLOORF. Cache the result.
99053         (gl_FUNC_FLOORF): Use it.
99054         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
99055         gl_FUNC_CEILF. Cache the result.
99056         (gl_FUNC_CEILF): Use it.
99058 2007-10-28  Bruno Haible  <bruno@clisp.org>
99060         * gnulib-tool: Allow specifying the LGPL version number through
99061         --lgpl=2 or --lgpl=3.
99062         (func_usage): Document --lgpl with argument.
99063         Handle --lgpl=... arguments.
99064         (func_import): Recognize also gl_LGPL calls with an argument. When
99065         --lgpl=2 is used and the module's license is just LGPL, report an
99066         error. Set sed_transform_lib_file according to the lgpl variable. In
99067         the generated files, use --lgpl or gl_LGPL invocations with argument,
99068         if necessary.
99069         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
99070         an LGPv2+ license.
99071         * doc/gnulib-tool.texi (Modified imports): Update explanation of
99072         gl_LGPL macro.
99074 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99075             Bruno Haible  <bruno@clisp.org>
99077         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
99078         (u16_uctomb_aux): Likewise.
99079         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
99080         !HAVE_INLINE.
99081         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
99083 2007-10-28  Bruno Haible  <bruno@clisp.org>
99085         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
99086         Invoke AM_GETTEXT_OPTION if it exists.
99087         * modules/vasprintf: Likewise.
99088         * modules/verror: Likewise.
99089         * modules/xprintf: Likewise.
99090         * modules/xvasprintf: Likewise.
99092 2007-10-27  Ben Pfaff  <blp@gnu.org>
99094         * lib/math.in.h: Define isfinite macro and prototypes for
99095         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
99096         implementations.
99097         * m4/math_h.m4: New substitutions for isfinite module.
99098         * lib/isfinite.c: New file.
99099         * m4/isfinite.m4: New file.
99100         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
99101         * modules/isfinite: New file.
99102         * modules/isfinite-tests: New file.
99103         * tests/tests-isfinite.c: New file.
99104         * doc/functions/isfinite.texi: Mention isfinite module.
99105         * MODULES.html.sh: Mention new module.
99107 2007-10-27  Ben Pfaff  <blp@gnu.org>
99109         Ralf Wildenhues reported that Tru64 4.0D declares the round
99110         functions but does not have definitions.
99111         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
99112         cannot be found in any library, set the output variable to
99113         "missing" instead of "".
99114         * m4/round.m4: Also use our substitute if we cannot find round in
99115         any library, even if it is declared.
99116         * m4/roundf.m4: Likewise for roundf.
99117         * m4/roundl.m4: Likewise for roundl.
99118         * lib/math.in.h: Undefine roundf, round, roundl before defining
99119         their replacements, to allow for hypothetical systems where these
99120         may be defined as macros but not available in libraries.
99122 2007-10-27  Bruno Haible  <bruno@clisp.org>
99124         * doc/gnulib.texi: Invoke @firstparagraphindent.
99125         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
99126         changes in gnulib.
99127         (Source changes): New section.
99129 2007-10-26  Bruno Haible  <bruno@clisp.org>
99131         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
99132         borrowed from autoconf.
99134 2007-10-26  Bruno Haible  <bruno@clisp.org>
99136         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
99137         strerror returned the empty string. Needed on HP-UX 11.00.
99139 2007-10-24  Micah Cowan  <micah@cowan.name>
99141         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
99142         * build-aux/bootstrap: Remove support for now-unnecessary option,
99143         --cvs-user, and envvars CVS_USER, CVS_RSH.
99145 2007-10-24  Jim Meyering  <meyering@redhat.com>
99147         Avoid diagnostics from sha1sum when there is no cached checksum.
99148         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
99149         if the po.s1 file hasn't been created yet.
99151         * build-aux/bootstrap: Sync from coreutils:
99152         2007-10-24  Jim Meyering  <meyering@redhat.com>
99153         Get gnulib from the git repository, not from an obsolete cvs one.
99154         * build-aux/bootstrap: Suggestion from Micah Cowan.
99155         2007-10-04  Jim Meyering  <jim@meyering.net>
99156         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
99157         (update_po_files): Work also when there are no .po files in po/.
99159 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
99161         * README: Append ".git" to git and cg examples.
99162         Problem reported by Benoit Sigoure.
99164 2007-10-23  Micah Cowan  <micah@cowan.name>
99166         * users.txt: Add wget.
99168 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99170         Fix linking of some unistdio tests on FreeBSD.
99171         * modules/unistdio/u16-vsnprintf-tests
99172         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
99173         * modules/unistdio/u16-vsprintf-tests
99174         (test_u16_vsnprintf1_LDADD): Likewise.
99175         * modules/unistdio/u32-vsnprintf-tests
99176         (test_u32_vsnprintf1_LDADD): Likewise.
99177         * modules/unistdio/u32-vsprintf-tests
99178         (test_u32_vsprintf1_LDADD): Likewise.
99179         * modules/unistdio/u8-vsnprintf-tests
99180         (test_u8_vsnprintf1_LDADD): Likewise.
99181         * modules/unistdio/u8-vsprintf-tests
99182         (test_u8_vsprintf1_LDADD): Likewise.
99183         * modules/unistdio/ulc-vsnprintf-tests
99184         (test_ulc_vsnprintf1_LDADD): Likewise.
99185         * modules/unistdio/ulc-vsprintf-tests
99186         (test_ulc_vsprintf1_LDADD): Likewise.
99188         Fix linking of some uniconv tests on FreeBSD.
99189         * modules/uniconv/u16-conv-from-enc-tests
99190         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
99191         * modules/uniconv/u16-conv-to-enc-tests
99192         (test_u16_conv_to_enc_LDADD): Likewise.
99193         * modules/uniconv/u16-strconv-from-enc-tests
99194         (test_u16_strconv_from_enc_LDADD): Likewise.
99195         * modules/uniconv/u16-strconv-to-enc-tests
99196         (test_u16_strconv_to_enc_LDADD): Likewise.
99197         * modules/uniconv/u32-conv-from-enc-tests
99198         (test_u32_conv_from_enc_LDADD): Likewise.
99199         * modules/uniconv/u32-conv-to-enc-tests
99200         (test_u32_conv_to_enc_LDADD): Likewise.
99201         * modules/uniconv/u32-strconv-from-enc-tests
99202         (test_u32_strconv_from_enc_LDADD): Likewise.
99203         * modules/uniconv/u32-strconv-to-enc-tests
99204         (test_u32_strconv_to_enc_LDADD): Likewise.
99205         * modules/uniconv/u8-conv-from-enc-tests
99206         (test_u8_conv_from_enc_LDADD): Likewise.
99207         * modules/uniconv/u8-conv-to-enc-tests
99208         (test_u8_conv_to_enc_LDADD): Likewise.
99209         * modules/uniconv/u8-strconv-from-enc-tests
99210         (test_u8_strconv_from_enc_LDADD): Likewise.
99211         * modules/uniconv/u8-strconv-to-enc-tests
99212         (test_u8_strconv_to_enc_LDADD): Likewise.
99214 2007-10-22  Bruno Haible  <bruno@clisp.org>
99216         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
99217         size.
99219 2007-10-22  Eric Blake  <ebb9@byu.net>
99221         Tweak x*printf documentation.
99222         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
99223         variable name and comments.
99224         Suggested by Bruno Haible.
99226 2007-10-22  Bruno Haible  <bruno@clisp.org>
99228         * lib/acl.c (copy_acl): Fix file name in comment.
99230 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99232         Fix Tru64 problem with stdbool.h.
99233         * lib/stdbool.in.h (false, true):
99234         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
99235         Don't declare as an enum in this situation; it runs afoul of Tru64.
99236         Problem reported by Steven M. Schweda in
99237         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
99239 2007-10-22  Eric Blake  <ebb9@byu.net>
99241         Also wrap vf?printf.
99242         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
99243         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
99244         (xvprintf, xvfprintf): New functions.
99246 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99248         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
99249         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
99251         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
99252         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
99254 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99256         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
99257         by Bruno Haible.
99259 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99261         * lib/getloadavg.c
99262         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
99263         Undef `sys' after including sys/table.h, for Tru64 4.0D.
99265         * tests/test-i-ring.c: Work for C89.
99267 2007-10-22  Bruno Haible  <bruno@clisp.org>
99269         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
99270         -1u, in preprocessor expression, so that we don't test for the bug
99271         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
99272         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
99274 2007-10-22  Eric Blake  <ebb9@byu.net>
99276         * tests/test-yesno.sh: Silence stderr during test.
99278 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99280         * modules/crypto/gc-camellia: New file.
99282         * m4/gc-camellia.m4: New file.
99284         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
99286         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
99288 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99290         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
99291         --help to stdout.  Reported by sms@antinode.org (Steven
99292         M. Schweda).
99294 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99296         * users.txt: Fix link to libksba.
99298 2007-10-21  Ben Pfaff  <blp@gnu.org>
99300         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
99301         round.c roundf implementation that depends on floorf and ceilf to
99302         be tested unconditionally.
99304 2007-10-21  Ben Pfaff  <blp@gnu.org>
99306         * m4/check-libm-func.m4: Removed.
99307         * m4/check-math-lib.m4: New file.
99308         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
99309         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
99310         definition and lack of AC_LIBOBJ([roundf]).
99311         * m4/roundl.m4: Ditto, and similarly for roundl.
99312         * modules/round: Reference new m4 file.
99313         * modules/roundf: Ditto.
99314         * modules/roundl: Ditto.
99315         * tests/test-round2.c (main): Use ROUND instead of round.
99316         Bug report from Bruno Haible.
99318 2007-10-21  Bruno Haible  <bruno@clisp.org>
99320         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
99321         context.
99323 2007-10-21  Bruno Haible  <bruno@clisp.org>
99325         * tests/test-wcwidth.c (main): Allow negative result for some control
99326         characters.
99328         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
99329         Needed on OSF/1 5.1.
99331 2007-10-21  Bruno Haible  <bruno@clisp.org>
99333         * tests/test-floorf1.c: Include isnanf.h.
99334         (main): Use isnanf() instead of isnan().
99335         * tests/test-ceilf1.c: Include isnanf.h.
99336         (main): Use isnanf() instead of isnan().
99337         * tests/test-truncf1.c: Include isnanf.h.
99338         (main): Use isnanf() instead of isnan().
99339         * tests/test-roundf1.c: Include isnanf.h.
99340         (main): Use isnanf() instead of isnan().
99342 2007-10-21  Eric Blake  <ebb9@byu.net>
99344         * users.txt: Update URL for m4.
99346 2007-10-21  Bruno Haible  <bruno@clisp.org>
99348         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
99350 2007-10-21  Bruno Haible  <bruno@clisp.org>
99352         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
99353         Git's management files if the CVS files are not present.
99355 2007-10-20  Bruno Haible  <bruno@clisp.org>
99357         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
99358         gcc-3.4.x.
99360 2007-10-20  Ben Pfaff  <blp@gnu.org>
99362         * lib/math.in.h: Declare round, roundf, roundl if we are providing
99363         implementations.
99364         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
99365         * lib/round.c: New file.
99366         * lib/roundf.c: New file.
99367         * lib/roundl.c: New file.
99368         * m4/round.m4: New file.
99369         * m4/roundf.m4: New file.
99370         * m4/roundl.m4: New file.
99371         * m4/check-libm-func-m4: New file.
99372         * modules/math: Replace round, roundf, roundl related @VARS@ in
99373         math.in.h.
99374         * modules/round: New file.
99375         * modules/round-tests: New file.
99376         * modules/roundf: New file.
99377         * modules/roundf-tests: New file.
99378         * modules/roundl: New file.
99379         * modules/roundl-tests: New file.
99380         * tests/test-round1.c: New file.
99381         * tests/test-round2.c: New file.
99382         * tests/test-roundf1.c: New file.
99383         * tests/test-roundf2.c: New file.
99384         * tests/test-roundl.c: New file.
99385         * doc/functions/round.texi: Mention round module.
99386         * doc/functions/roundf.texi: Mention roundf module.
99387         * doc/functions/roundl.texi: Mention roundl module.
99388         * MODULES.html.sh: Mention new modules.
99389         Thanks to Bruno Haible for suggestions.
99391 2007-10-20  Jim Meyering  <meyering@redhat.com>
99393         * lib/xprintf.c: Include <config.h> unconditionally.
99395         Change xprintf's license to GPL.
99396         * modules/xprintf (License): s/LGPL/GPL/, since this module
99397         depends on modules (exit and exitfail) which are GPL.
99398         Suggestion from Bruno Haible.
99400         xprintf fixes.
99401         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
99402         Use a clearer diagnostic.
99403         Patch from Bruno Haible.
99405 2007-10-20  Bruno Haible  <bruno@clisp.org>
99407         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
99408         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
99409         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99411 2007-10-20  Bruno Haible  <bruno@clisp.org>
99413         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
99414         precision in the comparison result > x - 1 or similar.
99415         * tests/test-ceilf2.c (correct_result_p): Likewise.
99416         * tests/test-truncf2.c (correct_result_p): Likewise.
99417         * tests/test-trunc2.c (correct_result_p): Likewise.
99418         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99420 2007-10-20  Bruno Haible  <bruno@clisp.org>
99422         * modules/ceil: New file.
99423         * m4/ceil.m4: New file.
99424         * doc/functions/ceil.texi: Mention the 'ceil' module.
99426 2007-10-20  Bruno Haible  <bruno@clisp.org>
99428         * modules/floor: New file.
99429         * m4/floor.m4: New file.
99430         * doc/functions/floor.texi: Mention the 'floor' module.
99432 2007-10-20  Bruno Haible  <bruno@clisp.org>
99434         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
99435         of %a.
99436         * modules/floorf-tests (Depends-on): Likewise.
99437         * modules/truncf-tests (Depends-on): Likewise.
99438         * modules/trunc-tests (Depends-on): Likewise.
99439         Reported by Ben Pfaff.
99441 2007-10-19  Jim Meyering  <meyering@redhat.com>
99443         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
99444         Don't bother testing specific errno values.  Just test ferror.
99446         New module: xprintf
99447         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
99449 2007-10-19  Bruno Haible  <bruno@clisp.org>
99451         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
99452         syntax.
99453         * modules/javaexec (Makefile.am): Likewise.
99454         * modules/relocatable-prog (Makefile.am): Likewise.
99455         Suggested by Jim Meyering.
99457 2007-10-18  Bruno Haible  <bruno@clisp.org>
99459         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
99460         Reported by Jim Meyering.
99462 2007-10-18  Eric Blake  <ebb9@byu.net>
99464         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
99466 2007-10-18  Bruno Haible  <bruno@clisp.org>
99468         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
99469         the format string into writable memory. Needed in Fortify conditions.
99471 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
99472             Bruno Haible  <bruno@clisp.org>
99474         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
99475         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
99476         * modules/trim (Depends-on): Add mbchar.
99477         (configure.ac): Add gl_FUNC_MBRTOWC.
99478         (Makefile.am): Augment lib_SOURCES.
99480 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
99482         Modify glob.c to use fstatat and dirfd, to simplify it.
99483         Suggested by Eric Blake.
99484         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
99485         Don't include <stdbool.h>; not used.
99486         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
99487         (link_exists_p): Simplify implementation, since we can now assume
99488         dirfd and fstatat.
99489         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
99491 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99493         * gnulib-tool (func_get_dependencies): Fix sed script to
99494         match only tests.
99496 2007-10-17  Bruno Haible  <bruno@clisp.org>
99498         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
99499         allow locale names without encoding suffix.
99500         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
99501         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
99503 2007-10-16  Bruno Haible  <bruno@clisp.org>
99505         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
99506         * lib/getgroups.c (getgroups): Likewise.
99507         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
99509 2007-10-16  Bruno Haible  <bruno@clisp.org>
99511         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
99512         * modules/malloc-posix (License): Likewise.
99513         * modules/realloc-posix (License): Likewise.
99514         * modules/calloc-posix (License): Likewise.
99515         * modules/intprops (License): Change from GPL to LGPL, with
99516         Paul Eggert's approval.
99518 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
99520         Merge glibc changes into lib/glob.c.
99522         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
99523         2007-10-15 04:59:03 UTC.  Here are the changes:
99525         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
99527         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
99529         * lib/glob.c: Add some branch prediction throughout.
99531         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
99533         [BZ #5103]
99534         * lib/glob.c (glob): Recognize patterns starting \/.
99536         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
99538         [BZ #3996]
99539         * lib/glob.c (attribute_hidden): Define if not defined.
99540         (glob): Unescape dirname, filename or username when needed and not
99541         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
99542         is NULL.  Handle unescaped [ in pattern without closing ].
99543         Don't pass GLOB_CHECK down to recursive glob for directories.
99544         (__glob_pattern_type): New function.
99545         (__glob_pattern_p): Implement using __glob_pattern_type.
99546         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
99547         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
99548         Remove unreachable code.
99550         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
99552         * lib/glob.c (glob_in_dir): Add some comments and asserts to
99553         explain why there are no leaks.
99555         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
99557         [BZ #3253]
99558         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
99559         time, rather allocate increasingly bigger arrays of pointers, if
99560         possible with alloca, if too large with malloc.
99562 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
99564         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
99565         Problem reported by H.Merijn Brand in
99566         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
99567         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
99568         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99570 2007-10-15  Bruno Haible  <bruno@clisp.org>
99572         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
99573         with explicit rpl_ prefix.
99574         * lib/fopen.c (fopen): Likewise.
99575         * lib/freopen.c (freopen): Likewise.
99576         * lib/iconv.c (iconv): Likewise.
99577         * lib/iconv_close.c (iconv_close): Likewise.
99579 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99581         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
99583 2007-10-15  Bruno Haible  <bruno@clisp.org>
99585         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
99586         <stddef.h> instead of <stdlib.h> since we only need NULL.
99587         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99589 2007-10-15  Bruno Haible  <bruno@clisp.org>
99591         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
99592         Replace paragraph talking about LIBOBJS.
99593         Reported by Colin Watson <cjwatson@debian.org>.
99595 2007-10-15  Bruno Haible  <bruno@clisp.org>
99597         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
99598         <stdlib.h> before using NULL.
99600 2007-10-15  Simon Josefsson  <simon@josefsson.org>
99602         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
99603         Reported by Albert Chin <china@thewrittenword.com>.
99605 2007-10-14  Bruno Haible  <bruno@clisp.org>
99607         * modules/iconv_open-utf-tests: New file.
99608         * tests/test-iconv-utf.c: New file.
99610         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
99611         * modules/iconv_open-utf: New file.
99612         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
99613         (iconv, iconv_close): New declarations.
99614         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
99615         be defined.
99616         (iconv_open): Add special handling of conversion between UTF-8 and
99617         UTF-{16,32}{BE,LE}.
99618         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
99619         * lib/iconv_close.c: New file.
99620         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
99621         gl_FUNC_ICONV_OPEN.
99622         (gl_FUNC_ICONV_OPEN): Use it.
99623         (gl_FUNC_ICONV_OPEN_UTF): New macro.
99624         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
99625         and REPLACE_ICONV_UTF.
99626         * modules/iconv_open (Depends-on): Add c-strcase.
99627         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
99628         ICONV_CONST.
99629         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
99631 2007-10-13  Albert Chin  <china@thewrittenword.com>
99632             Bruno Haible  <bruno@clisp.org>
99634         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
99635         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
99637 2007-10-13  Bruno Haible  <bruno@clisp.org>
99639         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
99640         defined, use the ISO C99 inline semantics.
99641         * lib/argp.h (ARGP_EI): Likewise.
99643 2007-10-13  Bruno Haible  <bruno@clisp.org>
99645         Handle 'inline' change in gcc 4.3.0.
99646         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
99647         argp_fmtstream_write, argp_fmtstream_set_lmargin,
99648         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
99649         argp_fmtstream_point): Disable 'extern' declaration if the function
99650         definition is going to be provided inline.
99651         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
99652         semantics, not the ISO C99 inline semantics.
99653         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
99654         'extern' declaration if the function definition is going to be provided
99655         inline.
99656         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
99657         the GNU C inline semantics, not the ISO C99 inline semantics. With
99658         GCC 4.2, avoid a warning.
99660 2007-10-13  Bruno Haible  <bruno@clisp.org>
99662         * lib/freading.h (freading): Enable the use of __freading for
99663         glibc >= 2.7.
99664         * lib/freading.c (freading): Likewise.
99666 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
99668         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
99669         "warning: C99 inline functions are not supported; using GNU89".
99671 2007-10-12  Bruno Haible  <bruno@clisp.org>
99673         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
99674         of 2.
99675         * tests/test-ceilf2.c: New file.
99676         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
99678         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
99679         * modules/ceilf-tests: Update.
99681 2007-10-12  Bruno Haible  <bruno@clisp.org>
99683         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
99684         of 2.
99685         * tests/test-floorf2.c: New file.
99686         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
99688         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
99689         * modules/floorf-tests: Update.
99691 2007-10-12  Bruno Haible  <bruno@clisp.org>
99693         * tests/test-trunc2.c: New file.
99694         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
99696         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
99697         * modules/trunc-tests: Update.
99699 2007-10-12  Bruno Haible  <bruno@clisp.org>
99701         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
99702         of 2.
99703         * tests/test-truncf2.c: New file.
99704         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
99706         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
99707         * modules/truncf-tests: Update.
99709 2007-10-11  Eric Blake  <ebb9@byu.net>
99711         Don't claim strerror is broken on Interix.
99712         * doc/functions/strerror.texi (strerror): Known broken systems are
99713         now Solaris 8, and not Interix.
99714         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
99715         Interix on cross-compile.
99716         Reported by Martin Koeppe in
99717         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
99719 2007-10-11  Bruno Haible  <bruno@clisp.org>
99721         * modules/i-ring-tests: New file.
99722         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
99723         instead of assert.
99725 2007-10-11  Bruno Haible  <bruno@clisp.org>
99727         * modules/filenamecat-tests: New file.
99728         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
99729         * lib/filenamecat.c: Remove test code.
99731 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
99733         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
99735         * lib/strerror.c: Include <string.h> always, to test interface,
99736         and to remove the need for the dummy.
99737         Include intprops.h to compute width instead of doing it ourselves
99738         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
99739         (strerror): Define it to return NULL if there's no system strerror.
99740         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
99741         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
99742         ancient pre-strerror Unix systems well any more.  Saying "unknown
99743         system error" is enough.
99744         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
99745         simpler strerror.c implementation.
99746         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
99747         Simplify the tests to reflect the simpler strerror implementation.
99748         * modules/strerror (Depends-on): Add intprops.
99750 2007-10-09  Eric Blake  <ebb9@byu.net>
99752         Silence test-fpending.
99753         * modules/fpending-tests (Files): Add wrapper script.
99754         * tests/test-fpending.sh: New file.
99756 2007-10-09  Bruno Haible  <bruno@clisp.org>
99758         * MODULES.html.sh (func_module): Don't create a hyperlink for
99759         function names like 'printf_frexp'.
99760         (Misc): Add crc, memxor.
99761         (Characteristics of floating types): New section.
99762         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
99763         isnanf-nolibm, signbit, trunc, truncf, truncl.
99764         (Enhancements for ISO C 99 functions): New subsection Input/output.
99765         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
99766         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
99767         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
99768         (Compatibility checks for POSIX:2001 functions): Add clock-time.
99769         (Enhancements for POSIX:2001 functions): Add chdir-long.
99770         (File system functions): Add areadlink, chdir-safer, read-file.
99771         Remove cycle-check.
99772         (File system as inode set): New section.
99773         (Date and time): Add gethrxtime.
99774         (Multithreading): Add openmp.
99775         (Internationalization functions): Add localename.
99776         (Unicode string functions): Add unistr/u*-mbsnlen.
99777         (Support for maintaining and releasing projects): Add git-version-gen.
99778         (Lone files): Remove directories.
99780 2007-10-08  Ben Pfaff  <blp@gnu.org>
99782         * lib/xmalloca.h: Fix typo in comment.
99784 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
99786         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
99787         when avoiding problems with integer overflow.  Use a portable test
99788         instead.
99790 2007-10-08  Simon Josefsson  <simon@josefsson.org>
99792         * modules/dummy (License): Change to LGPLv2+.
99793         * modules/float (License): Likewise
99794         * modules/realloc (License): Likewise
99795         * modules/stdlib (License): Likewise
99797 2007-10-07  Bruno Haible  <bruno@clisp.org>
99799         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
99800         * floor.c (TWO_MANT_DIG): Likewise.
99801         * ceil.c (TWO_MANT_DIG): Likewise.
99802         Reported by Ben Pfaff.
99804 2007-10-07  Bruno Haible  <bruno@clisp.org>
99806         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
99807         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
99808         * lib/frexp.c (FUNC): Likewise.
99809         * lib/printf-frexp.h (printf_frexp): Likewise.
99810         * lib/printf-frexpl.h (printf_frexpl): Likewise.
99811         * lib/printf-frexp.c (FUNC): Likewise.
99812         Suggested by Jim Meyering.
99814 2007-10-07  Jim Meyering  <meyering@redhat.com>
99816         Make xnanosleep's integer overflow test more robust.
99817         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
99818         so that gcc-4.3.0 doesn't optimize away this test for overflow.
99820 2007-10-07  Bruno Haible  <bruno@clisp.org>
99822         * NEWS: Mention the license change.
99824         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
99825         abbreviations in the modules files.
99827         Change copyright notice from GPLv2+ to GPLv3+.
99828         * README: Change copyright notice.
99829         * MODULES.html.sh: Likewise.
99830         * build-aux/bootstrap.conf: Likewise.
99831         * build-aux/config.libpath: Likewise.
99832         * build-aux/csharpcomp.sh.in: Likewise.
99833         * build-aux/csharpexec.sh.in: Likewise.
99834         * build-aux/install-reloc: Likewise.
99835         * build-aux/javacomp.sh.in: Likewise.
99836         * build-aux/javaexec.sh.in: Likewise.
99837         * build-aux/ldd.sh.in: Likewise.
99838         * build-aux/reloc-ldflags: Likewise.
99839         * build-aux/relocatable.sh.in: Likewise.
99840         * build-aux/x-to-1.in: Likewise.
99841         * check-module: Likewise.
99842         * config/srclistvars.sh: Likewise.
99843         * gnulib-tool: Likewise.
99844         * lib/acl-internal.h: Likewise.
99845         * lib/acl.c: Likewise.
99846         * lib/acl.h: Likewise.
99847         * lib/acl_entries.c: Likewise.
99848         * lib/areadlink-with-size.c: Likewise.
99849         * lib/areadlink.c: Likewise.
99850         * lib/areadlink.h: Likewise.
99851         * lib/argmatch.c: Likewise.
99852         * lib/argmatch.h: Likewise.
99853         * lib/argp-ba.c: Likewise.
99854         * lib/argp-eexst.c: Likewise.
99855         * lib/argp-fmtstream.c: Likewise.
99856         * lib/argp-fmtstream.h: Likewise.
99857         * lib/argp-fs-xinl.c: Likewise.
99858         * lib/argp-help.c: Likewise.
99859         * lib/argp-namefrob.h: Likewise.
99860         * lib/argp-parse.c: Likewise.
99861         * lib/argp-pin.c: Likewise.
99862         * lib/argp-pv.c: Likewise.
99863         * lib/argp-pvh.c: Likewise.
99864         * lib/argp-xinl.c: Likewise.
99865         * lib/argp.h: Likewise.
99866         * lib/at-func.c: Likewise.
99867         * lib/atanl.c: Likewise.
99868         * lib/backupfile.c: Likewise.
99869         * lib/backupfile.h: Likewise.
99870         * lib/basename.c: Likewise.
99871         * lib/binary-io.h: Likewise.
99872         * lib/byteswap.in.h: Likewise.
99873         * lib/c-stack.c: Likewise.
99874         * lib/c-stack.h: Likewise.
99875         * lib/c-strcasestr.c: Likewise.
99876         * lib/c-strcasestr.h: Likewise.
99877         * lib/c-strstr.c: Likewise.
99878         * lib/c-strstr.h: Likewise.
99879         * lib/c-strtod.c: Likewise.
99880         * lib/calloc.c: Likewise.
99881         * lib/canon-host.c: Likewise.
99882         * lib/canon-host.h: Likewise.
99883         * lib/canonicalize-lgpl.c: Likewise.
99884         * lib/canonicalize.c: Likewise.
99885         * lib/canonicalize.h: Likewise.
99886         * lib/ceil.c: Likewise.
99887         * lib/ceilf.c: Likewise.
99888         * lib/ceill.c: Likewise.
99889         * lib/chdir-long.c: Likewise.
99890         * lib/chdir-long.h: Likewise.
99891         * lib/chdir-safer.c: Likewise.
99892         * lib/chdir-safer.h: Likewise.
99893         * lib/chown.c: Likewise.
99894         * lib/classpath.c: Likewise.
99895         * lib/classpath.h: Likewise.
99896         * lib/clean-temp.c: Likewise.
99897         * lib/clean-temp.h: Likewise.
99898         * lib/cloexec.c: Likewise.
99899         * lib/close-stream.c: Likewise.
99900         * lib/closein.c: Likewise.
99901         * lib/closein.h: Likewise.
99902         * lib/closeout.c: Likewise.
99903         * lib/closeout.h: Likewise.
99904         * lib/concat-filename.c: Likewise.
99905         * lib/copy-file.c: Likewise.
99906         * lib/copy-file.h: Likewise.
99907         * lib/count-one-bits.h: Likewise.
99908         * lib/crc.c: Likewise.
99909         * lib/crc.h: Likewise.
99910         * lib/creat-safer.c: Likewise.
99911         * lib/csharpcomp.c: Likewise.
99912         * lib/csharpcomp.h: Likewise.
99913         * lib/csharpexec.c: Likewise.
99914         * lib/csharpexec.h: Likewise.
99915         * lib/cycle-check.c: Likewise.
99916         * lib/cycle-check.h: Likewise.
99917         * lib/diacrit.c: Likewise.
99918         * lib/diacrit.h: Likewise.
99919         * lib/diffseq.h: Likewise.
99920         * lib/dirchownmod.c: Likewise.
99921         * lib/dirent.in.h: Likewise.
99922         * lib/dirfd.c: Likewise.
99923         * lib/dirfd.h: Likewise.
99924         * lib/dirname.c: Likewise.
99925         * lib/dirname.h: Likewise.
99926         * lib/dummy.c: Likewise.
99927         * lib/dup-safer.c: Likewise.
99928         * lib/dup2.c: Likewise.
99929         * lib/eealloc.h: Likewise.
99930         * lib/error.c: Likewise.
99931         * lib/error.h: Likewise.
99932         * lib/euidaccess.c: Likewise.
99933         * lib/exclude.c: Likewise.
99934         * lib/exclude.h: Likewise.
99935         * lib/execute.c: Likewise.
99936         * lib/execute.h: Likewise.
99937         * lib/exitfail.c: Likewise.
99938         * lib/exitfail.h: Likewise.
99939         * lib/expl.c: Likewise.
99940         * lib/fatal-signal.c: Likewise.
99941         * lib/fatal-signal.h: Likewise.
99942         * lib/fbufmode.c: Likewise.
99943         * lib/fbufmode.h: Likewise.
99944         * lib/fchdir.c: Likewise.
99945         * lib/fchmodat.c: Likewise.
99946         * lib/fchownat.c: Likewise.
99947         * lib/fcntl--.h: Likewise.
99948         * lib/fcntl-safer.h: Likewise.
99949         * lib/fcntl.in.h: Likewise.
99950         * lib/fd-safer.c: Likewise.
99951         * lib/fflush.c: Likewise.
99952         * lib/file-has-acl.c: Likewise.
99953         * lib/file-set.c: Likewise.
99954         * lib/file-type.c: Likewise.
99955         * lib/file-type.h: Likewise.
99956         * lib/fileblocks.c: Likewise.
99957         * lib/filemode.c: Likewise.
99958         * lib/filemode.h: Likewise.
99959         * lib/filename.h: Likewise.
99960         * lib/filenamecat.c: Likewise.
99961         * lib/filenamecat.h: Likewise.
99962         * lib/findprog.c: Likewise.
99963         * lib/findprog.h: Likewise.
99964         * lib/float.in.h: Likewise.
99965         * lib/floor.c: Likewise.
99966         * lib/floorf.c: Likewise.
99967         * lib/floorl.c: Likewise.
99968         * lib/fopen-safer.c: Likewise.
99969         * lib/fopen.c: Likewise.
99970         * lib/fpending.c: Likewise.
99971         * lib/fpending.h: Likewise.
99972         * lib/fprintf.c: Likewise.
99973         * lib/fprintftime.h: Likewise.
99974         * lib/fpucw.h: Likewise.
99975         * lib/fpurge.c: Likewise.
99976         * lib/fpurge.h: Likewise.
99977         * lib/freadable.c: Likewise.
99978         * lib/freadable.h: Likewise.
99979         * lib/freadahead.c: Likewise.
99980         * lib/freadahead.h: Likewise.
99981         * lib/freading.c: Likewise.
99982         * lib/freading.h: Likewise.
99983         * lib/free.c: Likewise.
99984         * lib/freopen.c: Likewise.
99985         * lib/frexp.c: Likewise.
99986         * lib/frexpl.c: Likewise.
99987         * lib/fseek.c: Likewise.
99988         * lib/fseterr.c: Likewise.
99989         * lib/fseterr.h: Likewise.
99990         * lib/fstatat.c: Likewise.
99991         * lib/fstrcmp.c: Likewise.
99992         * lib/fstrcmp.h: Likewise.
99993         * lib/fsusage.c: Likewise.
99994         * lib/fsusage.h: Likewise.
99995         * lib/ftell.c: Likewise.
99996         * lib/ftello.c: Likewise.
99997         * lib/fts-cycle.c: Likewise.
99998         * lib/fts.c: Likewise.
99999         * lib/fts_.h: Likewise.
100000         * lib/full-read.c: Likewise.
100001         * lib/full-read.h: Likewise.
100002         * lib/full-write.c: Likewise.
100003         * lib/full-write.h: Likewise.
100004         * lib/fwritable.c: Likewise.
100005         * lib/fwritable.h: Likewise.
100006         * lib/fwriteerror.c: Likewise.
100007         * lib/fwriteerror.h: Likewise.
100008         * lib/fwriting.c: Likewise.
100009         * lib/fwriting.h: Likewise.
100010         * lib/gcd.c: Likewise.
100011         * lib/gcd.h: Likewise.
100012         * lib/getcwd.c: Likewise.
100013         * lib/getdate.h: Likewise.
100014         * lib/getdate.y: Likewise.
100015         * lib/getdomainname.c: Likewise.
100016         * lib/getdomainname.h: Likewise.
100017         * lib/getgroups.c: Likewise.
100018         * lib/gethostname.c: Likewise.
100019         * lib/gethrxtime.c: Likewise.
100020         * lib/gethrxtime.h: Likewise.
100021         * lib/getloadavg.c: Likewise.
100022         * lib/getndelim2.c: Likewise.
100023         * lib/getndelim2.h: Likewise.
100024         * lib/getnline.c: Likewise.
100025         * lib/getnline.h: Likewise.
100026         * lib/getopt.c: Likewise.
100027         * lib/getopt.in.h: Likewise.
100028         * lib/getopt1.c: Likewise.
100029         * lib/getopt_int.h: Likewise.
100030         * lib/getpagesize.h: Likewise.
100031         * lib/getsubopt.c: Likewise.
100032         * lib/gettime.c: Likewise.
100033         * lib/getugroups.c: Likewise.
100034         * lib/getugroups.h: Likewise.
100035         * lib/getusershell.c: Likewise.
100036         * lib/gl_anyavltree_list1.h: Likewise.
100037         * lib/gl_anyavltree_list2.h: Likewise.
100038         * lib/gl_anyhash_list1.h: Likewise.
100039         * lib/gl_anyhash_list2.h: Likewise.
100040         * lib/gl_anylinked_list1.h: Likewise.
100041         * lib/gl_anylinked_list2.h: Likewise.
100042         * lib/gl_anyrbtree_list1.h: Likewise.
100043         * lib/gl_anyrbtree_list2.h: Likewise.
100044         * lib/gl_anytree_list1.h: Likewise.
100045         * lib/gl_anytree_list2.h: Likewise.
100046         * lib/gl_anytree_oset.h: Likewise.
100047         * lib/gl_anytreehash_list1.h: Likewise.
100048         * lib/gl_anytreehash_list2.h: Likewise.
100049         * lib/gl_array_list.c: Likewise.
100050         * lib/gl_array_list.h: Likewise.
100051         * lib/gl_array_oset.c: Likewise.
100052         * lib/gl_array_oset.h: Likewise.
100053         * lib/gl_avltree_list.c: Likewise.
100054         * lib/gl_avltree_list.h: Likewise.
100055         * lib/gl_avltree_oset.c: Likewise.
100056         * lib/gl_avltree_oset.h: Likewise.
100057         * lib/gl_avltreehash_list.c: Likewise.
100058         * lib/gl_avltreehash_list.h: Likewise.
100059         * lib/gl_carray_list.c: Likewise.
100060         * lib/gl_carray_list.h: Likewise.
100061         * lib/gl_linked_list.c: Likewise.
100062         * lib/gl_linked_list.h: Likewise.
100063         * lib/gl_linkedhash_list.c: Likewise.
100064         * lib/gl_linkedhash_list.h: Likewise.
100065         * lib/gl_list.c: Likewise.
100066         * lib/gl_list.h: Likewise.
100067         * lib/gl_oset.c: Likewise.
100068         * lib/gl_oset.h: Likewise.
100069         * lib/gl_rbtree_list.c: Likewise.
100070         * lib/gl_rbtree_list.h: Likewise.
100071         * lib/gl_rbtree_oset.c: Likewise.
100072         * lib/gl_rbtree_oset.h: Likewise.
100073         * lib/gl_rbtreehash_list.c: Likewise.
100074         * lib/gl_rbtreehash_list.h: Likewise.
100075         * lib/gl_sublist.c: Likewise.
100076         * lib/gl_sublist.h: Likewise.
100077         * lib/group-member.c: Likewise.
100078         * lib/group-member.h: Likewise.
100079         * lib/hard-locale.c: Likewise.
100080         * lib/hard-locale.h: Likewise.
100081         * lib/hash-pjw.c: Likewise.
100082         * lib/hash-pjw.h: Likewise.
100083         * lib/hash-triple.c: Likewise.
100084         * lib/hash.c: Likewise.
100085         * lib/hash.h: Likewise.
100086         * lib/human.c: Likewise.
100087         * lib/human.h: Likewise.
100088         * lib/i-ring.c: Likewise.
100089         * lib/i-ring.h: Likewise.
100090         * lib/idcache.c: Likewise.
100091         * lib/imaxabs.c: Likewise.
100092         * lib/imaxdiv.c: Likewise.
100093         * lib/inet_pton.c: Likewise.
100094         * lib/inet_pton.h: Likewise.
100095         * lib/intprops.h: Likewise.
100096         * lib/inttostr.c: Likewise.
100097         * lib/inttostr.h: Likewise.
100098         * lib/inttypes.in.h: Likewise.
100099         * lib/isapipe.c: Likewise.
100100         * lib/isdir.c: Likewise.
100101         * lib/isnan.c: Likewise.
100102         * lib/isnan.h: Likewise.
100103         * lib/isnanf.c: Likewise.
100104         * lib/isnanf.h: Likewise.
100105         * lib/isnanl-nolibm.h: Likewise.
100106         * lib/isnanl.c: Likewise.
100107         * lib/isnanl.h: Likewise.
100108         * lib/javacomp.c: Likewise.
100109         * lib/javacomp.h: Likewise.
100110         * lib/javaexec.c: Likewise.
100111         * lib/javaexec.h: Likewise.
100112         * lib/javaversion.c: Likewise.
100113         * lib/javaversion.h: Likewise.
100114         * lib/javaversion.java: Likewise.
100115         * lib/lbrkprop.h: Likewise.
100116         * lib/lchmod.h: Likewise.
100117         * lib/lchown.c: Likewise.
100118         * lib/ldexpl.c: Likewise.
100119         * lib/linebreak.c: Likewise.
100120         * lib/linebreak.h: Likewise.
100121         * lib/linebuffer.c: Likewise.
100122         * lib/linebuffer.h: Likewise.
100123         * lib/locale.in.h: Likewise.
100124         * lib/logl.c: Likewise.
100125         * lib/long-options.c: Likewise.
100126         * lib/long-options.h: Likewise.
100127         * lib/lstat.c: Likewise.
100128         * lib/lstat.h: Likewise.
100129         * lib/math.in.h: Likewise.
100130         * lib/mbchar.c: Likewise.
100131         * lib/mbchar.h: Likewise.
100132         * lib/mbfile.h: Likewise.
100133         * lib/mbiter.h: Likewise.
100134         * lib/mbscasecmp.c: Likewise.
100135         * lib/mbscasestr.c: Likewise.
100136         * lib/mbschr.c: Likewise.
100137         * lib/mbscspn.c: Likewise.
100138         * lib/mbslen.c: Likewise.
100139         * lib/mbsncasecmp.c: Likewise.
100140         * lib/mbsnlen.c: Likewise.
100141         * lib/mbspbrk.c: Likewise.
100142         * lib/mbspcasecmp.c: Likewise.
100143         * lib/mbsrchr.c: Likewise.
100144         * lib/mbssep.c: Likewise.
100145         * lib/mbsspn.c: Likewise.
100146         * lib/mbsstr.c: Likewise.
100147         * lib/mbstok_r.c: Likewise.
100148         * lib/mbswidth.c: Likewise.
100149         * lib/mbswidth.h: Likewise.
100150         * lib/mbuiter.h: Likewise.
100151         * lib/memcasecmp.c: Likewise.
100152         * lib/memcasecmp.h: Likewise.
100153         * lib/memchr.c: Likewise.
100154         * lib/memcmp.c: Likewise.
100155         * lib/memcoll.c: Likewise.
100156         * lib/memcoll.h: Likewise.
100157         * lib/memcpy.c: Likewise.
100158         * lib/memrchr.c: Likewise.
100159         * lib/mkancesdirs.c: Likewise.
100160         * lib/mkdir-p.c: Likewise.
100161         * lib/mkdir-p.h: Likewise.
100162         * lib/mkdir.c: Likewise.
100163         * lib/mkdirat.c: Likewise.
100164         * lib/mkdtemp.c: Likewise.
100165         * lib/mkstemp-safer.c: Likewise.
100166         * lib/mkstemp.c: Likewise.
100167         * lib/modechange.c: Likewise.
100168         * lib/modechange.h: Likewise.
100169         * lib/mountlist.c: Likewise.
100170         * lib/mountlist.h: Likewise.
100171         * lib/mpsort.c: Likewise.
100172         * lib/nanosleep.c: Likewise.
100173         * lib/obstack.c: Likewise.
100174         * lib/obstack.h: Likewise.
100175         * lib/open-safer.c: Likewise.
100176         * lib/open.c: Likewise.
100177         * lib/openat-die.c: Likewise.
100178         * lib/openat-priv.h: Likewise.
100179         * lib/openat-proc.c: Likewise.
100180         * lib/openat.c: Likewise.
100181         * lib/openat.h: Likewise.
100182         * lib/pagealign_alloc.c: Likewise.
100183         * lib/pagealign_alloc.h: Likewise.
100184         * lib/physmem.c: Likewise.
100185         * lib/physmem.h: Likewise.
100186         * lib/pipe-safer.c: Likewise.
100187         * lib/pipe.c: Likewise.
100188         * lib/pipe.h: Likewise.
100189         * lib/posixtm.c: Likewise.
100190         * lib/posixtm.h: Likewise.
100191         * lib/posixver.c: Likewise.
100192         * lib/printf-frexp.c: Likewise.
100193         * lib/printf-frexp.h: Likewise.
100194         * lib/printf-frexpl.c: Likewise.
100195         * lib/printf-frexpl.h: Likewise.
100196         * lib/printf.c: Likewise.
100197         * lib/progname.c: Likewise.
100198         * lib/progname.h: Likewise.
100199         * lib/progreloc.c: Likewise.
100200         * lib/putenv.c: Likewise.
100201         * lib/quote.c: Likewise.
100202         * lib/quote.h: Likewise.
100203         * lib/quotearg.c: Likewise.
100204         * lib/quotearg.h: Likewise.
100205         * lib/raise.c: Likewise.
100206         * lib/readline.c: Likewise.
100207         * lib/readline.h: Likewise.
100208         * lib/readlink.c: Likewise.
100209         * lib/readtokens.c: Likewise.
100210         * lib/readtokens.h: Likewise.
100211         * lib/readtokens0.c: Likewise.
100212         * lib/readtokens0.h: Likewise.
100213         * lib/readutmp.c: Likewise.
100214         * lib/readutmp.h: Likewise.
100215         * lib/realloc.c: Likewise.
100216         * lib/relocwrapper.c: Likewise.
100217         * lib/rename-dest-slash.c: Likewise.
100218         * lib/rename.c: Likewise.
100219         * lib/rmdir.c: Likewise.
100220         * lib/rpmatch.c: Likewise.
100221         * lib/safe-read.c: Likewise.
100222         * lib/safe-read.h: Likewise.
100223         * lib/safe-write.c: Likewise.
100224         * lib/safe-write.h: Likewise.
100225         * lib/same-inode.h: Likewise.
100226         * lib/same.c: Likewise.
100227         * lib/same.h: Likewise.
100228         * lib/save-cwd.c: Likewise.
100229         * lib/save-cwd.h: Likewise.
100230         * lib/savedir.c: Likewise.
100231         * lib/savedir.h: Likewise.
100232         * lib/savewd.c: Likewise.
100233         * lib/savewd.h: Likewise.
100234         * lib/search.in.h: Likewise.
100235         * lib/setenv.c: Likewise.
100236         * lib/setenv.h: Likewise.
100237         * lib/settime.c: Likewise.
100238         * lib/sh-quote.c: Likewise.
100239         * lib/sh-quote.h: Likewise.
100240         * lib/sig2str.c: Likewise.
100241         * lib/sig2str.h: Likewise.
100242         * lib/signal.in.h: Likewise.
100243         * lib/signbitd.c: Likewise.
100244         * lib/signbitf.c: Likewise.
100245         * lib/signbitl.c: Likewise.
100246         * lib/sigprocmask.c: Likewise.
100247         * lib/sincosl.c: Likewise.
100248         * lib/sleep.c: Likewise.
100249         * lib/sprintf.c: Likewise.
100250         * lib/sqrtl.c: Likewise.
100251         * lib/stat-time.h: Likewise.
100252         * lib/stdio--.h: Likewise.
100253         * lib/stdio-safer.h: Likewise.
100254         * lib/stdlib--.h: Likewise.
100255         * lib/stdlib-safer.h: Likewise.
100256         * lib/stdlib.in.h: Likewise.
100257         * lib/stpcpy.c: Likewise.
100258         * lib/stpncpy.c: Likewise.
100259         * lib/strchrnul.c: Likewise.
100260         * lib/strcspn.c: Likewise.
100261         * lib/strerror.c: Likewise.
100262         * lib/strftime.c: Likewise.
100263         * lib/strftime.h: Likewise.
100264         * lib/striconveh.c: Likewise.
100265         * lib/striconveh.h: Likewise.
100266         * lib/striconveha.c: Likewise.
100267         * lib/striconveha.h: Likewise.
100268         * lib/stripslash.c: Likewise.
100269         * lib/strnlen1.c: Likewise.
100270         * lib/strnlen1.h: Likewise.
100271         * lib/strtod.c: Likewise.
100272         * lib/strtoimax.c: Likewise.
100273         * lib/strtok_r.c: Likewise.
100274         * lib/strtol.c: Likewise.
100275         * lib/strtoll.c: Likewise.
100276         * lib/strtoul.c: Likewise.
100277         * lib/strtoull.c: Likewise.
100278         * lib/sysexits.in.h: Likewise.
100279         * lib/tempname.c: Likewise.
100280         * lib/tempname.h: Likewise.
100281         * lib/timespec.h: Likewise.
100282         * lib/tls.c: Likewise.
100283         * lib/tls.h: Likewise.
100284         * lib/tmpdir.c: Likewise.
100285         * lib/tmpdir.h: Likewise.
100286         * lib/tmpfile-safer.c: Likewise.
100287         * lib/tmpfile.c: Likewise.
100288         * lib/trigl.c: Likewise.
100289         * lib/trigl.h: Likewise.
100290         * lib/trim.c: Likewise.
100291         * lib/trim.h: Likewise.
100292         * lib/trunc.c: Likewise.
100293         * lib/truncf.c: Likewise.
100294         * lib/truncl.c: Likewise.
100295         * lib/tsearch.c: Likewise.
100296         * lib/unicodeio.c: Likewise.
100297         * lib/unicodeio.h: Likewise.
100298         * lib/unistd--.h: Likewise.
100299         * lib/unistd-safer.h: Likewise.
100300         * lib/unistdio/ulc-fprintf.c: Likewise.
100301         * lib/unistdio/ulc-vfprintf.c: Likewise.
100302         * lib/unlinkdir.c: Likewise.
100303         * lib/unlinkdir.h: Likewise.
100304         * lib/unlocked-io.h: Likewise.
100305         * lib/unsetenv.c: Likewise.
100306         * lib/userspec.c: Likewise.
100307         * lib/utime.c: Likewise.
100308         * lib/utimecmp.c: Likewise.
100309         * lib/utimecmp.h: Likewise.
100310         * lib/utimens.c: Likewise.
100311         * lib/verify.h: Likewise.
100312         * lib/verror.c: Likewise.
100313         * lib/verror.h: Likewise.
100314         * lib/version-etc-fsf.c: Likewise.
100315         * lib/version-etc.c: Likewise.
100316         * lib/version-etc.h: Likewise.
100317         * lib/vfprintf.c: Likewise.
100318         * lib/vprintf.c: Likewise.
100319         * lib/vsprintf.c: Likewise.
100320         * lib/w32spawn.h: Likewise.
100321         * lib/wait-process.c: Likewise.
100322         * lib/wait-process.h: Likewise.
100323         * lib/wcwidth.c: Likewise.
100324         * lib/write-any-file.c: Likewise.
100325         * lib/xalloc-die.c: Likewise.
100326         * lib/xalloc.h: Likewise.
100327         * lib/xasprintf.c: Likewise.
100328         * lib/xgetcwd.c: Likewise.
100329         * lib/xgetcwd.h: Likewise.
100330         * lib/xgetdomainname.c: Likewise.
100331         * lib/xgetdomainname.h: Likewise.
100332         * lib/xgethostname.c: Likewise.
100333         * lib/xmalloc.c: Likewise.
100334         * lib/xmalloca.c: Likewise.
100335         * lib/xmalloca.h: Likewise.
100336         * lib/xmemcoll.c: Likewise.
100337         * lib/xnanosleep.c: Likewise.
100338         * lib/xreadlink.c: Likewise.
100339         * lib/xreadlink.h: Likewise.
100340         * lib/xsetenv.c: Likewise.
100341         * lib/xsetenv.h: Likewise.
100342         * lib/xstriconv.c: Likewise.
100343         * lib/xstriconv.h: Likewise.
100344         * lib/xstrndup.c: Likewise.
100345         * lib/xstrndup.h: Likewise.
100346         * lib/xstrtod.c: Likewise.
100347         * lib/xstrtod.h: Likewise.
100348         * lib/xstrtol-error.c: Likewise.
100349         * lib/xstrtol.c: Likewise.
100350         * lib/xstrtol.h: Likewise.
100351         * lib/xtime.h: Likewise.
100352         * lib/xvasprintf.c: Likewise.
100353         * lib/xvasprintf.h: Likewise.
100354         * lib/yesno.c: Likewise.
100355         * lib/yesno.h: Likewise.
100356         * posix-modules: Likewise.
100357         * tests/test-alloca-opt.c: Likewise.
100358         * tests/test-arcfour.c: Likewise.
100359         * tests/test-arctwo.c: Likewise.
100360         * tests/test-argmatch.c: Likewise.
100361         * tests/test-argp-2.sh: Likewise.
100362         * tests/test-argp.c: Likewise.
100363         * tests/test-arpa_inet.c: Likewise.
100364         * tests/test-array_list.c: Likewise.
100365         * tests/test-array_oset.c: Likewise.
100366         * tests/test-atexit.c: Likewise.
100367         * tests/test-avltree_list.c: Likewise.
100368         * tests/test-avltree_oset.c: Likewise.
100369         * tests/test-avltreehash_list.c: Likewise.
100370         * tests/test-base64.c: Likewise.
100371         * tests/test-binary-io.c: Likewise.
100372         * tests/test-byteswap.c: Likewise.
100373         * tests/test-c-ctype.c: Likewise.
100374         * tests/test-c-strcasecmp.c: Likewise.
100375         * tests/test-c-strcasestr.c: Likewise.
100376         * tests/test-c-strncasecmp.c: Likewise.
100377         * tests/test-c-strstr.c: Likewise.
100378         * tests/test-canonicalize-lgpl.c: Likewise.
100379         * tests/test-canonicalize.c: Likewise.
100380         * tests/test-carray_list.c: Likewise.
100381         * tests/test-ceilf.c: Likewise.
100382         * tests/test-ceill.c: Likewise.
100383         * tests/test-count-one-bits.c: Likewise.
100384         * tests/test-crc.c: Likewise.
100385         * tests/test-dirname.c: Likewise.
100386         * tests/test-fbufmode.c: Likewise.
100387         * tests/test-fcntl.c: Likewise.
100388         * tests/test-fflush.c: Likewise.
100389         * tests/test-floorf.c: Likewise.
100390         * tests/test-floorl.c: Likewise.
100391         * tests/test-fopen.c: Likewise.
100392         * tests/test-fprintf-posix.c: Likewise.
100393         * tests/test-fprintf-posix.h: Likewise.
100394         * tests/test-fpurge.c: Likewise.
100395         * tests/test-freadable.c: Likewise.
100396         * tests/test-freadahead.c: Likewise.
100397         * tests/test-freading.c: Likewise.
100398         * tests/test-freopen.c: Likewise.
100399         * tests/test-frexp.c: Likewise.
100400         * tests/test-frexpl.c: Likewise.
100401         * tests/test-fseek.c: Likewise.
100402         * tests/test-fseeko.c: Likewise.
100403         * tests/test-fseterr.c: Likewise.
100404         * tests/test-fstrcmp.c: Likewise.
100405         * tests/test-ftell.c: Likewise.
100406         * tests/test-ftello.c: Likewise.
100407         * tests/test-fwritable.c: Likewise.
100408         * tests/test-fwriting.c: Likewise.
100409         * tests/test-getaddrinfo.c: Likewise.
100410         * tests/test-getpass.c: Likewise.
100411         * tests/test-gettimeofday.c: Likewise.
100412         * tests/test-hmac-md5.c: Likewise.
100413         * tests/test-hmac-sha1.c: Likewise.
100414         * tests/test-iconv.c: Likewise.
100415         * tests/test-iconvme.c: Likewise.
100416         * tests/test-inttypes.c: Likewise.
100417         * tests/test-isnan.c: Likewise.
100418         * tests/test-isnanf.c: Likewise.
100419         * tests/test-isnanl-nolibm.c: Likewise.
100420         * tests/test-isnanl.c: Likewise.
100421         * tests/test-isnanl.h: Likewise.
100422         * tests/test-ldexpl.c: Likewise.
100423         * tests/test-linked_list.c: Likewise.
100424         * tests/test-linkedhash_list.c: Likewise.
100425         * tests/test-locale.c: Likewise.
100426         * tests/test-localename.c: Likewise.
100427         * tests/test-lock.c: Likewise.
100428         * tests/test-lseek.c: Likewise.
100429         * tests/test-malloca.c: Likewise.
100430         * tests/test-math.c: Likewise.
100431         * tests/test-mbscasecmp.c: Likewise.
100432         * tests/test-mbscasestr1.c: Likewise.
100433         * tests/test-mbscasestr2.c: Likewise.
100434         * tests/test-mbscasestr3.c: Likewise.
100435         * tests/test-mbscasestr4.c: Likewise.
100436         * tests/test-mbschr.c: Likewise.
100437         * tests/test-mbscspn.c: Likewise.
100438         * tests/test-mbsncasecmp.c: Likewise.
100439         * tests/test-mbspbrk.c: Likewise.
100440         * tests/test-mbspcasecmp.c: Likewise.
100441         * tests/test-mbsrchr.c: Likewise.
100442         * tests/test-mbsspn.c: Likewise.
100443         * tests/test-mbsstr1.c: Likewise.
100444         * tests/test-mbsstr2.c: Likewise.
100445         * tests/test-mbsstr3.c: Likewise.
100446         * tests/test-md5.c: Likewise.
100447         * tests/test-memmem.c: Likewise.
100448         * tests/test-netinet_in.c: Likewise.
100449         * tests/test-open.c: Likewise.
100450         * tests/test-printf-frexp.c: Likewise.
100451         * tests/test-printf-frexpl.c: Likewise.
100452         * tests/test-printf-posix.c: Likewise.
100453         * tests/test-printf-posix.h: Likewise.
100454         * tests/test-rbtree_list.c: Likewise.
100455         * tests/test-rbtree_oset.c: Likewise.
100456         * tests/test-rbtreehash_list.c: Likewise.
100457         * tests/test-read-file.c: Likewise.
100458         * tests/test-rijndael.c: Likewise.
100459         * tests/test-search.c: Likewise.
100460         * tests/test-signbit.c: Likewise.
100461         * tests/test-sleep.c: Likewise.
100462         * tests/test-snprintf-posix.c: Likewise.
100463         * tests/test-snprintf-posix.h: Likewise.
100464         * tests/test-snprintf.c: Likewise.
100465         * tests/test-sprintf-posix.c: Likewise.
100466         * tests/test-sprintf-posix.h: Likewise.
100467         * tests/test-stat-time.c: Likewise.
100468         * tests/test-stdbool.c: Likewise.
100469         * tests/test-stdint.c: Likewise.
100470         * tests/test-stdio.c: Likewise.
100471         * tests/test-stdlib.c: Likewise.
100472         * tests/test-stpncpy.c: Likewise.
100473         * tests/test-strcasestr.c: Likewise.
100474         * tests/test-striconv.c: Likewise.
100475         * tests/test-striconveh.c: Likewise.
100476         * tests/test-striconveha.c: Likewise.
100477         * tests/test-string.c: Likewise.
100478         * tests/test-sys_select.c: Likewise.
100479         * tests/test-sys_socket.c: Likewise.
100480         * tests/test-sys_stat.c: Likewise.
100481         * tests/test-sys_time.c: Likewise.
100482         * tests/test-sysexits.c: Likewise.
100483         * tests/test-time.c: Likewise.
100484         * tests/test-tls.c: Likewise.
100485         * tests/test-trunc.c: Likewise.
100486         * tests/test-truncf.c: Likewise.
100487         * tests/test-truncl.c: Likewise.
100488         * tests/test-unistd.c: Likewise.
100489         * tests/test-vasnprintf-posix.c: Likewise.
100490         * tests/test-vasnprintf-posix2.c: Likewise.
100491         * tests/test-vasnprintf.c: Likewise.
100492         * tests/test-vasprintf-posix.c: Likewise.
100493         * tests/test-vasprintf.c: Likewise.
100494         * tests/test-verify.c: Likewise.
100495         * tests/test-vfprintf-posix.c: Likewise.
100496         * tests/test-vprintf-posix.c: Likewise.
100497         * tests/test-vsnprintf-posix.c: Likewise.
100498         * tests/test-vsnprintf.c: Likewise.
100499         * tests/test-vsprintf-posix.c: Likewise.
100500         * tests/test-wchar.c: Likewise.
100501         * tests/test-wctype.c: Likewise.
100502         * tests/test-wcwidth.c: Likewise.
100503         * tests/test-xstrtol.c: Likewise.
100504         * tests/test-xvasprintf.c: Likewise.
100505         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
100506         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
100507         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
100508         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
100509         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
100510         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
100511         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
100512         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
100513         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
100514         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
100515         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
100516         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
100517         * tests/uniname/test-uninames.c: Likewise.
100518         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
100519         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
100520         * tests/unistdio/test-u16-printf1.h: Likewise.
100521         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
100522         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
100523         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
100524         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
100525         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
100526         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
100527         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
100528         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
100529         * tests/unistdio/test-u32-printf1.h: Likewise.
100530         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
100531         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
100532         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
100533         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
100534         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
100535         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
100536         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
100537         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
100538         * tests/unistdio/test-u8-printf1.h: Likewise.
100539         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
100540         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
100541         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
100542         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
100543         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
100544         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
100545         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
100546         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
100547         * tests/unistdio/test-ulc-printf1.h: Likewise.
100548         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
100549         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
100550         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
100551         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
100552         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
100553         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
100554         * tests/uniwidth/test-u16-strwidth.c: Likewise.
100555         * tests/uniwidth/test-u16-width.c: Likewise.
100556         * tests/uniwidth/test-u32-strwidth.c: Likewise.
100557         * tests/uniwidth/test-u32-width.c: Likewise.
100558         * tests/uniwidth/test-u8-strwidth.c: Likewise.
100559         * tests/uniwidth/test-u8-width.c: Likewise.
100560         * tests/uniwidth/test-uc_width.c: Likewise.
100561         * config/srclist-update: Likewise.
100562         (fixlicense): Update to GPLv3+.
100564         Change copyright notice from LGPLv2.1+ to LGPLv3+.
100565         * tests/test-tsearch.c: Change copyright notice.
100567         Change copyright notice from LGPLv2.0+ to LGPLv3+.
100568         * lib/c-strcaseeq.h: Change copyright notice.
100569         * lib/streq.h: Likewise.
100570         * lib/uniconv.h: Likewise.
100571         * lib/uniconv/u-conv-from-enc.h: Likewise.
100572         * lib/uniconv/u-conv-to-enc.h: Likewise.
100573         * lib/uniconv/u-strconv-from-enc.h: Likewise.
100574         * lib/uniconv/u-strconv-to-enc.h: Likewise.
100575         * lib/uniconv/u16-conv-from-enc.c: Likewise.
100576         * lib/uniconv/u16-conv-to-enc.c: Likewise.
100577         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
100578         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
100579         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
100580         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
100581         * lib/uniconv/u32-conv-from-enc.c: Likewise.
100582         * lib/uniconv/u32-conv-to-enc.c: Likewise.
100583         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
100584         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
100585         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
100586         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
100587         * lib/uniconv/u8-conv-from-enc.c: Likewise.
100588         * lib/uniconv/u8-conv-to-enc.c: Likewise.
100589         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
100590         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
100591         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
100592         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
100593         * lib/uniname.h: Likewise.
100594         * lib/uniname/uniname.c: Likewise.
100595         * lib/unistdio.h: Likewise.
100596         * lib/unistdio/u-asnprintf.h: Likewise.
100597         * lib/unistdio/u-asprintf.h: Likewise.
100598         * lib/unistdio/u-printf-args.c: Likewise.
100599         * lib/unistdio/u-printf-args.h: Likewise.
100600         * lib/unistdio/u-printf-parse.h: Likewise.
100601         * lib/unistdio/u-snprintf.h: Likewise.
100602         * lib/unistdio/u-sprintf.h: Likewise.
100603         * lib/unistdio/u-vasprintf.h: Likewise.
100604         * lib/unistdio/u-vsnprintf.h: Likewise.
100605         * lib/unistdio/u-vsprintf.h: Likewise.
100606         * lib/unistdio/u16-asnprintf.c: Likewise.
100607         * lib/unistdio/u16-asprintf.c: Likewise.
100608         * lib/unistdio/u16-printf-parse.c: Likewise.
100609         * lib/unistdio/u16-snprintf.c: Likewise.
100610         * lib/unistdio/u16-sprintf.c: Likewise.
100611         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
100612         * lib/unistdio/u16-u16-asprintf.c: Likewise.
100613         * lib/unistdio/u16-u16-snprintf.c: Likewise.
100614         * lib/unistdio/u16-u16-sprintf.c: Likewise.
100615         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
100616         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
100617         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
100618         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
100619         * lib/unistdio/u16-vasnprintf.c: Likewise.
100620         * lib/unistdio/u16-vasprintf.c: Likewise.
100621         * lib/unistdio/u16-vsnprintf.c: Likewise.
100622         * lib/unistdio/u16-vsprintf.c: Likewise.
100623         * lib/unistdio/u32-asnprintf.c: Likewise.
100624         * lib/unistdio/u32-asprintf.c: Likewise.
100625         * lib/unistdio/u32-printf-parse.c: Likewise.
100626         * lib/unistdio/u32-snprintf.c: Likewise.
100627         * lib/unistdio/u32-sprintf.c: Likewise.
100628         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
100629         * lib/unistdio/u32-u32-asprintf.c: Likewise.
100630         * lib/unistdio/u32-u32-snprintf.c: Likewise.
100631         * lib/unistdio/u32-u32-sprintf.c: Likewise.
100632         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
100633         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
100634         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
100635         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
100636         * lib/unistdio/u32-vasnprintf.c: Likewise.
100637         * lib/unistdio/u32-vasprintf.c: Likewise.
100638         * lib/unistdio/u32-vsnprintf.c: Likewise.
100639         * lib/unistdio/u32-vsprintf.c: Likewise.
100640         * lib/unistdio/u8-asnprintf.c: Likewise.
100641         * lib/unistdio/u8-asprintf.c: Likewise.
100642         * lib/unistdio/u8-printf-parse.c: Likewise.
100643         * lib/unistdio/u8-snprintf.c: Likewise.
100644         * lib/unistdio/u8-sprintf.c: Likewise.
100645         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
100646         * lib/unistdio/u8-u8-asprintf.c: Likewise.
100647         * lib/unistdio/u8-u8-snprintf.c: Likewise.
100648         * lib/unistdio/u8-u8-sprintf.c: Likewise.
100649         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
100650         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
100651         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
100652         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
100653         * lib/unistdio/u8-vasnprintf.c: Likewise.
100654         * lib/unistdio/u8-vasprintf.c: Likewise.
100655         * lib/unistdio/u8-vsnprintf.c: Likewise.
100656         * lib/unistdio/u8-vsprintf.c: Likewise.
100657         * lib/unistdio/ulc-asnprintf.c: Likewise.
100658         * lib/unistdio/ulc-asprintf.c: Likewise.
100659         * lib/unistdio/ulc-printf-parse.c: Likewise.
100660         * lib/unistdio/ulc-snprintf.c: Likewise.
100661         * lib/unistdio/ulc-sprintf.c: Likewise.
100662         * lib/unistdio/ulc-vasnprintf.c: Likewise.
100663         * lib/unistdio/ulc-vasprintf.c: Likewise.
100664         * lib/unistdio/ulc-vsnprintf.c: Likewise.
100665         * lib/unistdio/ulc-vsprintf.c: Likewise.
100666         * lib/unistr.h: Likewise.
100667         * lib/unistr/u-cpy-alloc.h: Likewise.
100668         * lib/unistr/u-cpy.h: Likewise.
100669         * lib/unistr/u-endswith.h: Likewise.
100670         * lib/unistr/u-move.h: Likewise.
100671         * lib/unistr/u-set.h: Likewise.
100672         * lib/unistr/u-startswith.h: Likewise.
100673         * lib/unistr/u-stpcpy.h: Likewise.
100674         * lib/unistr/u-stpncpy.h: Likewise.
100675         * lib/unistr/u-strcat.h: Likewise.
100676         * lib/unistr/u-strcpy.h: Likewise.
100677         * lib/unistr/u-strcspn.h: Likewise.
100678         * lib/unistr/u-strdup.h: Likewise.
100679         * lib/unistr/u-strlen.h: Likewise.
100680         * lib/unistr/u-strncat.h: Likewise.
100681         * lib/unistr/u-strncpy.h: Likewise.
100682         * lib/unistr/u-strnlen.h: Likewise.
100683         * lib/unistr/u-strpbrk.h: Likewise.
100684         * lib/unistr/u-strspn.h: Likewise.
100685         * lib/unistr/u-strstr.h: Likewise.
100686         * lib/unistr/u-strtok.h: Likewise.
100687         * lib/unistr/u16-check.c: Likewise.
100688         * lib/unistr/u16-chr.c: Likewise.
100689         * lib/unistr/u16-cmp.c: Likewise.
100690         * lib/unistr/u16-cpy-alloc.c: Likewise.
100691         * lib/unistr/u16-cpy.c: Likewise.
100692         * lib/unistr/u16-endswith.c: Likewise.
100693         * lib/unistr/u16-mblen.c: Likewise.
100694         * lib/unistr/u16-mbsnlen.c: Likewise.
100695         * lib/unistr/u16-mbtouc-aux.c: Likewise.
100696         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
100697         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
100698         * lib/unistr/u16-mbtouc.c: Likewise.
100699         * lib/unistr/u16-mbtoucr.c: Likewise.
100700         * lib/unistr/u16-move.c: Likewise.
100701         * lib/unistr/u16-next.c: Likewise.
100702         * lib/unistr/u16-prev.c: Likewise.
100703         * lib/unistr/u16-set.c: Likewise.
100704         * lib/unistr/u16-startswith.c: Likewise.
100705         * lib/unistr/u16-stpcpy.c: Likewise.
100706         * lib/unistr/u16-stpncpy.c: Likewise.
100707         * lib/unistr/u16-strcat.c: Likewise.
100708         * lib/unistr/u16-strchr.c: Likewise.
100709         * lib/unistr/u16-strcmp.c: Likewise.
100710         * lib/unistr/u16-strcpy.c: Likewise.
100711         * lib/unistr/u16-strcspn.c: Likewise.
100712         * lib/unistr/u16-strdup.c: Likewise.
100713         * lib/unistr/u16-strlen.c: Likewise.
100714         * lib/unistr/u16-strmblen.c: Likewise.
100715         * lib/unistr/u16-strmbtouc.c: Likewise.
100716         * lib/unistr/u16-strncat.c: Likewise.
100717         * lib/unistr/u16-strncmp.c: Likewise.
100718         * lib/unistr/u16-strncpy.c: Likewise.
100719         * lib/unistr/u16-strnlen.c: Likewise.
100720         * lib/unistr/u16-strpbrk.c: Likewise.
100721         * lib/unistr/u16-strrchr.c: Likewise.
100722         * lib/unistr/u16-strspn.c: Likewise.
100723         * lib/unistr/u16-strstr.c: Likewise.
100724         * lib/unistr/u16-strtok.c: Likewise.
100725         * lib/unistr/u16-to-u32.c: Likewise.
100726         * lib/unistr/u16-to-u8.c: Likewise.
100727         * lib/unistr/u16-uctomb-aux.c: Likewise.
100728         * lib/unistr/u16-uctomb.c: Likewise.
100729         * lib/unistr/u32-check.c: Likewise.
100730         * lib/unistr/u32-chr.c: Likewise.
100731         * lib/unistr/u32-cmp.c: Likewise.
100732         * lib/unistr/u32-cpy-alloc.c: Likewise.
100733         * lib/unistr/u32-cpy.c: Likewise.
100734         * lib/unistr/u32-endswith.c: Likewise.
100735         * lib/unistr/u32-mblen.c: Likewise.
100736         * lib/unistr/u32-mbsnlen.c: Likewise.
100737         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
100738         * lib/unistr/u32-mbtouc.c: Likewise.
100739         * lib/unistr/u32-mbtoucr.c: Likewise.
100740         * lib/unistr/u32-move.c: Likewise.
100741         * lib/unistr/u32-next.c: Likewise.
100742         * lib/unistr/u32-prev.c: Likewise.
100743         * lib/unistr/u32-set.c: Likewise.
100744         * lib/unistr/u32-startswith.c: Likewise.
100745         * lib/unistr/u32-stpcpy.c: Likewise.
100746         * lib/unistr/u32-stpncpy.c: Likewise.
100747         * lib/unistr/u32-strcat.c: Likewise.
100748         * lib/unistr/u32-strchr.c: Likewise.
100749         * lib/unistr/u32-strcmp.c: Likewise.
100750         * lib/unistr/u32-strcpy.c: Likewise.
100751         * lib/unistr/u32-strcspn.c: Likewise.
100752         * lib/unistr/u32-strdup.c: Likewise.
100753         * lib/unistr/u32-strlen.c: Likewise.
100754         * lib/unistr/u32-strmblen.c: Likewise.
100755         * lib/unistr/u32-strmbtouc.c: Likewise.
100756         * lib/unistr/u32-strncat.c: Likewise.
100757         * lib/unistr/u32-strncmp.c: Likewise.
100758         * lib/unistr/u32-strncpy.c: Likewise.
100759         * lib/unistr/u32-strnlen.c: Likewise.
100760         * lib/unistr/u32-strpbrk.c: Likewise.
100761         * lib/unistr/u32-strrchr.c: Likewise.
100762         * lib/unistr/u32-strspn.c: Likewise.
100763         * lib/unistr/u32-strstr.c: Likewise.
100764         * lib/unistr/u32-strtok.c: Likewise.
100765         * lib/unistr/u32-to-u16.c: Likewise.
100766         * lib/unistr/u32-to-u8.c: Likewise.
100767         * lib/unistr/u32-uctomb.c: Likewise.
100768         * lib/unistr/u8-check.c: Likewise.
100769         * lib/unistr/u8-chr.c: Likewise.
100770         * lib/unistr/u8-cmp.c: Likewise.
100771         * lib/unistr/u8-cpy-alloc.c: Likewise.
100772         * lib/unistr/u8-cpy.c: Likewise.
100773         * lib/unistr/u8-endswith.c: Likewise.
100774         * lib/unistr/u8-mblen.c: Likewise.
100775         * lib/unistr/u8-mbsnlen.c: Likewise.
100776         * lib/unistr/u8-mbtouc-aux.c: Likewise.
100777         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
100778         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
100779         * lib/unistr/u8-mbtouc.c: Likewise.
100780         * lib/unistr/u8-mbtoucr.c: Likewise.
100781         * lib/unistr/u8-move.c: Likewise.
100782         * lib/unistr/u8-next.c: Likewise.
100783         * lib/unistr/u8-prev.c: Likewise.
100784         * lib/unistr/u8-set.c: Likewise.
100785         * lib/unistr/u8-startswith.c: Likewise.
100786         * lib/unistr/u8-stpcpy.c: Likewise.
100787         * lib/unistr/u8-stpncpy.c: Likewise.
100788         * lib/unistr/u8-strcat.c: Likewise.
100789         * lib/unistr/u8-strchr.c: Likewise.
100790         * lib/unistr/u8-strcmp.c: Likewise.
100791         * lib/unistr/u8-strcpy.c: Likewise.
100792         * lib/unistr/u8-strcspn.c: Likewise.
100793         * lib/unistr/u8-strdup.c: Likewise.
100794         * lib/unistr/u8-strlen.c: Likewise.
100795         * lib/unistr/u8-strmblen.c: Likewise.
100796         * lib/unistr/u8-strmbtouc.c: Likewise.
100797         * lib/unistr/u8-strncat.c: Likewise.
100798         * lib/unistr/u8-strncmp.c: Likewise.
100799         * lib/unistr/u8-strncpy.c: Likewise.
100800         * lib/unistr/u8-strnlen.c: Likewise.
100801         * lib/unistr/u8-strpbrk.c: Likewise.
100802         * lib/unistr/u8-strrchr.c: Likewise.
100803         * lib/unistr/u8-strspn.c: Likewise.
100804         * lib/unistr/u8-strstr.c: Likewise.
100805         * lib/unistr/u8-strtok.c: Likewise.
100806         * lib/unistr/u8-to-u16.c: Likewise.
100807         * lib/unistr/u8-to-u32.c: Likewise.
100808         * lib/unistr/u8-uctomb-aux.c: Likewise.
100809         * lib/unistr/u8-uctomb.c: Likewise.
100810         * lib/unitypes.h: Likewise.
100811         * lib/uniwidth.h: Likewise.
100812         * lib/uniwidth/cjk.h: Likewise.
100813         * lib/uniwidth/u16-strwidth.c: Likewise.
100814         * lib/uniwidth/u16-width.c: Likewise.
100815         * lib/uniwidth/u32-strwidth.c: Likewise.
100816         * lib/uniwidth/u32-width.c: Likewise.
100817         * lib/uniwidth/u8-strwidth.c: Likewise.
100818         * lib/uniwidth/u8-width.c: Likewise.
100819         * lib/uniwidth/width.c: Likewise.
100821 2007-10-07  Bruno Haible  <bruno@clisp.org>
100823         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
100824         The file is still under LGPL (see modules/inttypes).
100826 2007-10-06  Bruno Haible  <bruno@clisp.org>
100828         * modules/trunc (Dependencies): Add 'extensions'.
100829         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
100830         Reported by Ben Pfaff <blp@gnu.org>.
100832 2007-10-06  Bruno Haible  <bruno@clisp.org>
100834         * modules/freopen-tests: New file.
100835         * tests/test-freopen.c: New file.
100837         * modules/fopen-tests: New file.
100838         * tests/test-fopen.c: New file.
100840         * modules/fopen: New file.
100841         * lib/fopen.c: New file.
100842         * m4/fopen.m4: New file.
100843         * modules/freopen: New file.
100844         * lib/freopen.c: New file.
100845         * m4/freopen.m4: New file.
100846         * lib/stdio.in.h (fopen, freopen): New declarations.
100847         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
100848         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
100849         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
100850         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
100851         * doc/functions/fopen.texi: Mention the 'fopen' module.
100852         * doc/functions/freopen.texi: Mention the 'freopen' module.
100854 2007-10-06  Bruno Haible  <bruno@clisp.org>
100856         * modules/open-tests: New file.
100857         * tests/test-open.c: New file.
100859         * modules/open: New file.
100860         * lib/open.c: New file.
100861         * m4/open.m4: New file.
100862         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
100863         lib/open.c does.
100864         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
100865         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
100866         macros.
100867         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
100868         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
100869         REPLACE_OPEN.
100870         * doc/functions/open.texi: Mention the 'open' module.
100872 2007-10-04  Bruno Haible  <bruno@clisp.org>
100874         * modules/ceill-tests: New file.
100875         * tests/test-ceill.c: New file.
100877         * modules/ceill: New file.
100878         * lib/ceill.c: Replace entire file.
100879         * m4/ceill.m4: New file.
100880         * lib/math.in.h (ceill): Replace declaration.
100881         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
100882         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
100883         * doc/functions/ceill.texi: Mention the 'ceill' module.
100884         * modules/mathl (Files): Remove lib/ceill.c.
100885         (Depends-on): Add ceill.
100887 2007-10-04  Bruno Haible  <bruno@clisp.org>
100889         * modules/ceilf-tests: New file.
100890         * tests/test-ceilf.c: New file.
100892         * modules/ceilf: New file.
100893         * lib/ceil.c: New file.
100894         * lib/ceilf.c: New file.
100895         * m4/ceilf.m4: New file.
100896         * lib/math.in.h (ceilf): New declaration.
100897         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
100898         HAVE_DECL_CEILF.
100899         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
100900         HAVE_DECL_CEILF.
100901         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
100903 2007-10-04  Bruno Haible  <bruno@clisp.org>
100905         * modules/floorl-tests: New file.
100906         * tests/test-floorl.c: New file.
100908         * modules/floorl: New file.
100909         * lib/floorl.c: Replace entire file.
100910         * m4/floorl.m4: New file.
100911         * lib/math.in.h (floorl): Replace declaration.
100912         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
100913         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
100914         * doc/functions/floorl.texi: Mention the 'floorl' module.
100915         * modules/mathl (Files): Remove lib/floorl.c.
100916         (Depends-on): Add floorl.
100918 2007-10-04  Bruno Haible  <bruno@clisp.org>
100920         * modules/floorf-tests: New file.
100921         * tests/test-floorf.c: New file.
100923         * modules/floorf: New file.
100924         * lib/floor.c: New file.
100925         * lib/floorf.c: New file.
100926         * m4/floorf.m4: New file.
100927         * lib/math.in.h (floorf): New declaration.
100928         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
100929         HAVE_DECL_FLOORF.
100930         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
100931         HAVE_DECL_FLOORF.
100932         * doc/functions/floorf.texi: Mention the 'floorf' module.
100934 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
100935             Bruno Haible  <bruno@clisp.org>
100937         Advertise for the Git server instead of the CVS server.
100938         * doc/gnulib-intro.texi (Steady Development): Mention the Git
100939         repository instead of the CVS one.
100940         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
100941         about all VCS systems generically.
100942         * doc/gnulib.texi (Introduction): Capitalize `Git'.
100944 2007-10-04  Bruno Haible  <bruno@clisp.org>
100946         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
100947         means.
100948         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
100950 2007-10-04  Bruno Haible  <bruno@clisp.org>
100952         * modules/truncl-tests: New file.
100953         * tests/test-truncl.c: New file.
100955         * modules/truncl: New file.
100956         * lib/truncl.c: New file.
100957         * m4/truncl.m4: New file.
100958         * lib/math.in.h (truncl): New declaration.
100959         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
100960         HAVE_DECL_TRUNCL.
100961         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
100962         HAVE_DECL_TRUNCL.
100963         * doc/functions/truncl.texi: Mention the 'truncl' module.
100965 2007-10-04  Bruno Haible  <bruno@clisp.org>
100967         * modules/truncf-tests: New file.
100968         * tests/test-truncf.c: New file.
100970         * modules/truncf: New file.
100971         * lib/trunc.c: Make paramerizable through USE_* macros.
100972         * lib/truncf.c: New file.
100973         * m4/truncf.m4: New file.
100974         * lib/math.in.h (truncf): New declaration.
100975         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
100976         HAVE_DECL_TRUNCF.
100977         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
100978         HAVE_DECL_TRUNCF.
100979         * doc/functions/truncf.texi: Mention the 'truncf' module.
100981 2007-10-03  Bruno Haible  <bruno@clisp.org>
100983         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
100984         augmentation also for tests modules.
100985         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
100986         * modules/atexit-tests (Makefile.am): Likewise.
100987         * modules/binary-io-tests (Makefile.am): Likewise.
100988         * modules/c-strcase-tests (Makefile.am): Likewise.
100989         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
100990         * modules/canonicalize-tests (Makefile.am): Likewise.
100991         * modules/closein-tests (Makefile.am): Likewise.
100992         * modules/fprintf-posix-tests (Makefile.am): Likewise.
100993         * modules/freadahead-tests (Makefile.am): Likewise.
100994         * modules/fseek-tests (Makefile.am): Likewise.
100995         * modules/fseeko-tests (Makefile.am): Likewise.
100996         * modules/ftell-tests (Makefile.am): Likewise.
100997         * modules/ftello-tests (Makefile.am): Likewise.
100998         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
100999         * modules/isnanl-tests (Makefile.am): Likewise.
101000         * modules/lseek-tests (Makefile.am): Likewise.
101001         * modules/mbscasecmp-tests (Makefile.am): Likewise.
101002         * modules/mbscasestr-tests (Makefile.am): Likewise.
101003         * modules/mbschr-tests (Makefile.am): Likewise.
101004         * modules/mbscspn-tests (Makefile.am): Likewise.
101005         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
101006         * modules/mbspbrk-tests (Makefile.am): Likewise.
101007         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
101008         * modules/mbsrchr-tests (Makefile.am): Likewise.
101009         * modules/mbsspn-tests (Makefile.am): Likewise.
101010         * modules/mbsstr-tests (Makefile.am): Likewise.
101011         * modules/printf-posix-tests (Makefile.am): Likewise.
101012         * modules/snprintf-posix-tests (Makefile.am): Likewise.
101013         * modules/sprintf-posix-tests (Makefile.am): Likewise.
101014         * modules/tsearch-tests (Makefile.am): Likewise.
101015         * modules/uniname/uniname-tests (Makefile.am): Likewise.
101016         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
101017         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
101018         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
101019         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
101020         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
101021         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
101022         * modules/vprintf-posix-tests (Makefile.am): Likewise.
101023         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
101024         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
101025         * modules/xstrtoimax-tests (Makefile.am): Likewise.
101026         * modules/xstrtol-tests (Makefile.am): Likewise.
101027         * modules/xstrtoumax-tests (Makefile.am): Likewise.
101028         * modules/yesno-tests (Makefile.am): Likewise.
101030 2007-10-03  Bruno Haible  <bruno@clisp.org>
101032         * modules/trunc-tests: New file.
101033         * tests/test-trunc.c: New file.
101035         * modules/trunc: New file.
101036         * lib/trunc.c: New file.
101037         * m4/trunc.m4: New file.
101038         * lib/math.in.h (trunc): New declaration.
101039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
101040         HAVE_DECL_TRUNC.
101041         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
101042         HAVE_DECL_TRUNC.
101043         * doc/functions/trunc.texi: Mention the 'trunc' module.
101045 2007-10-03  Bruno Haible  <bruno@clisp.org>
101047         * tests/test-fpending.c: New file, mostly copied
101048         from coreutils/lib/t-fpending.c.
101049         * modules/fpending-tests: New file.
101051 2007-10-03  Bruno Haible  <bruno@clisp.org>
101053         Port the stdio extensions to QNX (untested).
101054         * lib/fseterr.c (fseterr): Add support for QNX.
101055         * lib/fbufmode.c (fbufmode): Likewise.
101056         * lib/freadable.c (freadable): Likewise.
101057         * lib/fwritable.c (fwritable): Likewise.
101058         * lib/freading.c (freading): Likewise.
101059         * lib/fwriting.c (fwriting): Likewise.
101060         * lib/freadahead.c (freadahed): Likewise.
101061         * lib/fpurge.c (fpurge): Likewise.
101062         * lib/fseeko.c (rpl_fseeko): Likewise.
101064 2007-10-03  Bruno Haible  <bruno@clisp.org>
101065             Jim Meyering  <jim@meyering.net>
101066             Eric Blake  <ebb9@byu.net>
101068         * doc/relocatable.texi: Use @command instead of @program.
101070 2007-10-02  Jim Meyering  <jim@meyering.net>
101072         Perform one more "_.h" -> ".in.h" substitution.
101073         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
101074         instead of unistd_.h here, too.
101076 2007-10-01  Bruno Haible  <bruno@clisp.org>
101078         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
101079         Needed for the alloca-opt module.
101081 2007-09-30  Bruno Haible  <bruno@clisp.org>
101083         * lib/alloca.in.h: Renamed from lib/alloca_.h.
101084         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
101085         alloca_.h.
101086         * lib/argz.in.h: Renamed from lib/argz_.h.
101087         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
101088         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
101089         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
101090         byteswap_.h.
101091         * lib/dirent.in.h: Renamed from lib/dirent_.h.
101092         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
101093         dirent_.h.
101094         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
101095         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
101096         fcntl_.h.
101097         * lib/float.in.h: Renamed from lib/float_.h.
101098         * modules/float (Files, Makefile.am): Use float.in.h instead of
101099         float_.h.
101100         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
101101         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
101102         fnmatch_.h.
101103         * lib/getopt.in.h: Renamed from lib/getopt_.h.
101104         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
101105         getopt_.h.
101106         * lib/glob.in.h: Renamed from lib/glob_.h.
101107         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
101108         * lib/iconv.in.h: Renamed from lib/iconv_.h.
101109         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
101110         iconv_.h.
101111         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
101112         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
101113         inttypes_.h.
101114         * lib/locale.in.h: Renamed from lib/locale_.h.
101115         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
101116         locale_.h.
101117         * lib/math.in.h: Renamed from lib/math_.h.
101118         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
101119         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
101120         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
101121         of netinet_in_.h. Add dependency.
101122         * lib/poll.in.h: Renamed from lib/poll_.h.
101123         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
101124         * lib/search.in.h: Renamed from lib/search_.h.
101125         * modules/search (Files, Makefile.am): Use search.in.h instead of
101126         search_.h.
101127         * lib/signal.in.h: Renamed from lib/signal_.h.
101128         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
101129         _signal.h.
101130         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
101131         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
101132         stdbool_.h.
101133         * lib/stdint.in.h: Renamed from lib/stdint_.h.
101134         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
101135         stdint_.h.
101136         * lib/stdio.in.h: Renamed from lib/stdio_.h.
101137         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
101138         stdio_.h.
101139         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
101140         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
101141         stdlib_.h.
101142         * lib/string.in.h: Renamed from lib/string_.h.
101143         * modules/string (Files, Makefile.am): Use string.in.h instead of
101144         string_.h.
101145         * doc/gnulib-tool.texi (Initial import): Update.
101146         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
101147         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
101148         of sys_select_.h. Add dependency.
101149         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
101150         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
101151         of sys_socket_.h.
101152         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
101153         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
101154         sys_stat_.h.
101155         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
101156         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
101157         sys_time_.h.
101158         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
101159         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
101160         sysexits_.h.
101161         * lib/time.in.h: Renamed from lib/time_.h.
101162         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
101163         * lib/unistd.in.h: Renamed from lib/unistd_.h.
101164         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
101165         unistd_.h.
101166         * lib/wchar.in.h: Renamed from lib/wchar_.h.
101167         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
101168         wchar_.h.
101169         * lib/wctype.in.h: Renamed from lib/wctype_.h.
101170         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
101171         wctype_.h.
101172         * build-aux/bootstrap (slurp): Update.
101173         * lib/.cppi-disable: Update.
101175 2007-09-30  Bruno Haible  <bruno@clisp.org>
101177         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
101178         Needed on BeOS.
101180 2007-09-30  Bruno Haible  <bruno@clisp.org>
101182         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
101184 2007-09-29  Bruno Haible  <bruno@clisp.org>
101186         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
101188 2007-09-29  Bruno Haible  <bruno@clisp.org>
101190         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
101191         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
101192         * build-aux/install-reloc: Compile also areadlink.c.
101193         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
101195 2007-09-29  Bruno Haible  <bruno@clisp.org>
101197         * gnulib-tool (func_emit_initmacro_done): Indentation.
101199 2007-09-29  Bruno Haible  <bruno@clisp.org>
101201         * README: Add CVS checkout update instructions.
101202         Info from Bob Proulx <bob@proulx.com>.
101204 2007-09-28  Eric Blake  <ebb9@byu.net>
101206         Provide move-if-change.
101207         * build-aux/move-if-change: New file, based on best practice
101208         rather than any canonical upstream location.
101210 2007-09-28  Jim Meyering  <jim@meyering.net>
101212         Fix canonicalize loop-detection corner case.
101213         Do not attempt to stat the symlink values stored via seen_triple.
101214         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
101215         on linux-2.6.18, (but not 2.6.22).
101216         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
101217         triple_compare.  The former compares dev,ino,filename, while the latter
101218         would actually stat dirname(filename) when dev and ino were equal.
101219         * lib/hash-triple.c: Install <string.h>.
101220         (STREQ): Define.
101221         (triple_compare_ino_str): New function.
101222         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
101224 2007-09-28  Eric Blake  <ebb9@byu.net>
101226         Enforce that AC_REPLACE_FUNCS files exist.
101227         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
101228         override check for typos.
101230         Fix test-closein on Solaris 10.
101231         * tests/test-closein.c (main): Don't assume stdin can be inherited
101232         closed on all systems.
101233         * tests/test-closein.sh: Likewise.
101234         Reported by Piotr Tarnowski.
101236 2007-09-28  Jim Meyering  <jim@meyering.net>
101238         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
101240 2007-09-27  Jim Meyering  <jim@meyering.net>
101242         canonicalize: Avoid a false-positive cycle failure.
101243         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
101244         Sort.  Remove cycle-check.
101245         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
101246         not cycle-check.h.
101247         (seen_triple): New function.
101248         (canonicalize_filename_mode): Use it instead of cycle-check.
101249         * tests/test-canonicalize.c: Add a test for this bug.
101250         * tests/test-canonicalize.sh: Set up and run the test.
101252         New module, file-set, from coreutils.
101253         * modules/file-set: Define it.
101254         * lib/file-set.c, lib/file-set.h: Implement.
101256         New module, hash-triple, from coreutils.
101257         * modules/hash-triple: Define it.
101258         * lib/hash-triple.c, lib/hash-triple.h: Implement.
101260 2007-09-25  Eric Blake  <ebb9@byu.net>
101262         Fix strerror on Interix.
101263         * lib/string_.h (strerror): Declare replacement.
101264         * doc/functions/strerror.texi (strerror): Document the Interix
101265         shortcoming.
101266         * modules/string (Makefile.am): Support new hooks.
101267         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
101268         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
101269         gl_FUNC_STRERROR_SEPARATE.
101270         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
101271         * lib/strerror.c (rpl_strerror): Provide replacement.
101272         * modules/strerror (Depends-on): Add string.
101273         (configure.ac): Detect use of module.
101274         * tests/test-strerror.c: New file.
101275         * modules/strerror-tests: New test module.
101276         * modules/argp (Depends-on): Add strerror.
101277         * modules/error (Depends-on): Likewise.
101278         Reported by Martin Koeppe.
101280 2007-09-24  Bruno Haible  <bruno@clisp.org>
101282         * README: Update git instructions.
101284 2007-09-24  Eric Blake  <ebb9@byu.net>
101286         Revert fpending breakage from 2007-09-08.
101287         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
101288         __fpending.c.
101290 2007-09-24  Jim Meyering  <jim@meyering.net>
101292         filenamecat.c: Add a test.
101293         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
101294         showing how the function works when DIR is the empty string.
101296 2007-09-21  Simon Josefsson  <simon@josefsson.org>
101298         * tests/test-canonicalize.sh: Turn on executable bit.
101300 2007-09-19  Eric Blake  <ebb9@byu.net>
101302         * README: Update CVS instructions.
101304 2007-09-18  Bruno Haible  <bruno@clisp.org>
101306         * modules/areadlink: New file.
101307         * lib/areadlink.h (areadlink): New declaration.
101308         * lib/areadlink.c: New file, based on lib/xreadlink.c.
101310 2007-09-17  Jim Meyering  <jim@meyering.net>
101312         * lib/savewd.c (ESTALE) [!defined]: Define.
101313         Reported to be required on Interix by Martin Koeppe.
101315 2007-09-17  Bruno Haible  <bruno@clisp.org>
101317         * gnulib-tool (func_version): Use $version.
101319 2007-09-16  Bruno Haible  <bruno@clisp.org>
101321         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
101322         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
101323         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
101324         Reported by Greg Schafer <gschafer@zip.com.au>.
101326 2007-09-15  Bruno Haible  <bruno@clisp.org>
101328         * gnulib-tool (sed): Try a little harder to make bash understand the
101329         alias.
101330         Reported by Bruce Korb <bruce.korb@gmail.com>.
101332 2007-09-13  Eric Blake  <ebb9@byu.net>
101334         * ChangeLog: Remove conflict markers.
101336 2007-09-13  Simon Josefsson  <simon@josefsson.org>
101338         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
101339         Reported by Bruno Haible <bruno@clisp.org>.
101341 2007-09-12  Bruno Haible  <bruno@clisp.org>
101343         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
101344         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
101345         is not defined.
101347 2007-09-12  Eric Blake  <ebb9@byu.net>
101349         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
101350         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
101351         Autoconf definition.
101352         * modules/euidaccess (Depends-on): Add extensions, for
101353         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
101354         * modules/fnmatch (Depends-on): Likewise.
101355         * modules/getaddrinfo (Depends-on): Likewise.
101356         * modules/getdelim (Depends-on): Likewise.
101357         * modules/getline (Depends-on): Likewise.
101358         * modules/getsubopt (Depends-on): Likewise.
101359         * modules/gettext (Depends-on): Likewise.
101360         * modules/group-member (Depends-on): Likewise.
101361         * modules/mbchar (Depends-on): Likewise.
101362         * modules/memmem (Depends-on): Likewise.
101363         * modules/mempcpy (Depends-on): Likewise.
101364         * modules/memrchr (Depends-on): Likewise.
101365         * modules/pagealign_alloc (Depends-on): Likewise.
101366         * modules/readutmp (Depends-on): Likewise.
101367         * modules/stpcpy (Depends-on): Likewise.
101368         * modules/stpncpy (Depends-on): Likewise.
101369         * modules/strchrnul (Depends-on): Likewise.
101370         * modules/strndup (Depends-on): Likewise.
101371         * modules/strsep (Depends-on): Likewise.
101372         * modules/strverscmp (Depends-on): Likewise.
101373         * modules/vasprintf (Depends-on): Likewise.
101374         * modules/wcwidth (Depends-on): Likewise.
101375         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
101376         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
101377         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
101378         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
101379         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
101380         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
101381         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
101382         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
101383         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
101384         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
101385         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
101386         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
101387         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
101388         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
101389         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
101390         * m4/readutmp.m4 (gl_READUTMP): Likewise.
101391         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
101392         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
101393         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
101394         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
101395         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
101396         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
101397         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
101398         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
101399         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
101400         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
101401         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
101402         so that lock.m4 can be used in gettext without extensions module.
101404 2007-09-11  Bruno Haible  <bruno@clisp.org>
101406         * m4/isc-posix.m4: Remove file.
101407         Suggested by Eric Blake.
101409 2007-09-11  Eric Blake  <ebb9@byu.net>
101411         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
101413 2007-09-10  Bruno Haible  <bruno@clisp.org>
101415         * posix-modules: Fix typo in error message.
101416         Reported by Matt <mkraai@beckman.com>.
101418 2007-09-09  Bruno Haible  <bruno@clisp.org>
101420         * doc/functions/getdelim.texi: Update list of platforms lacking the
101421         function.
101422         * doc/functions/getline.texi: Likewise.
101424 2007-09-09  Jim Meyering  <jim@meyering.net>
101426         * lib/hash.c (hash_initialize): Detect calloc failure.
101427         Reported by Bruno Haible.
101429 2007-09-09  Bruno Haible  <bruno@clisp.org>
101431         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
101432         malloc or realloc fails.
101434 2007-09-09  Bruno Haible  <bruno@clisp.org>
101436         * modules/getcwd (Depends-on): Add malloc-posix.
101437         * modules/glob (Depends-on): Likewise.
101438         * modules/putenv (Depends-on): Likewise.
101439         * modules/strdup (Depends-on): Likewise.
101440         * modules/getdelim (Depends-on): Add realloc-posix.
101441         * modules/read-file (Depends-on): Likewise.
101443 2007-09-09  Bruno Haible  <bruno@clisp.org>
101445         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
101446         (gl_FUNC_MALLOC_POSIX): Require it.
101447         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
101448         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
101449         * modules/realloc (Files): Add m4/malloc.m4.
101450         * modules/calloc (Files): Likewise.
101452 2007-09-09  Bruno Haible  <bruno@clisp.org>
101454         * modules/malloc-posix: New file.
101455         * modules/malloc (Depends-on): Add malloc-posix.
101456         * lib/malloc.c: Include errno.h.
101457         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
101458         and a POSIX-compatible malloc into a single function. Set ENOMEM
101459         when returning NULL.
101460         * m4/malloc.m4: New file.
101461         * doc/functions/malloc.texi: Mention the malloc-posix module.
101462         * lib/stdlib_.h (malloc): New declaration.
101463         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101464         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
101465         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
101466         and HAVE_MALLOC_POSIX.
101468 2007-09-09  Bruno Haible  <bruno@clisp.org>
101470         * modules/realloc-posix: New file.
101471         * modules/realloc (Depends-on): Add realloc-posix.
101472         * lib/realloc.c: Include errno.h.
101473         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
101474         and a POSIX-compatible realloc into a single function. Set ENOMEM
101475         when returning NULL.
101476         * m4/realloc.m4: New file.
101477         * doc/functions/realloc.texi: Mention the realloc-posix module.
101478         * lib/stdlib_.h (realloc): New declaration.
101479         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101480         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
101481         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
101482         and HAVE_REALLOC_POSIX.
101484 2007-09-09  Bruno Haible  <bruno@clisp.org>
101486         * modules/calloc-posix: New file.
101487         * modules/calloc (Depends-on): Add calloc-posix.
101488         * lib/calloc.c: Include errno.h.
101489         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
101490         and a POSIX-compatible calloc into a single function. Set ENOMEM
101491         when returning NULL.
101492         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
101493         * doc/functions/calloc.texi: Mention the calloc-posix module.
101494         * lib/stdlib_.h (calloc): New declaration.
101495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101496         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
101497         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
101498         and HAVE_CALLOC_POSIX.
101500 2007-09-09  Bruno Haible  <bruno@clisp.org>
101502         Allow for modules to show an arbitrary notice.
101503         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
101504         * gnulib-tool: New option --extract-notice.
101505         (func_usage): Document it.
101506         (sed_extract_prog): Update.
101507         (func_get_notice): New function.
101508         (func_modules_notice): New function.
101509         (func_import, func_create_testdir): Invoke it.
101510         Suggested by Jim Meyering.
101512 2007-09-09  Bruno Haible  <bruno@clisp.org>
101514         * gnulib-tool: New options --verbose, --quiet.
101515         (func_usage): Document them.
101516         (verbose): New variable.
101517         (func_execute_command): New function.
101518         (func_import): Don't show the module list and the file list if
101519         $verbose < 0.
101520         (func_create_testdir): Likewise. Use func_execute_command.
101521         (func_create_megatestdir): Use func_execute_command.
101523 2007-09-08  Bruno Haible  <bruno@clisp.org>
101525         * gnulib-tool (func_import): Prefer rsync over wget when available,
101526         for fetching the PO files.
101528 2007-09-08  Bruno Haible  <bruno@clisp.org>
101530         * posix-modules: New file. Portions copied from gnulib-tool.
101531         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
101533 2007-09-08  Jim Meyering  <jim@meyering.net>
101535         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
101536         * lib/fpending.h: Rename from __fpending.h.
101537         * lib/fpending.c: Rename from __fpending.c.
101538         Include "fpending.h", not "__fpending.h".
101539         * lib/__fpending.h, lib/__fpending.c: Remove files.
101540         * modules/fpending (Files): Reflect new file names.
101541         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
101543 2007-09-08  Bruno Haible  <bruno@clisp.org>
101545         * m4/inttypes-h.m4: Remove stub file.
101547 2007-09-07  Simon Josefsson  <simon@josefsson.org>
101549         * doc/headers/stdint.texi: Discuss #include_next issue.
101551 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
101553         * build-aux/bootstrap: Remove obsolete comment about wget --help.
101555 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
101557         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
101558         in variable name.
101560 2007-09-03  Jim Meyering  <jim@meyering.net>
101562         New module: git-version-gen.
101563         * modules/git-version-gen: New file.
101565         Import changes from coreutils for bootstrap script.
101567         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
101569         bootstrap: uses rsync to download the .po files
101570         * build-aux/bootstrap (po_download_command_format): New global.
101571         (download_po_files): Use rsync.
101572         (update_po_files): Don't remove .po files after download,
101573         so future rsync runs can take advantage of the copies.
101575         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
101577         Solve the unnecessary-.po-file-regeneration problem once and for all.
101578         * build-aux/bootstrap (download_po_files): New function, renamed from
101579         get_translations.  Now, downloads, but doesn't update LINGUAS.
101580         (update_po_files): New function.
101582         bootstrap: Ignore more.
101583         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
101584         uniwidth to e.g., lib/.gitignore.
101585         (slurp): Handle the sys_stat_.h -> sys mapping, too.
101587         * build-aux/bootstrap: New setting: vc_ignore.
101588         (insert_sorted_if_absent): Create $file if absent.
101589         Adapt to new, possibly empty, list: $vc_ignore.
101591         bootstrap: generate more ignorable names
101592         * build-aux/bootstrap (slurp): When generating ignorable names,
101593         also map .sin to .sed, .gperf to .c, and .y to .c.
101595 2007-09-03  Jim Meyering  <jim@meyering.net>
101597         * build-aux/git-version-gen: New file, from coreutils.  For details, see
101598         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
101600 2007-09-02  Bruno Haible  <bruno@clisp.org>
101602         Fix mis-recognition of 'mcs' on QNX 6.
101603         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
101604         output contains the string "Mono".
101605         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
101606         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
101608 2007-09-01  Bruno Haible  <bruno@clisp.org>
101610         Fix collision between uniwidth/* and linebreak modules.
101611         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
101612         u32_width): Remove declarations.
101613         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
101614         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
101615         streq3, streq2, streq1, streq0): Remove functions.
101616         (STREQ): Remove macro.
101617         (is_cjk_encoding): Remove function.
101618         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
101619         (uc_width, u8_width, u16_width, u32_width): Remove functions.
101620         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
101621         * NEWS: Document the change.
101623 2007-09-01  Bruno Haible  <bruno@clisp.org>
101625         * lib/streq.h: Add double-inclusion guard.
101627 2007-09-01  Karl Berry  <karl@gnu.org>
101629         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
101631 2007-08-28  Jim Meyering  <jim@meyering.net>
101633         Rename mreadlink_with_size to areadlink_with_size.
101634         * NEWS: Document the change.
101635         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
101636         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
101637         * lib/mreadlink.h: Rename this to...
101638         * lib/areadlink.h: ...this.
101639         * modules/mreadlink-with-size: Rename this to...
101640         * modules/areadlink-with-size: ...this.
101641         * lib/canonicalize.c: Reflect the renaming.
101642         * modules/canonicalize: Likewise.
101644 2007-08-26  Bruno Haible  <bruno@clisp.org>
101646         * gnulib-tool (func_import): When deciding which files to remove,
101647         consider also dangling symbolic links.
101648         Reported by Eric Blake.
101650 2007-08-26  Bruno Haible  <bruno@clisp.org>
101652         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
101654 2007-08-23  Simon Josefsson  <simon@josefsson.org>
101656         * lib/readline.c: Don't include getline.h, the prototype is now
101657         found in stdio.h.
101659 2007-08-23  Jim Meyering  <jim@meyering.net>
101661         Getdelim touchup.
101662         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
101663         around the funlockfile call, since funlockfile never sets errno.
101664         Don't set errno upon failed realloc.
101666 2007-08-22  Eric Blake  <ebb9@byu.net>
101668         Getline touchups.
101669         * lib/getdelim.c (getdelim): Revert regression that required *n to
101670         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
101671         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
101672         getdelim, rather than whether implementation is missing.
101673         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
101674         * lib/stdio_.h (getline): Also declare if replacement is
101675         required.
101676         * doc/functions/getdelim.texi: New file.
101677         * doc/functions/getline.texi: Likewise.
101678         * doc/gnulib.texi (Function Substitutes): Add new files.
101679         Reported by Bruno Haible.
101681 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
101683         * users.txt: Add Guile.
101685 2007-08-22  Eric Blake  <ebb9@byu.net>
101687         * tests/test-getdelim.c (main): Use remove, not unlink.
101688         * tests/test-getline.c (main): Likewise.
101690         Move getline and getdelim into stdio.h, per POSIX 200x.
101691         * modules/getline (Files): Remove getline.h.
101692         (Depends-on): Add stdio.
101693         (configure.ac): Add module indicator.
101694         * modules/getdelim (Files): Remove getdelim.h.
101695         (Depends-on): Add stdio.
101696         (configure.ac): Add module indicator.
101697         * modules/stdio (Makefile.am): Work with new indicators.
101698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
101699         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
101700         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
101701         * lib/getdelim.h: Delete.
101702         * lib/getline.h: Delete.
101703         * lib/stdio_.h (getdelim, getline): Declare.
101704         * modules/getdelim-tests: New module.
101705         * modules/getline-tests: Likewise.
101706         * tests/test-getdelim.c: New file.
101707         * tests/test-getline.c: Likewise.
101708         * NEWS: Document the change.
101709         * lib/getline.c: Update choice of header.
101710         * lib/csharpcomp.c: Likewise.
101711         * lib/getpass.c: Likewise.
101712         * lib/javacomp.c: Likewise.
101713         * lib/javaversion.c: Likewise.
101714         * lib/yesno.c: Likewise.
101715         * lib/getdelim.c: Likewise.
101716         (getdelim): Set errno on failure, and avoid memory leak.
101718 2007-08-19  Bruno Haible  <bruno@clisp.org>
101720         * modules/closein (Depends-on): Add freadahead.
101721         * lib/closein.c: Include freadahead.h.
101722         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
101723         is zero.
101725 2007-08-19  Bruno Haible  <bruno@clisp.org>
101727         * modules/freadahead-tests: New file.
101728         * tests/test-freadahead.sh: New file.
101729         * tests/test-freadahead.c: New file.
101731         * modules/freadahead: New file.
101732         * lib/freadahead.h: New file.
101733         * lib/freadahead.c: New file.
101734         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
101735         fbufmode, fpurge, freadable, fwritable.
101737 2007-08-19  Eric Blake  <ebb9@byu.net>
101739         Test yesno in combination with closein.
101740         * lib/yesno.c (yesno): Document use of stdin.
101741         * modules/yesno-tests (Files): New module.
101742         * tests/test-yesno.c (main): New file.
101743         * tests/test-yesno.sh: Likewise.
101745 2007-08-19  Bruno Haible  <bruno@clisp.org>
101747         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
101748         * lib/fseeko.c (rpl_fseeko): Likewise.
101749         * lib/fseterr.c (fseterr): Likewise.
101751 2007-08-19  Bruno Haible  <bruno@clisp.org>
101753         * tests/test-lseek.c (main): Disable a test for BeOS.
101754         * doc/functions/lseek.texi: Document the BeOS bug.
101756 2007-08-19  Bruno Haible  <bruno@clisp.org>
101757             Eric Blake  <ebb9@byu.net>
101759         * lib/lseek.c: Include <sys/stat.h>.
101760         (rpl_lseek): Add workaround code also for Unix platforms.
101761         Needed for BeOS.
101762         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
101763         * doc/functions/lseek.texi: Document BeOS definiency.
101765 2007-08-18  Bruno Haible  <bruno@clisp.org>
101767         * modules/fstrcmp-tests: New file.
101768         * tests/test-fstrcmp.c: New file.
101770 2007-08-18  Bruno Haible  <bruno@clisp.org>
101772         * modules/fstrcmp: New file, from GNU gettext with modifications.
101773         * lib/fstrcmp.h: New file, from GNU gettext.
101774         * lib/fstrcmp.c: New file, from GNU gettext.
101775         * MODULES.html.sh (String handling): Add fstrcmp.
101777 2007-08-18  Bruno Haible  <bruno@clisp.org>
101779         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
101780         'bool'.
101781         (diag, compareseq): Remove const from the ctxt argument.
101782         (USE_HEURISTIC): Undefine at the end.
101784 2007-08-18  Jim Meyering  <jim@meyering.net>
101786         New file: lib/idcache.h
101787         * NEWS: Mention the addition.
101788         * modules/idcache (Files): Add lib/idcache.h
101789         * lib/idcache.c: Include "idcache.h".
101790         Don't include <sys/types.h>.
101791         Add a FIXME comment.
101792         Move file-scoped "static" declarations to the top.
101793         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
101795 2007-08-17  Bruno Haible  <bruno@clisp.org>
101796         and Paul Eggert  <eggert@cs.ucla.edu>
101798         * MODULES.html.sh: Add diffseq.
101799         * modules/diffseq: New file.
101800         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
101801         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
101803 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
101805         Import changes from coreutils for bootstrap script.
101807         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
101809         * build-aux/bootstrap (slurp): Work even in environments where
101810         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
101811         current code does not slurp files whose names start with ".", and
101812         this looks like it might be a troublesome area.
101814         2007-07-11  Jim Meyering  <jim@meyering.net>
101816         If there's a GPL vN copyright comment, require that N == 3.
101818         2007-07-08  Jim Meyering  <jim@meyering.net>
101820         Run the coreutils-specific code only if tests/Makefile.am.in exists.
101821         * build-aux/bootstrap (mam_template): Move definition out of loop.
101823         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
101825         * build-aux/bootstrap (symlink_to_dir): Rename function from
101826         symlink_to_gnulib.  Add a directory parameter.  Update all
101827         callers.
101828         (cp_mark_as_generated): Also check for -- and link to -- files in
101829         gl/.
101831         2007-07-08  Jim Meyering  <jim@meyering.net>
101833         Adapt to deeper hierarchy in gnulib.
101834         * build-aux/bootstrap (symlink_to_dir): If the destination
101835         directory doesn't exist, create it. This is required at least for
101836         "lib/uniwidth/cjk.h".
101838         2007-05-15  Jim Meyering  <jim@meyering.net>
101840         * build-aux/bootstrap: Now that generated Makefile.am files
101841         are no longer under version control, they must be created at
101842         bootstrap time.
101844 2007-08-14  Ben Pfaff  <blp@gnu.org>
101846         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
101848 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
101850         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
101851         given the changes below.
101852         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
101853         even on hosts that have padding bits beyond the supported 64.
101855 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
101857         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
101858         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
101859         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
101860         depends on it.
101861         (xstrtol_error): Remove.
101862         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
101863         but with a different signature.
101864         (ATTRIBUTE_NORETURN, __attribute__): New macros.
101865         * lib/xstrtol-error.c: Include exitfail.h.
101866         (xstrtol_fatal): New function, with a different signature from the
101867         old xstrtol_error, so that the caller need not worry about passing
101868         in an exit status, or about storage management of the option argument.
101869         (xstrtol_error): Now a static function.  Redo signature to
101870         implement xstrtol_fatal.  Output the correct number of hyphens in
101871         front of the option so that the caller need not worry about
101872         storage management.
101873         (N_): New macro.
101874         (_): Remove; not used now.
101875         * modules/xstrtol: Depend on getopt.
101876         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
101877         of old STRTOL_FATAL_ERROR macro.
101878         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
101879         of test program.
101880         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
101881         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
101883 2007-08-08  Eric Blake  <ebb9@byu.net>
101885         * lib/xstrtol-error.c: Add missing include.
101887         Move xstrtol messages into gnulib domain, when --pobase is used.
101888         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
101889         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
101890         * modules/xstrtol (Files): Distribute new file.
101891         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
101892         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
101893         * tests/test-xstrtol.c: ...into new file.
101894         * tests/test-xstrtoul.c: Also test xstrtoul.
101895         * tests/test-xstrtoimax.c: Also test xstrtoimax.
101896         * tests/test-xstrtoumax.c: Also test xstrtoumax.
101897         * tests/test-xstrtol.sh: Drive the tests.
101898         * tests/test-xstrtoimax.sh: Likewise.
101899         * tests/test-xstrtoumax.sh: Likewise.
101900         * modules/xstrtol-tests: New module.
101901         * modules/xstrtoimax-tests: Likewise.
101902         * modules/xstrtoumax-tests: Likewise.
101904 2007-08-08  Jim Meyering  <jim@meyering.net>
101906         New function: mfile_name_concat.
101907         * lib/filenamecat.c (mfile_name_concat): New function, just like
101908         file_name_concat, but return NULL upon failure rather than exiting
101909         with a diagnostic.
101910         * lib/filenamecat.h: Declare it.
101912 2007-08-07  Bruno Haible  <bruno@clisp.org>
101914         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
101915         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
101916         warning from gcc.
101917         Reported by Eric Blake.
101919 2007-08-07  Simon Josefsson  <simon@josefsson.org>
101921         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
101922         * modules/crypto/arcfour (License): Likewise.
101923         * modules/crypto/des-tests (License): Likewise.
101924         * modules/crypto/gc-arctwo-tests (License): Likewise.
101925         * modules/crypto/gc-des-tests (License): Likewise.
101926         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
101927         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
101928         * modules/crypto/gc-md2-tests (License): Likewise.
101929         * modules/crypto/gc-md4-tests (License): Likewise.
101930         * modules/crypto/gc-md5-tests (License): Likewise.
101931         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
101932         * modules/crypto/gc-rijndael-tests (License): Likewise.
101933         * modules/crypto/gc-sha1-tests (License): Likewise.
101934         * modules/crypto/gc-tests (License): Likewise.
101935         * modules/crypto/hmac-md5 (License): Likewise.
101936         * modules/crypto/hmac-sha1 (License): Likewise.
101937         * modules/crypto/md2-tests (License): Likewise.
101938         * modules/crypto/md4-tests (License): Likewise.
101939         * modules/crypto/md5 (License): Likewise.
101940         * modules/crypto/rijndael (License): Likewise.
101941         * modules/crypto/sha1 (License): Likewise.
101942         * modules/memxor (License): Likewise.
101944 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
101945         and Bruno Haible  <bruno@clisp.org>
101947         * NEWS: Describe interface changes to human, xstrtol.
101948         * lib/human.h: Include <xstrtol.h>.
101949         (human_options): Return enum strtol_error, not int.  Remove
101950         bool arg; take int * instead.
101951         * lib/human.c: Don't include "gettext.h".
101952         (_): Remove; no longer used.
101953         Don't include <xstrtol.h>, since human.h does it.
101954         (human_options): Adjust to abovementioned interface changes.
101955         Do not report error to stderr; that's now the caller's
101956         responsibility.
101957         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
101958         interface change.
101959         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
101960         Str, Argument_type_string.  All uses changed.  Put " argument"
101961         in diagnostics to make them clearer.  Change wording of suffix
101962         message for clarity.
101963         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
101964         Argument_type_string.
101965         (STRTOL_FATAL_WARN): Remove; no longer used.
101966         * modules/human (Depends-on): Remove gettext-h.
101968 2007-08-06  Simon Josefsson  <simon@josefsson.org>
101970         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
101972 2007-07-31  Bruno Haible  <bruno@clisp.org>
101974         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
101975         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
101976         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
101978 2007-07-31  Bruno Haible  <bruno@clisp.org>
101980         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
101981         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
101983 2007-07-30  Bruno Haible  <bruno@clisp.org>
101985         * modules/base64 (License): Use the synonymous term "LGPLv2+".
101986         * modules/c-ctype (License): Likewise.
101987         * modules/c-strcase (License): Likewise.
101988         * modules/check-version (License): Likewise.
101989         * modules/iconv (License): Likewise.
101990         * modules/iconv_open (License): Likewise.
101991         * modules/read-file (License): Likewise.
101992         * modules/striconv (License): Likewise.
101993         * modules/strverscmp (License): Likewise.
101994         * modules/vasprintf (License): Likewise.
101995         * modules/crypto/des (License): Likewise.
101996         * modules/crypto/gc (License): Likewise.
101997         * modules/crypto/gc-arcfour (License): Likewise.
101998         * modules/crypto/gc-arctwo (License): Likewise.
101999         * modules/crypto/gc-des (License): Likewise.
102000         * modules/crypto/gc-hmac-md5 (License): Likewise.
102001         * modules/crypto/gc-hmac-sha1 (License): Likewise.
102002         * modules/crypto/gc-md2 (License): Likewise.
102003         * modules/crypto/gc-md4 (License): Likewise.
102004         * modules/crypto/gc-md5 (License): Likewise.
102005         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
102006         * modules/crypto/gc-random (License): Likewise.
102007         * modules/crypto/gc-rijndael (License): Likewise.
102008         * modules/crypto/gc-sha1 (License): Likewise.
102009         * modules/crypto/md2 (License): Likewise.
102010         * modules/crypto/md4 (License): Likewise.
102012 2007-07-30  Jim Meyering  <jim@meyering.net>
102014         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
102015         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
102016         it has valid stat data.  This bug would cause du not to count the
102017         sizes of inaccessible directories.
102018         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
102019         in <http://bugzilla.redhat.com/250077>.
102021 2007-07-25  Peter O'Gorman  <peter@pogma.com>
102022             Bruno Haible  <bruno@clisp.org>
102024         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
102025         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
102026         #include_next, gives a diagnostic about it, but reports no error in
102027         the exit code.
102028         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
102030 2007-07-24  Ben Pfaff  <blp@gnu.org>
102032         Improve name: "count-one-bits" is better than "popcount".
102033         * MODULES.html.sh: Update name.
102034         * lib/popcount.h: Renamed lib/count-one-bits.h.
102035         (popcount): Renamed count_one_bits.
102036         (popcountl): Renamed count_one_bits_l.
102037         (popcountll): Renamed count_one_bits_ll.
102038         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
102039         * modules/popcount: Renamed module/count-one-bits.
102040         * modules/popcount-tests: Renamed module/count-one-bits-tests.
102041         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
102043 2007-07-23  Ben Pfaff  <blp@gnu.org>
102045         * lib/popcount.h (popcount32): Reduce size of constants, to allow
102046         better code generation, and add U to large constants to avoid
102047         warnings, in non-GCC case.
102048         Suggested by Bruno Haible.
102050 2007-07-23  Ben Pfaff  <blp@gnu.org>
102052         * lib/popcount.h: Use verify_true instead of if...abort.
102053         * modules/popcount: Depend on verify module.
102054         Suggested by Jim Meyering.
102056 2007-07-23  Bruno Haible  <bruno@clisp.org>
102058         * gnulib-tool (func_import): Create a .cvsignore file also when the
102059         directory is not yet in CVS but the toplevel directory is. When
102060         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
102061         Reported by Karl Berry.
102063 2007-07-22  Ben Pfaff  <blp@gnu.org>
102065         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
102066         case.
102067         Suggested by Eric Blake.
102069 2007-07-22  Ben Pfaff  <blp@gnu.org>
102071         New module: popcount.
102072         * MODULES.html.sh: Add popcount.
102073         * modules/popcount: New file.
102074         * modules/popcount-tests: New file.
102075         * tests/test-popcount.c: New file.
102076         * lib/popcount.h: New file.
102077         * m4/popcount.m4: New file.
102079 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
102081         * build-aux/announce-gen: Update to GPLv3.
102083         * build-aux/config.guess: Update from config.
102085 2007-07-21  Bruno Haible  <bruno@clisp.org>
102087         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
102088         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
102090 2007-07-20  Jim Meyering  <jim@meyering.net>
102092         * check-module: Diagnose a self-dependency.
102094 2007-07-19  Bruno Haible  <bruno@clisp.org>
102096         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
102097         empty.
102098         Reported by Eric Blake.
102100 2007-07-18  Bruno Haible  <bruno@clisp.org>
102102         * gnulib-tool: New options --po-base, --po-domain.
102103         (func_usage): Document them.
102104         (pobase, po_domain): New variables.
102105         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
102106         DEFAULT_TEXT_DOMAIN.
102107         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
102108         (func_import): Consider pobase and po_domain. Create a po/ directory.
102109         (func_create_testdir): Set pobase and po_domain to empty.
102110         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
102111         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
102113 2007-07-18  Bruno Haible  <bruno@clisp.org>
102115         * gnulib-tool (func_get_automake_snippet): Synthesize also an
102116         EXTRA_DIST augmentation for files in build-aux/.
102118 2007-07-16  Bruno Haible  <bruno@clisp.org>
102120         * modules/lseek (License): Use the synonymous term "LGPLv2+".
102121         * modules/getdelim (License): Likewise.
102123 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102125         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
102126         * modules/d-type (License): Likewise.
102127         * modules/extensions (License): Likewise.
102128         * modules/fnmatch (License): Likewise.
102129         * modules/fseeko (License): Likewise.
102130         * modules/getaddrinfo (License): Likewise.
102131         * modules/getline (License): Likewise.
102132         * modules/getlogin_r (License): Likewise.
102133         * modules/getpass (License): Likewise.
102134         * modules/gettimeofday (License): Likewise.
102135         * modules/glob (License): Likewise.
102136         * modules/inet_ntop (License): Likewise.
102137         * modules/malloc (License): Likewise.
102138         * modules/malloca (License): Likewise.
102139         * modules/memmem (License): Likewise.
102140         * modules/mempcpy (License): Likewise.
102141         * modules/memset (License): Likewise.
102142         * modules/minmax (License): Likewise.
102143         * modules/mktime (License): Likewise.
102144         * modules/netinet_in (License): Likewise.
102145         * modules/pathmax (License): Likewise.
102146         * modules/poll (License): Likewise.
102147         * modules/regex (License): Likewise.
102148         * modules/snprintf (License): Likewise.
102149         * modules/stdbool (License): Likewise.
102150         * modules/stdint (License): Likewise.
102151         * modules/stdio (License): Likewise.
102152         * modules/strcase (License): Likewise.
102153         * modules/strcasestr (License): Likewise.
102154         * modules/strdup (License): Likewise.
102155         * modules/string (License): Likewise.
102156         * modules/strndup (License): Likewise.
102157         * modules/strnlen (License): Likewise.
102158         * modules/strpbrk (License): Likewise.
102159         * modules/strptime (License): Likewise.
102160         * modules/strsep (License): Likewise.
102161         * modules/sys_select (License): Likewise.
102162         * modules/sys_socket (License): Likewise.
102163         * modules/sys_stat (License): Likewise.
102164         * modules/sys_time (License): Likewise.
102165         * modules/time (License): Likewise.
102166         * modules/time_r (License): Likewise.
102167         * modules/timegm (License): Likewise.
102168         * modules/unistd (License): Likewise.
102169         * modules/vsnprintf (License): Likewise.
102170         * modules/wctype (License): Likewise.
102172 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102174         * modules/argz (License): LGPLv2+.
102176 2007-07-15  Karl Berry  <karl@gnu.org>
102178         * doc/gnulib.texi: revise node structure per new fdl.texi.
102180 2007-07-14  Bruno Haible  <bruno@clisp.org>
102182         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
102183         the output file.
102184         * lib/uniname/uninames.h: Regenerated.
102186 2007-07-14  Karl Berry  <karl@gnu.org>
102188         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
102189         omitting sectioning and index commands.
102191 2007-07-13  Bruno Haible  <bruno@clisp.org>
102193         New gnulib-tool option --more-symlinks.
102194         * gnulib-tool (func_usage): Document --more-symlinks.
102195         (do_copyrights): New variable.
102196         Recognize option --more-symlinks.
102197         (func_import): Don't add a copyright notice transform to
102198         sed_transform_lib_file if do_copyrights is empty.
102200 2007-07-13  Bruno Haible  <bruno@clisp.org>
102202         * lib/vasnprintf.c (decimal_point_char): Define also if
102203         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
102204         && !NEED_PRINTF_DIRECTIVE_A.
102205         Reported by Clemens Koller <clemens.koller@anagramm.de> via
102206         Gary V. Vaughan <gary@gnu.org>.
102208 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
102210         * lib/inttypes_.h: Undo previous change, since it was fixed
102211         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
102213 2007-07-13  Bruno Haible  <bruno@clisp.org>
102215         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
102216         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
102218 2007-07-13  Jim Meyering  <jim@meyering.net>
102220         df: Don't fail for Tru64's "file-on-file mount".
102221         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
102222         so we fall through and use statfs instead.  Details here:
102223         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
102224         Reported by Albert Chin.
102226 2007-07-13  Bruno Haible  <bruno@clisp.org>
102228         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
102229         * modules/configmake (License): Likewise.
102230         * modules/gettext (License): Likewise.
102231         * modules/gettext-h (License): Likewise.
102232         * modules/include_next (License): Likewise.
102233         * modules/link-warning (License): Likewise.
102234         * modules/localcharset (License): Likewise.
102235         * modules/localename (License): Likewise.
102236         * modules/lock (License): Likewise.
102237         * modules/relocatable-lib-lgpl (License): Likewise.
102238         * modules/size_max (License): Likewise.
102239         * modules/vasnprintf (License): Likewise.
102240         * modules/wchar (License): Likewise.
102241         * modules/xsize (License): Likewise.
102243 2007-07-13  Bruno Haible  <bruno@clisp.org>
102245         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
102246         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
102248 2007-07-12  Bruno Haible  <bruno@clisp.org>
102250         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
102251         in the modules files.
102253 2007-07-11  Karl Berry  <karl@gnu.org>
102255         * MODULES.html.sh (func_module): use
102256          sed -e '\|^'"${includefile}"'$|d'
102257          instead of /.../d, to avoid errors on $includefile's containing /.
102259 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
102261         * gnulib-tool (func_import): Avoid duplication of --avoid
102262         statements
102263         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
102264         names to `_' in variable names.
102266 2007-07-10  Eric Blake  <ebb9@byu.net>
102268         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
102269         * NEWS: Document this change.
102271 2007-07-08  Bruno Haible  <bruno@clisp.org>
102273         Update to Unicode 5.0.
102274         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
102275         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
102276         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
102277         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
102278         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
102279         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
102280         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
102281         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
102282         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
102283         U+10A3F, U+1D242..U+1D244.
102284         (nonspacing_table_ind): Update.
102285         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
102286         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
102288 2007-07-08  Bruno Haible  <bruno@clisp.org>
102290         Update to Unicode 5.0.
102291         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
102292         code transform. Extend the name index field of unicode_name_to_code and
102293         unicode_code_to_name from 16 to 24 bits.
102294         * lib/uniname/uniname.c (unicode_character_name,
102295         unicode_name_character): Add the range 0x12xxx to the code transform.
102296         * lib/uniname/uninames.h: Regenerated.
102297         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
102299 2007-07-07  Bruno Haible  <bruno@clisp.org>
102301         * modules/wcwidth-tests: New file.
102302         * tests/test-wcwidth.c: New file.
102304         Work around MacOS X wcwidth() bug.
102305         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
102306         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
102307         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
102308         original wcwidth in non-UTF-8 locales.
102309         * modules/wcwidth (Depends-on): Add localcharset, streq,
102310         uniwidth/width.
102311         * doc/functions/wcwidth.texi: Update.
102313 2007-07-07  Bruno Haible  <bruno@clisp.org>
102315         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
102316         (wcwidth): New declaration.
102317         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
102318         macros.
102319         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
102320         here. Prepare for creating <wchar.h> unconditionally.
102321         * modules/wchar (Depends-on): Add link-warning.
102322         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
102323         REPLACE_WCWIDTH, and GL_LINK_WARNING.
102324         * lib/wcwidth.h: Remove file.
102325         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
102326         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
102327         * modules/wcwidth (Files): Remove lib/wcwidth.h.
102328         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
102329         (Include): Replace wcwidth.h with <wchar.h>.
102330         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
102331         * lib/mbchar.h: Don't include wcwidth.h.
102332         * lib/mbswidth.c: Likewise.
102333         * NEWS: Mention the change.
102335 2007-07-07  Bruno Haible  <bruno@clisp.org>
102337         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
102338         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
102339         definition with an external declaration.
102340         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
102341         defined as a function. Remove AC_C_INLINE requirement.
102342         * modules/wcwidth (Files): Add lib/wcwidth.c.
102343         (Makefile.am): Remove redundant statement.
102345 2007-07-07  Bruno Haible  <bruno@clisp.org>
102347         * MODULES.html.sh (Unicode string functions): Add the new modules.
102349         * tests/uniwidth/test-u32-strwidth.c: New file.
102350         * modules/uniwidth/u32-strwidth-tests: New file.
102352         * lib/uniwidth/u32-strwidth.c: New file.
102353         * modules/uniwidth/u32-strwidth: New file.
102355         * tests/uniwidth/test-u16-strwidth.c: New file.
102356         * modules/uniwidth/u16-strwidth-tests: New file.
102358         * lib/uniwidth/u16-strwidth.c: New file.
102359         * modules/uniwidth/u16-strwidth: New file.
102361         * tests/uniwidth/test-u8-strwidth.c: New file.
102362         * modules/uniwidth/u8-strwidth-tests: New file.
102364         * lib/uniwidth/u8-strwidth.c: New file.
102365         * modules/uniwidth/u8-strwidth: New file.
102367         * tests/uniwidth/test-u32-width.c: New file.
102368         * modules/uniwidth/u32-width-tests: New file.
102370         * lib/uniwidth/u32-width.c: New file.
102371         * modules/uniwidth/u32-width: New file.
102373         * tests/uniwidth/test-u16-width.c: New file.
102374         * modules/uniwidth/u16-width-tests: New file.
102376         * lib/uniwidth/u16-width.c: New file.
102377         * modules/uniwidth/u16-width: New file.
102379         * tests/uniwidth/test-u8-width.c: New file.
102380         * modules/uniwidth/u8-width-tests: New file.
102382         * lib/uniwidth/u8-width.c: New file.
102383         * modules/uniwidth/u8-width: New file.
102385         * tests/uniwidth/test-uc_width.c: New file.
102386         * modules/uniwidth/width-tests: New file.
102388         * lib/uniwidth/width.c: New file, from GNU libiconv.
102389         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
102390         * modules/uniwidth/width: New file.
102392         * lib/uniwidth.h: New file, from GNU libiconv.
102393         * modules/uniwidth/base: New file.
102395 2007-07-07  Bruno Haible  <bruno@clisp.org>
102397         * lib/uniname.h: New file, from GNU gettext.
102398         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
102399         * lib/uniname/uninames.h: New file, from GNU gettext.
102400         * lib/uniname/uniname.c: New file, from GNU gettext.
102401         * tests/uniname/test-uninames.sh: New file.
102402         * tests/uniname/test-uninames.c: New file, from GNU gettext.
102403         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
102404         * modules/uniname/base: New file.
102405         * modules/uniname/uniname: New file.
102406         * modules/uniname/uniname-tests: New file.
102407         * MODULES.html.sh (Unicode string functions): Add the new modules.
102409 2007-07-06  Bruno Haible  <bruno@clisp.org>
102411         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
102413 2007-07-06  Bruno Haible  <bruno@clisp.org>
102415         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
102416         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
102417         includes <cygwin/sys_time.h> which includes <sys/select.h> which
102418         include <sys/time.h>.
102419         Reported by Eric Blake.
102421 2007-07-06  Eric Blake  <ebb9@byu.net>
102423         Fix testing canonicalize on cygwin.
102424         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
102425         Revert patch from 2007-06-19.
102426         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
102427         canonicalize module is also in use.
102428         * tests/test-canonicalize.c: New file.
102429         * tests/test-canonicalize.sh: Likewise.
102430         * modules/canonicalize-tests: Likewise.
102432 2007-07-06  Jim Meyering  <jim@meyering.net>
102434         * lib/getugroups.c (getugroups): Detect getgrent failure.
102435         Adjust comment to reflect reality: this function may return -1.
102437 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
102439         * build-aux/bootstrap (TP_URL,get_translations): Update to use
102440         the new TP address.
102441         (usage): Fix typo
102442         (gnulib_mk): New variable.
102444 2007-07-05  Jim Meyering  <jim@meyering.net>
102446         Don't let endgrent clobber errno, no matter how improbable.
102447         * lib/getugroups.c (getugroups): Save and restore errno around
102448         endgrent call.
102450         Close the group DB even when failing with 2^31 or more members.
102451         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
102453 2007-07-04  Jim Meyering  <jim@meyering.net>
102455         * lib/getugroups.h: New file.
102456         * lib/getugroups.c: Include "getugroups.h".
102457         Remove uses of "register" keyword.
102458         Move local variable, "cp", down into scope where used.
102459         Give "username" parameter the "const" attribute.
102460         * modules/getugroups (Files): Add lib/getugroups.h
102462 2007-07-04  Karl Berry  <karl@gnu.org>
102464         * MODULES.html.sh (func_all_modules): Complete rename of
102465         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
102467 2007-07-02  Bruno Haible  <bruno@clisp.org>
102469         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
102470         mode, when inttypes.h comes from gnulib.
102471         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
102473 2007-07-02  Simon Josefsson  <simon@josefsson.org>
102475         * NEWS: Mention lgpl module name change.
102477         * modules/lgpl-2.1: Renamed from lgpl.
102479         * NEWS: Mention gpl module name change.
102481         * modules/gpl-3.0: New file, based on gpl-2.0.
102483         * modules/gpl-2.0: Renamed from gpl.
102485         * modules/gpl: Fix filename, doc/gpl.texi is now found at
102486         doc/gpl-2.0.texi.
102488 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
102490         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
102491         #define __STDC_LIMIT_MACROS temporarily while including
102492         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
102493         Problem reported by Joel E. Denny in
102494         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
102496 2007-07-01  Bruno Haible  <bruno@clisp.org>
102498         * lib/unistdio.h: New file.
102499         * lib/unistdio/u-asnprintf.h: New file.
102500         * lib/unistdio/u-asprintf.h: New file.
102501         * lib/unistdio/u-printf-args.c: New file.
102502         * lib/unistdio/u-printf-args.h: New file.
102503         * lib/unistdio/u-printf-parse.h: New file.
102504         * lib/unistdio/u-snprintf.h: New file.
102505         * lib/unistdio/u-sprintf.h: New file.
102506         * lib/unistdio/u-vasprintf.h: New file.
102507         * lib/unistdio/u-vsnprintf.h: New file.
102508         * lib/unistdio/u-vsprintf.h: New file.
102509         * lib/unistdio/ulc-asnprintf.c: New file.
102510         * lib/unistdio/ulc-asprintf.c: New file.
102511         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
102512         * lib/unistdio/ulc-printf-parse.c: New file.
102513         * lib/unistdio/ulc-snprintf.c: New file.
102514         * lib/unistdio/ulc-sprintf.c: New file.
102515         * lib/unistdio/ulc-vasnprintf.c: New file.
102516         * lib/unistdio/ulc-vasprintf.c: New file.
102517         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
102518         * lib/unistdio/ulc-vsnprintf.c: New file.
102519         * lib/unistdio/ulc-vsprintf.c: New file.
102520         * lib/unistdio/u8-asnprintf.c: New file.
102521         * lib/unistdio/u8-asprintf.c: New file.
102522         * lib/unistdio/u8-printf-parse.c: New file.
102523         * lib/unistdio/u8-snprintf.c: New file.
102524         * lib/unistdio/u8-sprintf.c: New file.
102525         * lib/unistdio/u8-vasnprintf.c: New file.
102526         * lib/unistdio/u8-vasprintf.c: New file.
102527         * lib/unistdio/u8-vsnprintf.c: New file.
102528         * lib/unistdio/u8-vsprintf.c: New file.
102529         * lib/unistdio/u8-u8-asnprintf.c: New file.
102530         * lib/unistdio/u8-u8-asprintf.c: New file.
102531         * lib/unistdio/u8-u8-snprintf.c: New file.
102532         * lib/unistdio/u8-u8-sprintf.c: New file.
102533         * lib/unistdio/u8-u8-vasnprintf.c: New file.
102534         * lib/unistdio/u8-u8-vasprintf.c: New file.
102535         * lib/unistdio/u8-u8-vsnprintf.c: New file.
102536         * lib/unistdio/u8-u8-vsprintf.c: New file.
102537         * lib/unistdio/u16-asnprintf.c: New file.
102538         * lib/unistdio/u16-asprintf.c: New file.
102539         * lib/unistdio/u16-printf-parse.c: New file.
102540         * lib/unistdio/u16-snprintf.c: New file.
102541         * lib/unistdio/u16-sprintf.c: New file.
102542         * lib/unistdio/u16-vasnprintf.c: New file.
102543         * lib/unistdio/u16-vasprintf.c: New file.
102544         * lib/unistdio/u16-vsnprintf.c: New file.
102545         * lib/unistdio/u16-vsprintf.c: New file.
102546         * lib/unistdio/u16-u16-asnprintf.c: New file.
102547         * lib/unistdio/u16-u16-asprintf.c: New file.
102548         * lib/unistdio/u16-u16-snprintf.c: New file.
102549         * lib/unistdio/u16-u16-sprintf.c: New file.
102550         * lib/unistdio/u16-u16-vasnprintf.c: New file.
102551         * lib/unistdio/u16-u16-vasprintf.c: New file.
102552         * lib/unistdio/u16-u16-vsnprintf.c: New file.
102553         * lib/unistdio/u16-u16-vsprintf.c: New file.
102554         * lib/unistdio/u32-asnprintf.c: New file.
102555         * lib/unistdio/u32-asprintf.c: New file.
102556         * lib/unistdio/u32-printf-parse.c: New file.
102557         * lib/unistdio/u32-snprintf.c: New file.
102558         * lib/unistdio/u32-sprintf.c: New file.
102559         * lib/unistdio/u32-vasnprintf.c: New file.
102560         * lib/unistdio/u32-vasprintf.c: New file.
102561         * lib/unistdio/u32-vsnprintf.c: New file.
102562         * lib/unistdio/u32-vsprintf.c: New file.
102563         * lib/unistdio/u32-u32-asnprintf.c: New file.
102564         * lib/unistdio/u32-u32-asprintf.c: New file.
102565         * lib/unistdio/u32-u32-snprintf.c: New file.
102566         * lib/unistdio/u32-u32-sprintf.c: New file.
102567         * lib/unistdio/u32-u32-vasnprintf.c: New file.
102568         * lib/unistdio/u32-u32-vasprintf.c: New file.
102569         * lib/unistdio/u32-u32-vsnprintf.c: New file.
102570         * lib/unistdio/u32-u32-vsprintf.c: New file.
102571         * tests/unistdio/test-ulc-asnprintf1.c: New file.
102572         * tests/unistdio/test-ulc-asnprintf1.h: New file.
102573         * tests/unistdio/test-ulc-printf1.h: New file.
102574         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
102575         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
102576         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
102577         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
102578         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
102579         * tests/unistdio/test-ulc-vasprintf1.c: New file.
102580         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
102581         * tests/unistdio/test-ulc-vsprintf1.c: New file.
102582         * tests/unistdio/test-u8-asnprintf1.c: New file.
102583         * tests/unistdio/test-u8-asnprintf1.h: New file.
102584         * tests/unistdio/test-u8-printf1.h: New file.
102585         * tests/unistdio/test-u8-vasnprintf1.c: New file.
102586         * tests/unistdio/test-u8-vasnprintf2.c: New file.
102587         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
102588         * tests/unistdio/test-u8-vasnprintf3.c: New file.
102589         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
102590         * tests/unistdio/test-u8-vasprintf1.c: New file.
102591         * tests/unistdio/test-u8-vsnprintf1.c: New file.
102592         * tests/unistdio/test-u8-vsprintf1.c: New file.
102593         * tests/unistdio/test-u16-asnprintf1.c: New file.
102594         * tests/unistdio/test-u16-asnprintf1.h: New file.
102595         * tests/unistdio/test-u16-printf1.h: New file.
102596         * tests/unistdio/test-u16-vasnprintf1.c: New file.
102597         * tests/unistdio/test-u16-vasnprintf2.c: New file.
102598         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
102599         * tests/unistdio/test-u16-vasnprintf3.c: New file.
102600         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
102601         * tests/unistdio/test-u16-vasprintf1.c: New file.
102602         * tests/unistdio/test-u16-vsnprintf1.c: New file.
102603         * tests/unistdio/test-u16-vsprintf1.c: New file.
102604         * tests/unistdio/test-u32-asnprintf1.c: New file.
102605         * tests/unistdio/test-u32-asnprintf1.h: New file.
102606         * tests/unistdio/test-u32-printf1.h: New file.
102607         * tests/unistdio/test-u32-vasnprintf1.c: New file.
102608         * tests/unistdio/test-u32-vasnprintf2.c: New file.
102609         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
102610         * tests/unistdio/test-u32-vasnprintf3.c: New file.
102611         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
102612         * tests/unistdio/test-u32-vasprintf1.c: New file.
102613         * tests/unistdio/test-u32-vsnprintf1.c: New file.
102614         * tests/unistdio/test-u32-vsprintf1.c: New file.
102615         * modules/unistdio/base: New file.
102616         * modules/unistdio/u-printf-args: New file.
102617         * modules/unistdio/ulc-asnprintf: New file.
102618         * modules/unistdio/ulc-asprintf: New file.
102619         * modules/unistdio/ulc-fprintf: New file.
102620         * modules/unistdio/ulc-printf-parse: New file.
102621         * modules/unistdio/ulc-snprintf: New file.
102622         * modules/unistdio/ulc-sprintf: New file.
102623         * modules/unistdio/ulc-vasnprintf: New file.
102624         * modules/unistdio/ulc-vasprintf: New file.
102625         * modules/unistdio/ulc-vfprintf: New file.
102626         * modules/unistdio/ulc-vsnprintf: New file.
102627         * modules/unistdio/ulc-vsprintf: New file.
102628         * modules/unistdio/u8-asnprintf: New file.
102629         * modules/unistdio/u8-asprintf: New file.
102630         * modules/unistdio/u8-printf-parse: New file.
102631         * modules/unistdio/u8-snprintf: New file.
102632         * modules/unistdio/u8-sprintf: New file.
102633         * modules/unistdio/u8-vasnprintf: New file.
102634         * modules/unistdio/u8-vasprintf: New file.
102635         * modules/unistdio/u8-vsnprintf: New file.
102636         * modules/unistdio/u8-vsprintf: New file.
102637         * modules/unistdio/u8-u8-asnprintf: New file.
102638         * modules/unistdio/u8-u8-asprintf: New file.
102639         * modules/unistdio/u8-u8-snprintf: New file.
102640         * modules/unistdio/u8-u8-sprintf: New file.
102641         * modules/unistdio/u8-u8-vasnprintf: New file.
102642         * modules/unistdio/u8-u8-vasprintf: New file.
102643         * modules/unistdio/u8-u8-vsnprintf: New file.
102644         * modules/unistdio/u8-u8-vsprintf: New file.
102645         * modules/unistdio/u16-asnprintf: New file.
102646         * modules/unistdio/u16-asprintf: New file.
102647         * modules/unistdio/u16-printf-parse: New file.
102648         * modules/unistdio/u16-snprintf: New file.
102649         * modules/unistdio/u16-sprintf: New file.
102650         * modules/unistdio/u16-vasnprintf: New file.
102651         * modules/unistdio/u16-vasprintf: New file.
102652         * modules/unistdio/u16-vsnprintf: New file.
102653         * modules/unistdio/u16-vsprintf: New file.
102654         * modules/unistdio/u16-u16-asnprintf: New file.
102655         * modules/unistdio/u16-u16-asprintf: New file.
102656         * modules/unistdio/u16-u16-snprintf: New file.
102657         * modules/unistdio/u16-u16-sprintf: New file.
102658         * modules/unistdio/u16-u16-vasnprintf: New file.
102659         * modules/unistdio/u16-u16-vasprintf: New file.
102660         * modules/unistdio/u16-u16-vsnprintf: New file.
102661         * modules/unistdio/u16-u16-vsprintf: New file.
102662         * modules/unistdio/u32-asnprintf: New file.
102663         * modules/unistdio/u32-asprintf: New file.
102664         * modules/unistdio/u32-printf-parse: New file.
102665         * modules/unistdio/u32-snprintf: New file.
102666         * modules/unistdio/u32-sprintf: New file.
102667         * modules/unistdio/u32-vasnprintf: New file.
102668         * modules/unistdio/u32-vasprintf: New file.
102669         * modules/unistdio/u32-vsnprintf: New file.
102670         * modules/unistdio/u32-vsprintf: New file.
102671         * modules/unistdio/u32-u32-asnprintf: New file.
102672         * modules/unistdio/u32-u32-asprintf: New file.
102673         * modules/unistdio/u32-u32-snprintf: New file.
102674         * modules/unistdio/u32-u32-sprintf: New file.
102675         * modules/unistdio/u32-u32-vasnprintf: New file.
102676         * modules/unistdio/u32-u32-vasprintf: New file.
102677         * modules/unistdio/u32-u32-vsnprintf: New file.
102678         * modules/unistdio/u32-u32-vsprintf: New file.
102679         * modules/unistdio/ulc-asnprintf-tests: New file.
102680         * modules/unistdio/ulc-vasnprintf-tests: New file.
102681         * modules/unistdio/ulc-vasprintf-tests: New file.
102682         * modules/unistdio/ulc-vsnprintf-tests: New file.
102683         * modules/unistdio/ulc-vsprintf-tests: New file.
102684         * modules/unistdio/u8-asnprintf-tests: New file.
102685         * modules/unistdio/u8-vasnprintf-tests: New file.
102686         * modules/unistdio/u8-vasprintf-tests: New file.
102687         * modules/unistdio/u8-vsnprintf-tests: New file.
102688         * modules/unistdio/u8-vsprintf-tests: New file.
102689         * modules/unistdio/u16-asnprintf-tests: New file.
102690         * modules/unistdio/u16-vasnprintf-tests: New file.
102691         * modules/unistdio/u16-vasprintf-tests: New file.
102692         * modules/unistdio/u16-vsnprintf-tests: New file.
102693         * modules/unistdio/u16-vsprintf-tests: New file.
102694         * modules/unistdio/u32-asnprintf-tests: New file.
102695         * modules/unistdio/u32-vasnprintf-tests: New file.
102696         * modules/unistdio/u32-vasprintf-tests: New file.
102697         * modules/unistdio/u32-vsnprintf-tests: New file.
102698         * modules/unistdio/u32-vsprintf-tests: New file.
102699         * MODULES.html.sh (Unicode string functions): Add the new modules.
102701 2007-07-01  Bruno Haible  <bruno@clisp.org>
102703         * lib/sprintf.c (sprintf): Limit the available length estimation,
102704         to avoid address wraparound.
102705         * lib/vsprintf.c (vsprintf): Likewise.
102706         * modules/sprintf-posix (Dependencies): Add stdint.
102707         * modules/vsprintf-posix (Dependencies): Likewise.
102709 2007-07-01  Bruno Haible  <bruno@clisp.org>
102711         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
102712         Windows PATH as well. Conservative double-quoting. Comments.
102714 2007-07-01  Bruno Haible  <bruno@clisp.org>
102715             Eric Blake  <ebb9@byu.net>
102716             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102718         * gnulib-tool (self_abspathname): Fix algorithm to cope with
102719         empty components in $PATH, denoting '.'.
102721 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102723         * gnulib-tool: Fix indentation.
102724         (func_create_megatestdir): Likewise.
102725         Report by Bruno Haible.
102727 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102729         Sync from Automake.
102730         * build-aux/gnupload: Fix shell portability issues with for loops.
102731         Report by Karl Berry.
102733 2007-06-29  Simon Josefsson  <simon@josefsson.org>
102735         * build-aux/maint.mk (POURL): Use translationproject.org.
102737 2007-06-27  Simon Josefsson  <simon@josefsson.org>
102738             Bruno Haible  <bruno@clisp.org>
102740         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
102741         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
102742         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
102743         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
102744         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
102746 2007-06-27  Bruno Haible  <bruno@clisp.org>
102748         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
102749         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
102751 2007-06-26  Karl Berry  <karl@gnu.org>
102753         * MODULES.html.sh: remove xreadlink-with-size.
102755 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
102757         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
102758         method that I hope also handles the double-include problem noted
102759         by Bruno Haible in
102760         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
102762 2007-06-23  Bruno Haible  <bruno@clisp.org>
102764         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
102765         Don't let the 'mostlyclean' target fail if the last subdirectory could
102766         not be removed.
102767         Reported by Karl Berry.
102769 2007-06-23  Bruno Haible  <bruno@clisp.org>
102771         * gnulib-tool (echo): Add a speedier workaround for ksh.
102772         * tests/test-echo.sh: Likewise.
102774 2007-06-23  Bruno Haible  <bruno@clisp.org>
102776         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
102777         * tests/test-echo.sh: Likewise.
102779 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102781         * gnulib-tool (IFS): Initialize early, so we don't set it to
102782         empty later.
102783         (self_abspathname): Rewrite algorithm to set it, reindent.
102784         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
102785         (func_create_megatestdir): Merge some sed scripts.
102787 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
102789         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
102790         exposed by Sun Studio 11 cc on Solaris 8.
102792 2007-06-22  Bruno Haible  <bruno@clisp.org>
102794         * gnulib-tool (echo): Ensure the echo primitive does not interpret
102795         backslashes.
102796         * tests/test-echo.sh: New file.
102798 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102800         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
102801         simplify `sed_replace_build_aux' scripts, they are portable but
102802         echoing them with `echo' is not.
102803         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
102805 2007-06-21  Karl Berry  <karl@gnu.org>
102807         * config/srclist.txt: guess we can't handle the licenses via
102808         srclist at the moment.
102810 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
102812         * MODULES.html.sh: Add include_next.
102813         * modules/include_next: New file.
102815 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
102817         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
102818         INCLUDE_NEXT.
102819         (gl_CHECK_NEXT_HEADERS): New macro.
102820         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
102821         the obsolescent gl_ABSOLUTE_HEADER.
102822         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
102823         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
102824         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
102825         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
102826         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
102827         * m4/math_h.m4 (gl_MATH_H): Likewise.
102828         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
102829         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
102830         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
102831         * m4/stdint.m4 (gl_STDINT_H): Likewise.
102832         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
102833         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
102834         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
102835         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
102836         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
102837         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
102838         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
102839         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
102840         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
102841         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
102842         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
102843         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
102844         * m4/inttypes.m4 (gl_INTTYPES_H): Define
102845         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
102846         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
102847         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
102848         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
102849         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
102850         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
102851         * lib/float_.h: Likewise.
102852         * lib/inttypes_.h: Likewise.
102853         * lib/math_.h: Likewise.
102854         * lib/search_.h: Likewise.
102855         * lib/signal_.h: Likewise.
102856         * lib/stdint_.h: Likewise.
102857         * lib/stdio_.h: Likewise.
102858         * lib/stdlib_.h: Likewise.
102859         * lib/string_.h: Likewise.
102860         * lib/sys_stat_.h: Likewise.
102861         * lib/sys_time_.h: Likewise.
102862         * lib/time_.h: Likewise.
102863         * lib/unistd_.h: Likewise.
102864         * lib/wchar_.h: Likewise.
102865         * lib/wctype_.h: Likewise.
102866         * lib/dirent_.h: Likewise.
102867         * lib/iconv_.h: Likewise.
102868         * lib/locale_.h: Likewise.
102869         * lib/netinet_in_.h: Likewise.
102870         * lib/sys_select_.h: Likewise.
102871         * lib/sys_socket_.h: Likewise.
102872         * lib/sysexits_.h: Likewise.
102873         * modules/fcntl (Depends-on): Depend on include_next, not
102874         absolute_header.
102875         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
102876         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
102877         * modules/fchdir: Likewise.
102878         * modules/float: Likewise.
102879         * modules/iconv_open: Likewise.
102880         * modules/inttypes: Likewise.
102881         * modules/locale: Likewise.
102882         * modules/math: Likewise.
102883         * modules/netinet_in: Likewise.
102884         * modules/search: Likewise.
102885         * modules/signal: Likewise.
102886         * modules/stdint: Likewise.
102887         * modules/stdio: Likewise.
102888         * modules/stdlib: Likewise.
102889         * modules/string: Likewise.
102890         * modules/sys_select: Likewise.
102891         * modules/sys_socket: Likewise.
102892         * modules/sys_stat: Likewise.
102893         * modules/sys_time: Likewise.
102894         * modules/sysexits: Likewise.
102895         * modules/time: Likewise.
102896         * modules/unistd: Likewise.
102897         * modules/wchar: Likewise.
102898         * modules/wctype: Likewise.
102899         * modules/sys_stat: Change maintainer to "all".
102900         * modules/unistd: Likewise.
102902 2007-06-20  Karl Berry  <karl@gnu.org>
102904         * config/srclist.txt: track www changes in license files.
102906 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
102908         * build-aux/bootstrap: Remove stray dot.
102909         Make sure build_aux settings are honored when linking
102910         gnulib_extra_files.
102912 2007-06-19  Eric Blake  <ebb9@byu.net>
102914         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
102915         Allow compilation on cygwin.
102917 2007-06-19  Jim Meyering  <jim@meyering.net>
102919         xreadlink-with-size: Remove module.  No longer used.
102920         Ex-callers now use xreadlink or mreadlink-with-size.
102921         * modules/xreadlink-with-size: Remove module.
102922         * lib/xreadlink-with-size.c: Remove file.
102923         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
102924         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
102925         just before the function definition *is* accurate.
102927         Eliminate one way canonicalize_filename_mode could exit.
102928         * lib/canonicalize.c (canonicalize_filename_mode):
102929         Use mreadlink_with_size, not xreadlink_with_size.
102931 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
102933         Detect porting problems to FreeBSD/arm, which has time_t wider than
102934         long int.  Original problem reported for GNU diff by Xin Li in
102935         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
102936         * modules/getdate (Depends-on): Add intprops, verify.
102937         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
102938         is an integer type no wider than long int.
102940 2007-06-18  Jim Meyering  <jim@meyering.net>
102942         New module: mreadlink-with-size.
102943         * MODULES.html.sh: Add mreadlink-with-size.
102944         * modules/mreadlink-with-size: New module
102945         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
102946         not xreadlink-with-size.
102947         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
102949 2007-06-16  Bruno Haible  <bruno@clisp.org>
102951         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
102952         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
102953         Reported by Gary V. Vaughan <gary@gnu.org>.
102955 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
102957         Revamp lchown so that it lives in unistd.h where it belongs.
102958         * lib/lchown.h: Remove.
102959         * lib/dirchownmod.c: Don't include lib/lchown.h.
102960         * lib/fchownat.c: Likewise.
102961         * lib/openat.c: Likewise.
102962         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
102963         does not follow symlinks.
102964         (EOPNOTSUPP): Define if not defined.
102965         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
102966         is defined to 0.
102967         (lchown): New decl.
102968         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
102969         Do not check for lchown decl.
102970         Set REPLACE_LCHOWN.
102971         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
102972         REPLACE_LCHOWN.
102973         * modules/chown: Make it clear it follows symlinks.
102974         * modules/lchown: Make it clear it doesn't follow symlinks.
102975         (Files): Remove lib/lchown.h
102976         (Depends-on): Add unistd.
102977         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
102978         (Include): Include <unistd.h>, not "lchown.h".
102979         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
102980         REPLACE_LCHOWN.
102982 2007-06-15  Jim Meyering  <jim@meyering.net>
102984         Change license (GPL to LGPL) of fsusage and dependents.
102985         * modules/fsusage (License): Change to LGPL.
102986         * modules/full-read (License): Likewise.
102987         * modules/full-write (License): Likewise.
102988         * modules/safe-read (License): Likewise.
102989         * modules/safe-write (License): Likewise.
102991 2007-06-14  Ben Pfaff  <blp@gnu.org>
102993         Missing part of allocsa -> malloca transition.
102994         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
102995         gl_MALLOCA.
102997 2007-06-12  Bruno Haible  <bruno@clisp.org>
102999         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
103000         to ia64, x86_64, i386.
103001         Reported by Eric Blake.
103003 2007-06-12  Bruno Haible  <bruno@clisp.org>
103005         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
103006         cross-compiling to x86_64.
103008 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
103010         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
103011         glitch reported by Ralf Wildenhues in
103012         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
103014         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
103015         Vin Shelton.
103017 2007-06-11  Bruno Haible  <bruno@clisp.org>
103019         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
103020         replacement string.
103021         Reported by Eric Blake.
103023 2007-06-10  Bruno Haible  <bruno@clisp.org>
103025         Prepare vasnprintf code for use with Unicode strings.
103026         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
103027         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
103028         TYPE_U32_STRING.
103029         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
103030         a_u32_string variants.
103031         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103032         * lib/printf-args.c: Don't include config.h and the specification
103033         header if PRINTF_FETCHARGS is already defined.
103034         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103035         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
103036         TYPE_U16_STRING, TYPE_U32_STRING.
103037         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
103038         u16_directive, u16_directives, u32_directive, u32_directives): New
103039         types.
103040         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
103041         New declarations.
103042         * lib/printf-parse.c: Don't include config.h and the specification
103043         header if PRINTF_PARSE is already defined. Eliminate the set of
103044         parameters for WIDE_CHAR_VERSION; the user of this file must provide
103045         them now. Include c-ctype.h.
103046         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
103047         directive and CHAR_T_ONLY_ASCII.
103048         * lib/vasnprintf.c: Don't include config.h and the specification header
103049         if VASNPRINTF is already defined.
103050         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
103051         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
103052         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
103053         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
103054         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
103055         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
103056         code accordingly.
103057         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
103058         pad_ourselves also in this case, with the 'c' and 's' directives, and
103059         with a different notion of "width".
103060         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
103062 2007-06-10  Bruno Haible  <bruno@clisp.org>
103064         * modules/unistr/u32-mbsnlen: New file.
103065         * lib/unistr/u32-mbsnlen.c: New file.
103067         * modules/unistr/u16-mbsnlen: New file.
103068         * lib/unistr/u16-mbsnlen.c: New file.
103070         * modules/unistr/u8-mbsnlen: New file.
103071         * lib/unistr/u8-mbsnlen.c: New file.
103073         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
103074         declarations.
103076 2007-06-10  Bruno Haible  <bruno@clisp.org>
103078         * lib/string_.h (mbsnlen): New declaration.
103079         * lib/mbsnlen.c: New file.
103080         * m4/mbsnlen.m4: New file.
103081         * modules/mbsnlen: New file.
103082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
103083         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
103084         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
103086 2007-06-10  Bruno Haible  <bruno@clisp.org>
103088         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
103090 2007-06-10  Bruno Haible  <bruno@clisp.org>
103092         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
103093         * lib/mbuiter.h: Likewise.
103095 2007-06-10  Bruno Haible  <bruno@clisp.org>
103097         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
103098         declaration.
103100 2007-06-10  Karl Berry  <karl@gnu.org>
103102         * config/srclist.txt: remove gettext entries, Bruno prefers
103103         to update individually.
103105 2007-06-10  Bruno Haible  <bruno@clisp.org>
103107         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
103108         'maxlen'. Ensure only length + width bytes are allocated, not
103109         length + 1 + width.
103111 2007-06-09  Bruno Haible  <bruno@clisp.org>
103113         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
103114         (CHAR_T): Remove macro.
103115         (VASNPRINTF): Update.
103117 2007-06-09  Bruno Haible  <bruno@clisp.org>
103119         * MODULES.html.sh (Unicode string functions): Add the new modules.
103121         * modules/uniconv/u32-conv-to-enc: New file.
103122         * lib/uniconv/u32-conv-to-enc.c: New file.
103123         * modules/uniconv/u32-conv-to-enc-tests: New file.
103124         * tests/uniconv/test-u32-conv-to-enc.c: New file.
103126         * modules/uniconv/u16-conv-to-enc: New file.
103127         * lib/uniconv/u16-conv-to-enc.c: New file.
103128         * lib/uniconv/u-conv-to-enc.h: New file.
103129         * modules/uniconv/u16-conv-to-enc-tests: New file.
103130         * tests/uniconv/test-u16-conv-to-enc.c: New file.
103132         * modules/uniconv/u8-conv-to-enc: New file.
103133         * lib/uniconv/u8-conv-to-enc.c: New file.
103134         * modules/uniconv/u8-conv-to-enc-tests: New file.
103135         * tests/uniconv/test-u8-conv-to-enc.c: New file.
103137         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
103138         u32_conv_to_encoding): New declarations.
103140 2007-06-09  Bruno Haible  <bruno@clisp.org>
103142         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
103144 2007-06-09  Bruno Haible  <bruno@clisp.org>
103146         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
103147         * modules/malloca: Renamed from modules/allocsa, updated.
103148         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
103149         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
103150         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
103151         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
103152         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
103153         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
103154         * modules/xmalloca: Renamed from modules/xallocsa, updated.
103155         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
103156         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
103157         * modules/c-strcasestr (Depends-on): Update.
103158         * lib/c-strcasestr.c: Update.
103159         * modules/c-strstr (Depends-on): Update.
103160         * lib/c-strstr.c: Update.
103161         * modules/canonicalize-lgpl (Depends-on): Update.
103162         * lib/canonicalize-lgpl.c: Update.
103163         * modules/clean-temp (Depends-on): Update.
103164         * lib/clean-temp.c: Update.
103165         * modules/csharpcomp (Depends-on): Update.
103166         * lib/csharpcomp.c: Update.
103167         * modules/csharpexec (Depends-on): Update.
103168         * lib/csharpexec.c: Update.
103169         * modules/javacomp (Depends-on): Update.
103170         * lib/javacomp.c: Update.
103171         * modules/javaexec (Depends-on): Update.
103172         * lib/javaexec.c: Update.
103173         * modules/mbscasestr (Depends-on): Update.
103174         * lib/mbscasestr.c: Update.
103175         * modules/mbsstr (Depends-on): Update.
103176         * lib/mbsstr.c: Update.
103177         * modules/setenv (Depends-on): Update.
103178         * lib/setenv.c: Update.
103179         * modules/strcasestr (Depends-on): Update.
103180         * lib/strcasestr.c: Update.
103181         * modules/striconveha (Depends-on): Update.
103182         * lib/striconveha.c: Update.
103183         * modules/relocatable-prog-wrapper (Files): Update.
103184         * lib/relocwrapper.c: Update.
103185         * build-aux/install-reloc: Update.
103186         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
103188 2007-06-08  Bruno Haible  <bruno@clisp.org>
103190         Port to uClibc.
103191         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
103192         * lib/fpurge.c (fpurge): Likewise.
103193         * lib/freading.c (freading): Likewise.
103194         * lib/fseeko.c (rpl_fseeko): Likewise.
103195         * lib/fseterr.c (fseterr): Likewise.
103196         * lib/fwriting.c (fwriting): Likewise.
103197         * tests/test-fflush.c (main): Avoid a failure on uClibc.
103199 2007-06-08  Bruno Haible  <bruno@clisp.org>
103201         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
103202         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
103203         * modules/gettext (Files): Add m4/intlmacosx.m4.
103205 2007-06-07  Bruno Haible  <bruno@clisp.org>
103207         * modules/localename-tests: New file.
103208         * tests/test-localename.c: New file.
103210         New module 'localename'.
103211         * lib/localename.h: New file.
103212         * lib/localename.c: New file, from GNU gettext.
103213         * m4/localename.m4: New file.
103214         * modules/localename: New file.
103216 2007-06-07  Bruno Haible  <bruno@clisp.org>
103218         Work around the lack of <wchar.h> on some builds of uClibc.
103219         * doc/headers/wchar.texi: Update.
103220         * lib/wchar_.h: Include <wchar.h> only if it exists.
103221         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
103222         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
103223         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
103224         doesn't exist.
103225         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
103226         * modules/mbfile (Depends-on): Add wchar.
103227         * modules/mbiter (Depends-on): Likewise.
103228         * modules/mbuiter (Depends-on): Likewise.
103229         Reported by Simon Josefsson.
103231 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
103233         Work around problem reported by Steven M. Schweda in
103234         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
103235         Tru64 5.1B with the Compaq compiler environment installed declares
103236         an 'isblank' function but does not define it in the C library.
103237         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
103238         * lib/regex_internal.h (isblank): Likewise.
103239         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
103240         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
103242 2007-06-05  Bruno Haible  <bruno@clisp.org>
103244         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
103245         ia64.
103246         * modules/printf-safe: New file.
103247         * modules/fprintf-posix (Depends-on): Add printf-safe.
103248         * modules/printf-posix (Depends-on): Likewise.
103249         * modules/snprintf-posix (Depends-on): Likewise.
103250         * modules/sprintf-posix (Depends-on): Likewise.
103251         * modules/vasnprintf-posix (Depends-on): Likewise.
103252         * modules/vasprintf-posix (Depends-on): Likewise.
103253         * modules/vfprintf-posix (Depends-on): Likewise.
103254         * modules/vprintf-posix (Depends-on): Likewise.
103255         * modules/vsnprintf-posix (Depends-on): Likewise.
103256         * modules/vsprintf-posix (Depends-on): Likewise.
103257         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
103258         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
103259         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
103260         "no" on i386, x86_64, ia64.
103261         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
103262         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103263         on i386, x86_64, ia64.
103264         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
103265         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103266         on i386, x86_64, ia64.
103267         * tests/test-vasnprintf-posix.c: Include float.h.
103268         (LDBL80_WORDS): New macro.
103269         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103270         on i386, x86_64, ia64.
103271         * tests/test-vasprintf-posix.c: Include float.h.
103272         (LDBL80_WORDS): New macro.
103273         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103274         on i386, x86_64, ia64.
103275         * tests/test-snprintf-posix.c: Include float.h.
103276         * tests/test-sprintf-posix.c: Likewise.
103277         * tests/test-vsnprintf-posix.c: Likewise.
103278         * tests/test-vsprintf-posix.c: Likewise.
103280 2007-06-05  Bruno Haible  <bruno@clisp.org>
103282         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
103283         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
103284         non-IEEE numbers on i386, x86_64, ia64.
103285         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
103286         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
103287         * tests/test-isnanl.h: Include float.h.
103288         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
103290 2007-06-05  Bruno Haible  <bruno@clisp.org>
103292         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
103293         also the %a / %A. Handle the %a / %A code before this extra handling.
103295 2007-06-05  Bruno Haible  <bruno@clisp.org>
103297         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
103298         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
103300 2007-06-05  Bruno Haible  <bruno@clisp.org>
103302         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
103303         typo in variable name.
103305 2007-06-05  Eric Blake  <ebb9@byu.net>
103307         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
103308         Reported by Simon Josefsson.
103310 2007-06-04  Bruno Haible  <bruno@clisp.org>
103312         Avoid test failures on some PowerPC platforms.
103313         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
103314         Define differently for PowerPC.
103315         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
103316         Reported by Gary V. Vaughan <gary@gnu.org>.
103318 2007-06-02  Bruno Haible  <bruno@clisp.org>
103320         Fix test-stdint failure on FreeBSD/ia64.
103321         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
103322         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
103323         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
103324         * doc/headers/stdint.texi: Update.
103326 2007-06-01  Bruno Haible  <bruno@clisp.org>
103328         * tests/test-binary-io.c (main): Pass a third argument to open().
103329         Reported by Gary V. Vaughan <gary@gnu.org>.
103331 2007-06-01  Bruno Haible  <bruno@clisp.org>
103333         * doc/functions/frexpl.texi: Update for mingw.
103335 2007-06-01  Bruno Haible  <bruno@clisp.org>
103337         * tests/test-lseek.c (main): Disable test of errno for invalid third
103338         argument.
103339         * doc/functions/lseek.texi: Update.
103340         Reported by Gary V. Vaughan <gary@gnu.org>.
103342 2007-05-28  Bruno Haible  <bruno@clisp.org>
103344         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
103346 2007-05-31  Eric Blake  <ebb9@byu.net>
103348         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
103349         cross compiling.
103351 2007-05-30  Eric Blake  <ebb9@byu.net>
103352         and Bruno Haible  <bruno@clisp.org>
103354         Work around mingw test failures exposed by m4-1.4.9b.
103355         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
103356         * tests/test-unistd.c: Disable uid_t and git_t tests for the
103357         moment.
103359 2007-05-30  Bruno Haible  <bruno@clisp.org>
103361         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
103362         assuming that they are closed. Needed on HP-UX 11.
103364 2007-05-29  Bruno Haible  <bruno@clisp.org>
103366         Fix a problem with #include_next.
103367         * lib/dirent_.h: Split the double-inclusion guard.
103368         * lib/fcntl_.h: Likewise.
103369         * lib/float_.h: Likewise.
103370         * lib/iconv_.h: Likewise.
103371         * lib/inttypes_.h: Likewise.
103372         * lib/locale_.h: Likewise.
103373         * lib/math_.h: Likewise.
103374         * lib/netinet_in_.h: Likewise.
103375         * lib/search_.h: Likewise.
103376         * lib/signal_.h: Likewise.
103377         * lib/stdint_.h: Likewise.
103378         * lib/stdio_.h: Likewise.
103379         * lib/stdlib_.h: Likewise.
103380         * lib/string_.h: Likewise.
103381         * lib/sys_select_.h: Likewise.
103382         * lib/sys_socket_.h: Likewise.
103383         * lib/sys_stat_.h: Likewise.
103384         * lib/sys_time_.h: Likewise.
103385         * lib/sysexits_.h: Likewise.
103386         * lib/time_.h: Likewise.
103387         * lib/unistd_.h: Likewise.
103388         * lib/wchar_.h: Likewise.
103389         * lib/wctype_.h: Likewise.
103391 2007-05-29  Bruno Haible  <bruno@clisp.org>
103393         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
103394         for the moment.
103396 2007-05-29  Bruno Haible  <bruno@clisp.org>
103398         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
103399         invocation.
103400         Reported by Eric Blake.
103402 2007-05-29  Bruno Haible  <bruno@clisp.org>
103404         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
103405         compiling case.
103407 2007-05-29  Eric Blake  <ebb9@byu.net>
103408             Bruno Haible  <bruno@clisp.org>
103410         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
103411         cross compiles.
103413 2007-05-28  Eric Blake  <ebb9@byu.net>
103415         * modules/closein-tests (test_closein_LDADD): Support test on
103416         cygwin with libtool.
103418 2007-05-28  Bruno Haible  <bruno@clisp.org>
103420         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
103421         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
103422         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
103423         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
103424         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
103425         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
103426         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
103427         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
103428         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
103430 2007-05-28  Eric Blake  <ebb9@byu.net>
103432         Unconditionally include <config.h> in unit tests.
103433         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
103434         * tests/test-allocsa.c, tests/test-arcfour.c,
103435         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
103436         tests/test-array_list.c, tests/test-array_oset.c,
103437         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
103438         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
103439         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
103440         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
103441         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
103442         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
103443         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
103444         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
103445         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
103446         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
103447         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
103448         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
103449         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
103450         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
103451         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
103452         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
103453         test-md5.c, test-memmem.c, test-printf-posix.c,
103454         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
103455         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
103456         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
103457         test-strcasestr.c, test-striconv.c, test-striconveh.c,
103458         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
103459         test-vasnprintf-posix2.c, test-vasnprintf.c,
103460         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
103461         test-vfprintf-posix.c, test-vprintf-posix.c,
103462         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
103463         test-xvasprintf.c: Likewise.
103465 2007-05-28  Bruno Haible  <bruno@clisp.org>
103467         * gnulib-tool (func_import): Remember the --with-tests command-line
103468         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
103469         Reported by Eric Blake.
103471 2007-05-28  Bruno Haible  <bruno@clisp.org>
103473         * modules/ftell-tests: New file.
103474         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
103475         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
103477         * lib/ftell.c: New file.
103478         * modules/ftell: New file.
103479         * m4/ftell.m4: New file.
103480         * doc/functions/ftell.texi: Update.
103481         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
103482         REPLACE_FTELL.
103483         * lib/stdio_.h (rpl_ftell): New declaration.
103484         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
103485         REPLACE_FTELL.
103487 2007-05-28  Eric Blake  <ebb9@byu.net>
103489         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
103491 2007-05-28  Bruno Haible  <bruno@clisp.org>
103493         * modules/fseek-tests: New file.
103494         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
103495         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
103497         * lib/fseek.c: New file.
103498         * modules/fseek: New file.
103499         * m4/fseek.m4: New file.
103500         * doc/functions/fseek.texi: Update.
103501         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
103502         REPLACE_FSEEK.
103503         * lib/stdio_.h (rpl_fseek): New declaration.
103504         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
103505         REPLACE_FSEEK.
103507 2007-05-28  Bruno Haible  <bruno@clisp.org>
103509         * lib/stdio_.h (fflush): More comments.
103511 2007-05-28  Bruno Haible  <bruno@clisp.org>
103513         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
103514         runtime test.
103516 2007-05-28  Eric Blake  <ebb9@byu.net>
103518         Improve lseek module.
103519         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
103520         * lib/unistd_.h (lseek): Scale back link warning message.
103521         * tests/test-lseek.c: Beef up test.
103522         * tests/test-lseek.sh: Exercise more facets of lseek.
103523         Reported by Bruno Haible.
103525 2007-05-28  Bruno Haible  <bruno@clisp.org>
103527         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
103528         to define.
103530 2007-05-27  Bruno Haible  <bruno@clisp.org>
103532         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
103534 2007-05-27  Bruno Haible  <bruno@clisp.org>
103536         * modules/openmp: New file.
103537         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
103538         Noah Misch.
103540 2007-05-26  Bruno Haible  <bruno@clisp.org>
103542         * modules/chdir-long (Depends-on): Add fchdir.
103543         * modules/chdir-safer (Depends-on): Likewise.
103544         * modules/fts (Depends-on): Likewise.
103545         * modules/fts-lgpl (Depends-on): Likewise.
103546         * modules/openat (Depends-on): Likewise.
103547         * modules/savewd (Depends-on): Likewise.
103549 2007-05-24  Eric Blake  <ebb9@byu.net>
103551         Fix lseek on mingw.
103552         * modules/lseek: New module.
103553         * m4/lseek.m4: New file.
103554         * lib/lseek.c: New file.
103555         * modules/lseek-tests: New file.
103556         * tests/test-lseek.c: New file.
103557         * tests/test-lseek.sh: New file.
103558         * MODULES.html.sh: Document lseek module.
103559         * modules/fflush (Depends-on): Add lseek, fseeko.
103560         * modules/fseeko (Depends-on): Likewise.
103561         * modules/ftello (Depends-on): Likewise.
103562         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
103563         broken.
103564         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
103565         broken.
103566         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
103567         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
103568         * lib/ftello.c (rpl_ftello): Likewise.
103569         * tests/test-fseeko.c (main): Test this.
103570         * tests/test-fseeko.sh: Likewise.
103571         * tests/test-ftello.c (main): Likewise.
103572         * tests/test-ftello.sh: Likewise.
103573         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
103574         implies replacing fseek.
103575         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
103576         HAVE_FTELLO.
103577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
103578         * modules/unistd (Makefile.am): Likewise.
103579         * lib/unistd_.h (lseek): Declare a replacement.
103580         * doc/functions/lseek.texi (lseek): Document this fix.
103581         * doc/functions/fseek.texi (fseek): Likewise.
103582         * doc/functions/ftell.texi (ftell): Likewise.
103584 2007-05-24  Bruno Haible  <bruno@clisp.org>
103586         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
103587         in the printed representation of a NaN.
103588         * tests/test-vasprintf-posix.c (test_function): Likewise.
103589         * tests/test-snprintf-posix.h (test_function): Likewise.
103590         * tests/test-sprintf-posix.h (test_function): Likewise.
103591         Reported by Eric Blake.
103593 2007-05-23  Eric Blake  <ebb9@byu.net>
103595         Fix fseeko/ftello on cygwin 1.5.24.
103596         * doc/functions/fseeko.texi (fseeko): Document the fix.
103597         * doc/functions/ftello.texi (ftello): Document the fix.
103598         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
103599         * doc/functions/stdout.text (stdout): New file.
103600         * doc/functions/stderr.text (stderr): New file.
103601         * doc/gnulib.texi (Function Substitutes): Use new files.
103602         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
103603         prior to 1.7.0.
103604         * tests/test-ftello.c (main): Likewise for ftello.
103605         * tests/test-fseeko.sh: New file.
103606         * tests/test-ftello.sh: New file.
103607         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
103608         with seekable stdin.
103609         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
103610         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
103611         (gl_REPLACE_FSEEKO): New macro.
103612         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
103613         * modules/fseeko (Files): Distribute fseeko.c.
103614         * modules/ftello (Files): Distribute ftello.c.
103615         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
103616         mode.
103617         * lib/ftello.c (rpl_ftello): New file.
103618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
103619         fseeko, ftello.
103620         (gl_STDIN_LARGE_OFFSET): New macro.
103621         * modules/stdio (Makefile.am): Perform the replacement.
103622         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
103624 2007-05-23  Bruno Haible  <bruno@clisp.org>
103626         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
103627         GNULIB_POSIXCHECK is defined.
103629 2007-05-21  Bruno Haible  <bruno@clisp.org>
103631         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
103632         Check also the output for NaN arguments. When cross-compiling, guess
103633         no on IRIX.
103634         * lib/vasnprintf.c: Update comments.
103635         * tests/test-vasnprintf-posix.c (strisnan): New function.
103636         (test_function): Use it.
103637         * tests/test-vasprintf-posix.c (strisnan): New function.
103638         (test_function): Use it.
103639         * tests/test-snprintf-posix.h (strisnan): New function.
103640         (test_function): Use it.
103641         * tests/test-sprintf-posix.h (strisnan): New function.
103642         (test_function): Use it.
103643         Reported by Eric Blake.
103645 2007-05-20  Bruno Haible  <bruno@clisp.org>
103647         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
103648         numbers that fails on BeOS.
103649         * doc/functions/frexpl.texi: Update.
103651 2007-05-20  Jim Meyering  <jim@meyering.net>
103653         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
103654         forced upon us by glibc-2.6.
103656 2007-05-20  Bruno Haible  <bruno@clisp.org>
103658         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
103659         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
103660         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
103661         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
103662         NEED_PRINTF_INFINITE.
103663         (is_infinitel): New function.
103664         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
103665         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
103666         gl_PREREQ_VASNPRINTF_INFINITE.
103667         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
103668         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103669         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
103670         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
103671         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
103672         gl_PREREQ_VASNPRINTF_INFINITE.
103673         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
103674         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103675         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103676         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103677         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103679         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103680         * doc/functions/fprintf.texi: Update.
103681         * doc/functions/printf.texi: Update.
103682         * doc/functions/snprintf.texi: Update.
103683         * doc/functions/sprintf.texi: Update.
103684         * doc/functions/vfprintf.texi: Update.
103685         * doc/functions/vprintf.texi: Update.
103686         * doc/functions/vsnprintf.texi: Update.
103687         * doc/functions/vsprintf.texi: Update.
103689 2007-05-20  Bruno Haible  <bruno@clisp.org>
103691         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
103692         was not found in libc.
103693         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
103695 2007-05-20  Bruno Haible  <bruno@clisp.org>
103697         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
103698         printed as "-nan" instead of "nan".
103699         * tests/test-vasprintf-posix.c (test_function): Likewise.
103700         * tests/test-snprintf-posix.h (test_function): Likewise.
103701         * tests/test-sprintf-posix.h (test_function): Likewise.
103702         Needed for HP-UX 11.
103704 2007-05-20  Jim Meyering  <jim@meyering.net>
103706         Fix buggy test for the fchownat-deref bug.
103707         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
103708         symlink required for the run-test.  Without it, this test would
103709         always declare that fchownat doesn't work, and client code would
103710         unnecessarily use the replacement function with fixed libc.
103711         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
103712         Reported by Greg Schafer.
103714 2007-05-19  Bruno Haible  <bruno@clisp.org>
103716         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
103717         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
103718         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
103719         Needed for IRIX 6.5 and Solaris 2.5.1.
103721 2007-05-19  Bruno Haible  <bruno@clisp.org>
103723         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
103724         (test_function): Skip tests involving -0.0 on platforms where
103725         -0.0 = 0.0.
103726         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
103727         (test_function): Skip tests involving -0.0 on platforms where
103728         -0.0 = 0.0.
103729         * tests/test-snprintf-posix.h (have_minus_zero): New function.
103730         (test_function): Skip tests involving -0.0 on platforms where
103731         -0.0 = 0.0.
103732         * tests/test-sprintf-posix.h (have_minus_zero): New function.
103733         (test_function): Skip tests involving -0.0 on platforms where
103734         -0.0 = 0.0.
103735         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
103736         tests.
103737         * tests/test-printf-posix.h (test_function): Likewise.
103738         * tests/test-printf-posix.output: Remove all -0.0 related results.
103739         Needed for IRIX 6.5.
103741 2007-05-19  Bruno Haible  <bruno@clisp.org>
103743         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
103744         printed as "nan0x7fffffff" instead of "nan".
103745         * tests/test-vasprintf-posix.c (test_function): Likewise.
103746         * tests/test-snprintf-posix.h (test_function): Likewise.
103747         * tests/test-sprintf-posix.h (test_function): Likewise.
103748         * tests/test-fprintf-posix.h (NaN): Remove macro.
103749         (test_function): Remove all NaN related tests.
103750         * tests/test-printf-posix.h (NaN): Remove macro.
103751         (test_function): Remove all NaN related tests.
103752         * tests/test-printf-posix.output: Remove all NaN related results.
103753         Needed for IRIX 6.5.
103755 2007-05-19  Bruno Haible  <bruno@clisp.org>
103757         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
103758         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
103760 2007-05-19  Bruno Haible  <bruno@clisp.org>
103762         * lib/float_.h: New file.
103763         * m4/float_h.m4: New file.
103764         * modules/float: New file.
103765         * modules/isnanl (Dependencies): Add float.
103766         * modules/isnanl-nolibm (Dependencies): Likewise.
103767         * modules/mathl (Dependencies): Likewise.
103768         * modules/printf-frexpl (Dependencies): Likewise.
103769         * modules/signbit (Dependencies): Likewise.
103770         * modules/vasnprintf (Dependencies): Likewise.
103771         * doc/headers/float.texi: Update.
103773 2007-05-19  Jim Meyering  <jim@meyering.net>
103775         * lib/utimens.c (gl_futimens): Rename from futimens,
103776         now that glibc-2.6 declares futimens.
103777         * lib/utimens.h: Likewise.
103779 2007-05-19  Bruno Haible  <bruno@clisp.org>
103781         Avoid test failures on mingw.
103782         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
103783         * tests/test-printf-posix.sh: Likewise.
103784         * tests/test-vfprintf-posix.sh: Likewise.
103785         * tests/test-vprintf-posix.sh: Likewise.
103787 2007-05-19  Bruno Haible  <bruno@clisp.org>
103789         Fix *printf result for NaN, Inf, -0.0 on mingw.
103790         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
103791         * lib/vasnprintf.c: Include math.h and isnan.h.
103792         (is_infinite_or_zero): New function.
103793         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
103794         values in the %f, %F, %e, %E, %g, %G directives.
103795         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
103796         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103797         gl_PRINTF_INFINITE and test its result. Invoke
103798         gl_PREREQ_VASNPRINTF_INFINITE.
103799         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
103800         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103801         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103802         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103803         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103804         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103805         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103806         * doc/functions/fprintf.texi: Update.
103807         * doc/functions/printf.texi: Update.
103808         * doc/functions/snprintf.texi: Update.
103809         * doc/functions/sprintf.texi: Update.
103810         * doc/functions/vfprintf.texi: Update.
103811         * doc/functions/vprintf.texi: Update.
103812         * doc/functions/vsnprintf.texi: Update.
103813         * doc/functions/vsprintf.texi: Update.
103815 2007-05-19  Bruno Haible  <bruno@clisp.org>
103817         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
103818         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
103819         Instead of multiplying with 10^k, set extra_zeroes to k.
103820         (scale10_round_long_double): Remove function.
103822 2007-05-18  Bruno Haible  <bruno@clisp.org>
103824         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
103825         introduced on 2007-05-06.
103827 2007-05-18  Bruno Haible  <bruno@clisp.org>
103829         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
103830         %g directives.
103831         * tests/test-vasprintf-posix.c (test_function): Likewise.
103832         * tests/test-snprintf-posix.h (test_function): Likewise.
103833         * tests/test-sprintf-posix.h (test_function): Likewise.
103835 2007-05-18  Bruno Haible  <bruno@clisp.org>
103837         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
103838         (strmatch): New function.
103839         (test_function): Test the %f directive on numbers of various exponents.
103840         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
103841         (strmatch): New function.
103842         (test_function): Test the %f directive on numbers of various exponents.
103843         * tests/test-snprintf-posix.h (strmatch): New function.
103844         (test_function): Test the %f directive on numbers of various exponents.
103845         * tests/test-sprintf-posix.h (strmatch): New function.
103846         (test_function): Test the %f directive on numbers of various exponents.
103847         * tests/test-snprintf-posix.c (SIZEOF): New macro.
103848         * tests/test-sprintf-posix.c (SIZEOF): New macro.
103849         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
103850         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
103852 2007-05-18  Bruno Haible  <bruno@clisp.org>
103854         Add support for 'long double' number output.
103855         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
103856         * lib/vasnprintf.c: Include math.h and float+.h.
103857         (mp_limb_t): New type.
103858         (GMP_LIMB_BITS): New macro.
103859         (mp_twolimb_t): New type.
103860         (GMP_TWOLIMB_BITS): New macro.
103861         (mpn_t): New type.
103862         (multiply, divide, convert_to_decimal, decode_long_double,
103863         scale10_round_long_double, scale10_round_decimal_long_double,
103864         floorlog10l): New functions.
103865         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
103866         for the %f, %F, %e, %E, %g, %G directives.
103867         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
103868         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103869         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
103870         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
103871         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
103872         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103873         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103874         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103875         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103876         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103877         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103878         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
103879         * modules/snprintf-posix (Depends-on): Likewise.
103880         * modules/sprintf-posix (Depends-on): Likewise.
103881         * modules/vasnprintf-posix (Depends-on): Likewise.
103882         * modules/vasprintf-posix (Depends-on): Likewise.
103883         * modules/vfprintf-posix (Depends-on): Likewise.
103884         * modules/vsnprintf-posix (Depends-on): Likewise.
103885         * modules/vsprintf-posix (Depends-on): Likewise.
103886         * modules/vasnprintf (Files): Add lib/float+.h.
103887         * doc/functions/fprintf.texi: Update.
103888         * doc/functions/printf.texi: Update.
103889         * doc/functions/snprintf.texi: Update.
103890         * doc/functions/sprintf.texi: Update.
103891         * doc/functions/vfprintf.texi: Update.
103892         * doc/functions/vprintf.texi: Update.
103893         * doc/functions/vsnprintf.texi: Update.
103894         * doc/functions/vsprintf.texi: Update.
103896 2007-05-18  Bruno Haible  <bruno@clisp.org>
103898         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
103900 2007-05-18  Bruno Haible  <bruno@clisp.org>
103902         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
103903         for printing 64-bit integers. Needed for mingw.
103905 2007-05-18  Bruno Haible  <bruno@clisp.org>
103907         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
103908         gl_FUNC_FREXPL_WORKS.
103909         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
103911 2007-05-18  Bruno Haible  <bruno@clisp.org>
103913         * modules/frexpl-nolibm-tests: New file.
103915         * modules/frexpl-nolibm: New file.
103916         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
103918 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
103920         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
103921         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
103922         GCC 4.2, which otherwise issues a lot of warnings.
103923         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
103924         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
103925         Likewise.
103926         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
103927         * modules/iconv_open (iconv.h): Likewise.
103928         * modules/locale (locale.h): Likewise.
103929         * modules/netinet_in (netinet/in.h): Likewise.
103930         * modules/sys_select (sys_select.h): Likewise.
103931         * modules/sys_socket (sys/socket.h): Likewise.
103932         * modules/sys_stat (sys/stat.h): Likewise.
103933         * modules/sysexits (sysexits.h): Likewise.
103934         * modules/unistd (unistd.h): Likewise.
103936 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103938         * modules/closein-tests (Makefile.am): Distribute
103939         `test-closein.sh'.
103941 2007-05-17  Bruno Haible  <bruno@clisp.org>
103943         * tests/test-printf-posix.output: Renamed from
103944         tests/test-fprintf-posix.out.
103945         * modules/fprintf-posix-tests: Update.
103946         * modules/printf-posix-tests: Update.
103947         * modules/vfprintf-posix-tests: Update.
103948         * modules/vprintf-posix-tests: Update.
103949         * tests/test-fprintf-posix.sh: Update.
103950         * tests/test-printf-posix.sh: Update.
103951         * tests/test-vfprintf-posix.sh: Update.
103952         * tests/test-vprintf-posix.sh: Update.
103953         Reported by Ralf Wildenhues.
103955 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
103957         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
103958         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
103959         GCC 4.2, which otherwise issues a lot of warnings.
103960         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
103961         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
103962         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
103963         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
103964         it should no longer be needed.
103965         * lib/string_.h: Likewise.
103966         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
103967         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
103968         * modules/inttypes (inttypes.h): Likewise.
103969         * modules/math (math.h): Likewise.
103970         * modules/search (search.h): Likewise.
103971         * modules/signal (signal.h): Likewise.
103972         * modules/stdint (stdint.h): Likewise.
103973         * modules/stdio (stdio.h): Likewise.
103974         * modules/stdlib (stdlib.h): Likewise.
103975         * modules/string (string.h): Likewise.
103976         * modules/sys_time (sys/time.h): Likewise.
103977         * modules/time (time.h): Likewise.
103978         * modules/wchar (wchar.h): Likewise.
103979         * modules/wctype (wtype.h): Likewise.
103981 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
103983         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
103985 2007-05-13  Bruno Haible  <bruno@clisp.org>
103987         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
103988         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
103989         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
103990         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
103991         (gl_PREREQ_STRTOK_R): Don't require it here.
103993 2007-05-13  Bruno Haible  <bruno@clisp.org>
103995         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
103996         when used in C++ mode.
103998 2007-05-12  Bruno Haible  <bruno@clisp.org>
104000         * lib/linebuffer.h: Tweak doc.
104001         * lib/linebuffer.c: Likewise.
104003 2007-05-12  James Youngman  <jay@gnu.org>
104005         * lib/linebuffer.c (readlinebuffer_delim): New function,
104006         like readlinebuffer, but use a caller-specified delimiter.
104007         (readlinebuffer): Just call readlinebuffer_delim with '\n'
104008         as the delimiter.
104009         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
104011 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
104013         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
104014         * modules/openat (Files): Remove openat-die.c.
104015         (Depends-on): Add openat-die.
104016         * modules/openat-die: New module.
104018 2007-05-06  Bruno Haible  <bruno@clisp.org>
104020         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
104021         Update with info about Cygwin.
104022         * doc/functions/fprintf.texi: Update.
104023         * doc/functions/printf.texi: Update.
104024         * doc/functions/snprintf.texi: Update.
104025         * doc/functions/sprintf.texi: Update.
104026         * doc/functions/vfprintf.texi: Update.
104027         * doc/functions/vprintf.texi: Update.
104028         * doc/functions/vsnprintf.texi: Update.
104029         * doc/functions/vsprintf.texi: Update.
104030         Reported by Eric Blake.
104032 2007-05-06  Bruno Haible  <bruno@clisp.org>
104034         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
104035         padding ourselves for the floating-point directives.
104036         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
104037         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
104038         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104039         gl_PRINTF_FLAG_ZERO and test its result. Invoke
104040         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
104041         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104042         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104043         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104044         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104045         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104046         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104047         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104048         * tests/test-snprintf-posix.h (test_function): Also check the width
104049         and some flags in the %f directive.
104050         * tests/test-sprintf-posix.h (test_function): Likewise.
104051         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104052         * tests/test-vasprintf-posix.c (test_function): Likewise.
104053         * doc/functions/fprintf.texi: Update.
104054         * doc/functions/printf.texi: Update.
104055         * doc/functions/snprintf.texi: Update.
104056         * doc/functions/sprintf.texi: Update.
104057         * doc/functions/vfprintf.texi: Update.
104058         * doc/functions/vprintf.texi: Update.
104059         * doc/functions/vsnprintf.texi: Update.
104060         * doc/functions/vsprintf.texi: Update.
104062 2007-05-06  Bruno Haible  <bruno@clisp.org>
104064         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
104065         pass the ' flag character to sprintf or snprintf.
104066         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
104067         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
104068         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104069         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
104070         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
104071         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104072         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104073         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104074         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104075         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104076         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104077         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104078         * tests/test-snprintf-posix.h (test_function): Also check the grouping
104079         flag.
104080         * tests/test-sprintf-posix.h (test_function): Likewise.
104081         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104082         * tests/test-vasprintf-posix.c (test_function): Likewise.
104083         * doc/functions/fprintf.texi: Update.
104084         * doc/functions/printf.texi: Update.
104085         * doc/functions/snprintf.texi: Update.
104086         * doc/functions/sprintf.texi: Update.
104087         * doc/functions/vfprintf.texi: Update.
104088         * doc/functions/vprintf.texi: Update.
104089         * doc/functions/vsnprintf.texi: Update.
104090         * doc/functions/vsprintf.texi: Update.
104092 2007-05-01  Bruno Haible  <bruno@clisp.org>
104094         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
104096 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
104098         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
104099         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
104101 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
104103         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
104104         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
104105         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
104107 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
104109         * lib/argp-help.c (struct hol_entry): New member `ord'.
104110         (HOL_ENTRY_PTRCMP): Use ord for comparison
104111         (hol_sort): Initialize ord.
104113 2007-05-01  Bruno Haible  <bruno@clisp.org>
104115         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
104116         Reported by Eric Blake.
104117         * doc/gnulib.texi (Function Substitutes): Update.
104119 2007-05-01  Bruno Haible  <bruno@clisp.org>
104121         * doc/functions.texi: Remove file, now redundant through
104122         doc/functions/*.texi.
104124 2007-05-01  Bruno Haible  <bruno@clisp.org>
104126         * modules/argp (Depends-on): Add sleep.
104128 2007-05-01  Bruno Haible  <bruno@clisp.org>
104130         * modules/sleep-tests: New file.
104131         * tests/test-sleep.c: New file.
104133         * modules/sleep: New file.
104134         * lib/sleep.c: New file.
104135         * m4/sleep.m4: New file.
104136         * lib/unistd_.h (sleep): New declaration.
104137         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
104138         HAVE_SLEEP.
104139         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
104140         * doc/functions/sleep.texi: Document the sleep module.
104142 2007-05-01  Bruno Haible  <bruno@clisp.org>
104144         * lib/sigprocmask.h: Remove file.
104145         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
104146         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
104147         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
104148         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
104149         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
104150         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
104151         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
104152         HAVE_SIGSET_T as a shell variable.
104153         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
104154         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
104155         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
104156         (Depends-on): Add signal. Remove verify.
104157         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
104158         (Include): Mention <signal.h> instead of sigprocmask.h.
104159         * NEWS: Mention the change.
104160         * lib/fatal-signal.c: Don't include sigprocmask.h.
104162 2007-05-01  Bruno Haible  <bruno@clisp.org>
104164         * modules/signal: New file.
104165         * lib/signal_.h: New file.
104166         * m4/signal_h.m4: New file.
104168 2007-05-01  Bruno Haible  <bruno@clisp.org>
104170         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
104171         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
104172         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
104173         HAVE_WCTYPE_CTMP_BUG into wctype.h.
104175 2007-05-01  Bruno Haible  <bruno@clisp.org>
104177         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
104178         configure time.
104179         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
104180         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
104181         * modules/sys_stat (Makefile.am): Substitute their values into
104182         sys/stat.h.
104184 2007-05-01  Bruno Haible  <bruno@clisp.org>
104186         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
104187         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
104188         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
104190 2007-05-01  Bruno Haible  <bruno@clisp.org>
104192         * doc/header/assert.texi: Undo last change: don't mention the gnulib
104193         'assert' module here.
104195 2007-05-01  Bruno Haible  <bruno@clisp.org>
104197         * doc/functions/*.texi: New files.
104198         * doc/functions/google-ranking.txt: New file.
104199         * doc/gnulib.texi (Function Substitutes): New chapter.
104200         (ctime, inet_ntoa): Remove sections.
104201         * doc/ctime.texi: Remove file.
104202         * doc/inet_ntoa.texi: Remove file.
104203         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
104204         dependencies.
104205         (%.info): New rule, specifying a --reference-limit.
104207 2007-05-01  Bruno Haible  <bruno@clisp.org>
104209         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
104211 2007-05-01  Bruno Haible  <bruno@clisp.org>
104213         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
104214         the portability of 'mkdir' to mingw systems.
104216 2007-05-01  Bruno Haible  <bruno@clisp.org>
104218         * doc/headers/google-ranking.txt: New file.
104220 2007-04-30  Eric Blake  <ebb9@byu.net>
104222         Prefer fseeko to fseek.
104223         * modules/getpass (Depends-on): Add fseeko.
104224         * lib/getpass.c (getpass): Use fseeko, not fseek.
104226 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
104228         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
104229         assumes the sorting is stable, while most qsort implementations
104230         are not.  Use argument addresses to ensure they never compare as
104231         equal.
104233         * tests/test-argp-2.sh (usage-indent test): Fix output
104234         (func_compare): Restore diff options
104235         * tests/test-argp.c: Restore #include "progname.h"
104237 2007-04-29  Bruno Haible  <bruno@clisp.org>
104239         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
104240         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104241         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
104242         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104243         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
104244         (configure.ac): Define CHECK_SNPRINTF_POSIX.
104245         (TESTS, check_PROGRAMS): Add test-snprintf.
104246         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
104247         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
104248         (TESTS, check_PROGRAMS): Add test-vsnprintf.
104249         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
104250         assertions that fail on HP-UX, OSF/1, or IRIX.
104251         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
104253 2007-04-29  Bruno Haible  <bruno@clisp.org>
104255         * MODULES.html.sh (posix_functions): Remove 'contents'.
104257 2007-04-29  Karl Berry  <karl@gnu.org>
104259         * config/srclist.txt (gendocs_template_min): new entry.
104261 2007-04-29  Bruno Haible  <bruno@clisp.org>
104263         Work around fpurge bug on BSD systems.
104264         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
104265         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
104266         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
104267         fpurge to rpl_fpurge if the system already has this function.
104268         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
104269         the case where the system already has this function. Correct invariants
104270         on BSD systems.
104271         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
104272         BSD systems.
104274 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
104276         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
104277         proposed by Sven Verdoolaege.
104279         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
104280         options.
104281         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
104282         (usage and help tests): Update
104284 2007-04-29  Bruno Haible  <bruno@clisp.org>
104286         * tests/test-fflush.c (main): Use a file of size 17, not 10.
104287         Print more information in case of failure. Disable a test on BeOS.
104289 2007-04-29  Bruno Haible  <bruno@clisp.org>
104291         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
104292         This helps debugging on systems on which no gdb is available.
104294 2007-04-29  Bruno Haible  <bruno@clisp.org>
104296         * lib/freading.h: Improve comments.
104297         * lib/fwriting.h: Likewise.
104298         * tests/test-freading.c (main): Don't check freading immediately after
104299         repositioning. Needed for glibc.
104301 2007-04-29  Bruno Haible  <bruno@clisp.org>
104303         * lib/freading.c (freading): Trivial simplification.
104305 2007-04-28  Bruno Haible  <bruno@clisp.org>
104307         * tests/test-fwriting.c (main): Also test the interaction between
104308         fflush and fwriting.
104309         * modules/fwriting-tests (Depends-on): Add fflush.
104311         * tests/test-freading.c (main): Also test the interaction between
104312         fflush and freading.
104313         * modules/freading-tests (Depends-on): Add fflush.
104315 2007-04-28  Bruno Haible  <bruno@clisp.org>
104317         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
104318         fseeko and ftello.
104319         Suggested by Eric Blake.
104321 2007-04-28  Jim Meyering  <jim@meyering.net>
104323         Avoid false-negative in gl_STDINT_H's C99 conformance test.
104324         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
104325         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
104327 2007-04-27  Eric Blake  <ebb9@byu.net>
104329         * doc/headers/assert.texi (assert.h): Document assert module use.
104331 2007-04-27  Bruno Haible  <bruno@clisp.org>
104333         * doc/headers/*.texi: New files.
104334         * doc/gnulib.texi (Header File Substitutes): New chapter.
104335         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
104336         dependencies.
104337         (standards.info ,standards.html, standards.dvi): Update dependencies.
104338         (mostlyclean, clean): New targets.
104340 2007-04-27  Bruno Haible  <bruno@clisp.org>
104342         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
104343         * modules/sysexits (Files, Makefile.am): Update.
104345         * lib/sys_socket_.h: Renamed from lib/socket_.h.
104346         * modules/sys_socket (Files, Makefile.am): Update.
104348         * lib/sys_stat_.h: Renamed from lib/stat_.h.
104349         * modules/sys_stat (Files, Makefile.am): Update.
104351 2007-04-27  Eric Blake  <ebb9@byu.net>
104353         * lib/freading.h: Improve comments.
104354         * lib/fwriting.h: Likewise.
104355         * lib/fflush.c: Likewise.
104357         Fix closein for mingw.
104358         * modules/closein-tests: Add tests for closein.
104359         * tests/test-closein.c: New file.
104360         * tests/test-closein.sh: Likewise.
104361         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
104362         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
104364 2007-04-27  Bruno Haible  <bruno@clisp.org>
104366         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
104367         version is < 6.
104368         * lib/math_.h [__DECC]: Likewise.
104369         * lib/stdio_.h [__DECC]: Likewise.
104370         * lib/stdlib_.h [__DECC]: Likewise.
104371         * lib/string_.h [__DECC]: Likewise.
104372         * lib/time_.h [__DECC]: Likewise.
104373         * lib/wchar_.h [__DECC]: Likewise.
104374         * lib/wctype_.h [__DECC]: Likewise.
104376 2007-04-27  Bruno Haible  <bruno@clisp.org>
104378         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
104380 2007-04-27  Bruno Haible  <bruno@clisp.org>
104382         * lib/fflush.c: Add comments.
104383         * modules/fpurge-tests (Depends-on): Add fflush.
104384         * modules/freadable-tests (Depends-on): Likewise.
104385         * modules/fwritable-tests (Depends-on): Likewise.
104387 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
104389         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
104390         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
104391         Report by Bruno Haible <bruno@clisp.org>.
104393 2007-04-26  Eric Blake  <ebb9@byu.net>
104395         Fix fflush on mingw.
104396         * modules/fflush (Depends-on): Add freading.
104397         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
104398         but unread data.
104400 2007-04-26  Eric Blake  <ebb9@byu.net>
104401         and Bruno Haible  <bruno@clisp.org>
104403         Implement freading and fwriting.
104404         * lib/freading.c: New file.
104405         * lib/freading.h: Likewise.
104406         * m4/freading.m4: Likewise.
104407         * modules/freading: Likewise.
104408         * modules/freading-tests: Likewise.
104409         * tests/test-freading.c: Likewise.
104410         * lib/fwriting.c: New file.
104411         * lib/fwriting.h: Likewise.
104412         * m4/fwriting.m4: Likewise.
104413         * modules/fwriting: Likewise.
104414         * modules/fwriting-tests: Likewise.
104415         * tests/test-fwriting.c: Likewise.
104416         * MODULES.html.sh (File stream based Input/Output): Mention them.
104418 2007-04-26  Bruno Haible  <bruno@clisp.org>
104420         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
104421         'long' when we assume it.
104422         Suggested by Eric Blake.
104424 2007-04-26  Bruno Haible  <bruno@clisp.org>
104426         Ensure fseeko, ftello are declared on glibc systems.
104427         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
104428         * modules/fseeko (configure.ac-early): Likewise.
104429         * modules/ftello (configure.ac-early): Likewise.
104430         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
104431         AC_FUNC_FSEEKO for this.
104432         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
104433         (gl_CHECK_FSEEKO): Remove macro.
104435 2007-04-26  Bruno Haible  <bruno@clisp.org>
104437         * tests/test-fflush.c (main): Also check the ftell result after
104438         fflush and fseek/fseeko.
104439         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
104440         file descriptor position cache in the stream.
104441         * lib/fseeko.c (rpl_fseeko): Likewise.
104443 2007-04-26  Bruno Haible  <bruno@clisp.org>
104445         * modules/fflush-tests (Depends-on): Add fseeko.
104447 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
104448             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104450         * lib/argz_.h: ensure error_t definition is obtained in same
104451         mechanism system argz.h would have.
104452         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
104453         argz facilities are known bad.  Err on the side of caution if
104454         cross-compiling.
104456 2007-04-25  Eric Blake  <ebb9@byu.net>
104458         * lib/fpurge.c (includes): Use stdlib.h for free.
104459         * tests/test-fflush.c (main): Also test fflush-fseeko.
104461 2007-04-25  Bruno Haible  <bruno@clisp.org>
104463         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
104464         * lib/fseeko.c: New file.
104465         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
104466         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
104467         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
104468         gl_FUNC_FSEEKO.
104469         (gl_FUNC_FSEEKO): Invoke it.
104470         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
104471         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
104472         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
104474 2007-04-25  Bruno Haible  <bruno@clisp.org>
104476         * modules/fflush (Depends-on): Add ftello.
104478 2007-04-25  Bruno Haible  <bruno@clisp.org>
104480         * modules/ftello-tests: New file.
104481         * tests/test-ftello.c: New file.
104483         * modules/ftello: New file.
104484         * m4/ftello.m4: New file.
104485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
104486         HAVE_FTELLO.
104487         * lib/stdio_.h (ftello): New declaration.
104488         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
104489         HAVE_FTELLO.
104491 2007-04-25  Bruno Haible  <bruno@clisp.org>
104493         * modules/fseeko-tests: New file.
104494         * tests/test-fseeko.c: New file.
104496         * modules/fseeko: New file.
104497         * m4/fseeko.m4: New file.
104498         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
104499         HAVE_FSEEKO.
104500         * lib/stdio_.h (fseeko): New declaration.
104501         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
104502         HAVE_FSEEKO.
104504 2007-04-25  Bruno Haible  <bruno@clisp.org>
104506         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
104508 2007-04-25  Bruno Haible  <bruno@clisp.org>
104510         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
104511         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
104512         * tests/test-unistd.c: Likewise.
104513         * tests/test-fcntl.c: Likewise.
104515 2007-04-23  Eric Blake  <ebb9@byu.net>
104517         * lib/fflush.c: Fix missing include.
104518         Reported by Bruno Haible.
104520 2007-04-23  Bruno Haible  <bruno@clisp.org>
104522         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
104523         Reported by Eric Blake.
104525 2007-04-23  Bruno Haible  <bruno@clisp.org>
104527         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
104529 2007-04-23  Bruno Haible  <bruno@clisp.org>
104531         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
104533 2007-04-23  Bruno Haible  <bruno@clisp.org>
104535         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
104536         Needed on HP-UX 11.
104538 2007-04-16  Eric Blake  <ebb9@byu.net>
104540         Make fflush rely on fpurge.
104541         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
104542         open coding all variants.
104543         * modules/fflush (Depends-on): Add fpurge and unistd.
104544         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
104545         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
104547         Fix --with-tests compilation on cygwin.
104548         * modules/argmatch-tests (Makefile.am): List gnulib library first
104549         in LDADD.
104550         * modules/argp-tests (Makefile.am): Likewise.
104551         * modules/array-list-tests (Makefile.am): Likewise.
104552         * modules/array-oset-tests (Makefile.am): Likewise.
104553         * modules/avltree-list-tests (Makefile.am): Likewise.
104554         * modules/avltree-oset-tests (Makefile.am): Likewise.
104555         * modules/avltreehash-list-tests (Makefile.am): Likewise.
104556         * modules/carray-list-tests (Makefile.am): Likewise.
104557         * modules/dirname-tests (Makefile.am): Likewise.
104558         * modules/frexp-tests (Makefile.am): Likewise.
104559         * modules/isnanl-tests (Makefile.am): Likewise.
104560         * modules/linked-list-tests (Makefile.am): Likewise.
104561         * modules/linkedhash-list-tests (Makefile.am): Likewise.
104562         * modules/lock-tests (Makefile.am): Likewise.
104563         * modules/rbtree-list-tests (Makefile.am): Likewise.
104564         * modules/rbtree-oset-tests (Makefile.am): Likewise.
104565         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
104566         * modules/tls-tests (Makefile.am): Likewise.
104567         * modules/tsearch-tests (Makefile.am): Likewise.
104568         * modules/xvasprintf-tests (Makefile.am): Likewise.
104570         Fix fpurge for cygwin.
104571         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
104572         value.
104573         * modules/fpurge-tests (Depends-on): Clean up trash.
104575 2007-04-16  Simon Josefsson  <simon@josefsson.org>
104577         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
104579         * m4/autobuild.m4: Re-indent.
104581 2007-04-13  Bruno Haible  <bruno@clisp.org>
104583         * modules/fpurge-tests: New file.
104584         * tests/test-fpurge.c: New file.
104586         * modules/fpurge: New file.
104587         * lib/fpurge.h: New file.
104588         * lib/fpurge.c: New file.
104589         * m4/fpurge.m4: New file.
104591 2007-04-13  Bruno Haible  <bruno@clisp.org>
104593         * modules/fbufmode-tests: New file.
104594         * tests/test-fbufmode.c: New file.
104596         * modules/fbufmode: New file.
104597         * lib/fbufmode.h: New file.
104598         * lib/fbufmode.c: New file.
104599         * m4/fbufmode.m4: New file.
104601 2007-04-13  Bruno Haible  <bruno@clisp.org>
104603         * modules/fwritable-tests: New file.
104604         * tests/test-fwritable.c: New file.
104606         * modules/fwritable: New file.
104607         * lib/fwritable.h: New file.
104608         * lib/fwritable.c: New file.
104609         * m4/fwritable.m4: New file.
104611 2007-04-13  Bruno Haible  <bruno@clisp.org>
104613         * modules/freadable-tests: New file.
104614         * tests/test-freadable.c: New file.
104616         * modules/freadable: New file.
104617         * lib/freadable.h: New file.
104618         * lib/freadable.c: New file.
104619         * m4/freadable.m4: New file.
104621 2007-04-13  Bruno Haible  <bruno@clisp.org>
104623         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
104624         MOSTLYCLEANFILES.
104626 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
104628         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
104629         gzip bootstrap.conf to avoid dragging in i18n machinery.
104630         (gnulib_tool_option): Use it.
104632 2007-04-13  Bruno Haible  <bruno@clisp.org>
104634         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
104635         %F directives.
104636         * tests/test-vasprintf-posix.c (test_function): Likewise.
104637         * tests/test-snprintf-posix.h (test_function): Likewise.
104638         * tests/test-sprintf-posix.h (test_function): Likewise.
104639         * tests/test-fprintf-posix.h (test_function): Likewise.
104640         * tests/test-printf-posix.h (test_function): Likewise.
104641         * tests/test-fprintf-posix.out: Likewise.
104643 2007-04-13  Bruno Haible  <bruno@clisp.org>
104645         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
104646         * modules/tls-tests (configure.ac): Likewise.
104647         Reported by Arto C. Nirkko <anirkko@insel.ch>.
104649 2007-04-13  Bruno Haible  <bruno@clisp.org>
104651         * lib/tls.c (glthread_tls_get): Fix return type.
104652         Patch by Arto C. Nirkko <anirkko@insel.ch>.
104654 2007-04-12  Eric Blake  <ebb9@byu.net>
104656         * modules/gettime (Depends-on): Remove gettime.
104657         Reported by Dmitry V. Levin.
104659 2007-04-12  Bruno Haible  <bruno@clisp.org>
104661         * modules/fflush (Include): Mention <stdio.h>.
104662         * modules/strtoimax (Include): Mention <inttypes.h>.
104663         * modules/strtoumax (Include): Likewise.
104665 2007-04-12  Eric Blake  <ebb9@byu.net>
104667         * .cvsignore: New file.
104668         * .gitignore: Likewise.
104670 2007-04-12  Bruno Haible  <bruno@clisp.org>
104672         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
104673         not before, since $(LDADD) often contains libgnu.a.
104674         * modules/striconv-tests (test_striconv_LDADD): Likewise.
104675         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
104676         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
104677         Needed on Cygwin.
104679 2007-04-12  Eric Blake  <ebb9@byu.net>
104681         Work around glibc's failure to flush stdin on fclose.
104682         * lib/closein.c (close_stdin): Flush stdin before closing.
104684         Work around glibc's failure to reset seekable stdin on exit.
104685         * modules/closein: New module.
104686         * lib/closein.c: New file.
104687         * lib/closein.h: Likewise.
104688         * m4/closein.m4: Likewise.
104689         * MODULES.html.sh (File stream based Input/Output): Document it.
104691 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104693         * gnulib-tool: Rename generated 'autobuild' script to
104694         'do-autobuild' in --create-megatestdir output.
104696         * doc/gnulib.texi (Build robot for gnulib): Fix.
104698 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104700         * modules/sysexits (Depends-on): Add absolute-header.
104702 2007-04-12  Eric Blake  <ebb9@byu.net>
104704         No need to preserve errno on success.
104705         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
104706         Reported by Bruno Haible.
104708 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104710         * MODULES.html.sh (Support for maintaining and releasing
104711         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
104713 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104715         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
104717 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104719         * modules/autobuild: New module.
104721         * m4/autobuild.m4: New file.
104723 2007-04-11  Bruno Haible  <bruno@clisp.org>
104725         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
104726         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
104727         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
104728         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
104729         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104730         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104731         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104732         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104733         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104734         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104735         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
104736         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104737         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104738         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
104739         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104740         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104741         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
104742         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104743         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104744         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
104745         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104746         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104747         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
104748         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104749         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104750         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
104751         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104752         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104753         Reported by Eric Blake.
104755 2007-04-11  Bruno Haible  <bruno@clisp.org>
104757         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
104759 2007-04-10  Bruno Haible  <bruno@clisp.org>
104761         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
104762         for NaN and Infinity. Needed on FreeBSD 6.1.
104763         * tests/test-vasnprintf-posix.c (test_function): Undo last change
104764         regarding results for "%010a" of Infinity and NaN.
104765         * tests/test-vasprintf-posix.c (test_function): Likewise.
104766         * tests/test-snprintf-posix.h (test_function): Likewise.
104767         * tests/test-sprintf-posix.h (test_function): Likewise.
104768         * tests/test-fprintf-posix.h (test_function): Likewise.
104769         * tests/test-printf-posix.h (test_function): Likewise.
104770         * tests/test-fprintf-posix.out: Likewise.
104772 2007-04-10  Bruno Haible  <bruno@clisp.org>
104774         * modules/locale-tests: New file.
104775         * tests/test-locale.c: New file.
104777         * modules/locale: New file.
104778         * lib/locale_.h: New file.
104779         * m4/locale_h.m4: New file.
104781 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
104782             Bruno Haible  <bruno@clisp.org>
104784         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
104785         be determined, test for availability of the copysignf, copysign,
104786         copysignl functions.
104787         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
104788         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
104789         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
104791 2007-04-09  Eric Blake  <ebb9@byu.net>
104793         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
104794         * modules/stdio (Makefile.am): Support fflush.
104795         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
104796         * modules/fflush: New file.
104797         * lib/fflush.c: Likewise.
104798         * m4/fflush.m4: Likewise.
104799         * modules/fflush-tests: New test.
104800         * tests/test-fflush.c: Likewise.
104801         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
104803 2007-04-06  Bruno Haible  <bruno@clisp.org>
104805         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
104806         (VASNPRINTF): Use signbit for faster determination whether to print a
104807         minus sign.
104808         * modules/vasnprintf (Files): Remove lib/float+.h.
104809         * modules/fprintf-posix (Depends-on): Add signbit.
104810         * modules/snprintf-posix (Depends-on): Likewise.
104811         * modules/sprintf-posix (Depends-on): Likewise.
104812         * modules/vasnprintf-posix (Depends-on): Likewise.
104813         * modules/vasprintf-posix (Depends-on): Likewise.
104814         * modules/vfprintf-posix (Depends-on): Likewise.
104815         * modules/vsnprintf-posix (Depends-on): Likewise.
104816         * modules/vsprintf-posix (Depends-on): Likewise.
104818 2007-04-06  Bruno Haible  <bruno@clisp.org>
104820         * tests/test-frexp.c (main): Test also the sign bit of zero results.
104821         * tests/test-frexpl.c (main): Likewise.
104822         * tests/test-ldexpl.c (main): Likewise.
104823         * modules/frexp-tests (Depends-on): Add signbit.
104824         * modules/frexpl-tests (Depdends-on): Likewise.
104825         * modules/ldexpl-tests (Depdends-on): Likewise.
104827 2007-04-06  Bruno Haible  <bruno@clisp.org>
104829         * modules/signbit-tests: New file.
104830         * tests/test-signbit.c: New file.
104832         * modules/signbit: New file.
104833         * lib/signbitf.c: New file.
104834         * lib/signbitd.c: New file.
104835         * lib/signbitl.c: New file.
104836         * m4/signbit.m4: New file.
104837         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
104838         (signbit): New macro.
104839         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
104840         REPLACE_SIGNBIT.
104841         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
104842         REPLACE_FREXPL into math.h.
104844 2007-04-06  Bruno Haible  <bruno@clisp.org>
104846         * modules/isnanf-nolibm-tests: New file.
104847         * tests/test-isnanf.c: New file.
104849         * modules/isnanf-nolibm: New file.
104850         * lib/isnanf.h: New file.
104851         * lib/isnanf.c: New file.
104852         * lib/isnan.c: Consider the USE_FLOAT macro.
104853         * m4/isnanf.m4: New file.
104855 2007-04-06  Bruno Haible  <bruno@clisp.org>
104857         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
104858         (Link): New section.
104860         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
104862 2007-04-06  Bruno Haible  <bruno@clisp.org>
104864         Assume the 'long double' type.
104865         * m4/longdouble.m4: Remove file.
104866         * config/srclist.txt: Don't mention longdouble.m4.
104867         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
104868         * lib/float+.h: Likewise.
104869         * lib/frexp.c: Likewise.
104870         * lib/printf-args.h: Likewise.
104871         * lib/printf-args.c: Likewise.
104872         * lib/printf-frexp.c: Likewise.
104873         * lib/printf-parse.c: Likewise.
104874         * lib/vasnprintf.c: Likewise.
104875         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
104876         * m4/intl.m4: Likewise.
104877         * m4/isnanl.m4: Likewise.
104878         * m4/printf.m4: Likewise.
104879         * m4/printf-frexpl.m4: Likewise.
104880         * m4/vasnprintf.m4: Likewise.
104881         * modules/allocsa (Files): Remove m4/longdouble.m4.
104882         * modules/gettext (Files): Likewise.
104883         * modules/relocatable-prog-wrapper (Files): Likewise.
104884         * modules/vasnprintf (Files): Likewise.
104885         * modules/isnanl (Files): Likewise.
104886         (Include): Simplify.
104887         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
104888         (Include): Simplify.
104889         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
104890         (Include): Simplify.
104891         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
104892         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104893         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
104894         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104895         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
104896         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104897         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
104898         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104899         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
104900         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104901         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
104902         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104903         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
104904         * tests/test-isnanl.c: Likewise.
104905         * tests/test-snprintf-posix.h: Likewise.
104906         * tests/test-sprintf-posix.h: Likewise.
104907         * tests/test-vasnprintf-posix.c: Likewise.
104908         * tests/test-vasnprintf-posix2.c: Likewise.
104909         * tests/test-vasprintf-posix.c: Likewise.
104911 2007-04-06  Bruno Haible  <bruno@clisp.org>
104913         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
104914         * lib/math_.h [__DECC]: Include the overridden include file through
104915         #include_next, outside the double-inclusion guard.
104916         * lib/stdio_.h [__DECC]: Likewise.
104917         * lib/stdlib_.h [__DECC]: Likewise.
104918         * lib/string_.h [__DECC]: Likewise.
104919         * lib/time_.h [__DECC]: Likewise.
104920         * lib/wchar_.h [__DECC]: Likewise.
104921         * lib/wctype_.h [__DECC]: Likewise.
104922         * lib/inttypes_.h [__DECC]: Likewise.
104923         Reported by Albert Chin <china@thewrittenword.com> in
104924         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
104926 2007-04-04  Eric Blake  <ebb9@byu.net>
104928         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
104929         1.5.x.
104931 2007-04-04  Bruno Haible  <bruno@clisp.org>
104933         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
104934         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
104936 2007-04-04  Bruno Haible  <bruno@clisp.org>
104938         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
104939         results for "%010a" of Infinity and NaN.
104940         * tests/test-vasprintf-posix.c (test_function): Likewise.
104941         * tests/test-snprintf-posix.h (test_function): Likewise.
104942         * tests/test-sprintf-posix.h (test_function): Likewise.
104943         * tests/test-fprintf-posix.h (test_function): Remove these tests.
104944         * tests/test-printf-posix.h (test_function): Likewise.
104945         * tests/test-fprintf-posix.out: Update.
104946         Needed for FreeBSD 6.1.
104948 2007-04-04  Bruno Haible  <bruno@clisp.org>
104950         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
104951         directly used by the gnulib modules nor by gnulib-tool.
104953 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
104955         * DEPENDENCIES: Give overall description of version dependency
104956         desirability.  Use more-typical names for apps.
104957         Add shell, coreutils, diffutils, grep, tar, gzip.
104959 2007-04-04  Simon Josefsson  <simon@josefsson.org>
104961         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
104963 2007-04-04  Karl Berry  <karl@gnu.org>
104965         * MODULES.html.sh (func_module): missing '.
104967 2007-04-03  Bruno Haible  <bruno@clisp.org>
104969         * modules/argmatch-tests (Makefile.am): New variable
104970         test_argmatch_LDADD.
104971         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
104972         * modules/array-list-tests (Makefile.am): New variable
104973         test_array_list_LDADD.
104974         * modules/array-oset-tests (Makefile.am): New variable
104975         test_array_oset_LDADD.
104976         * modules/avltree-list-tests (Makefile.am): New variable
104977         test_avltree_list_LDADD.
104978         * modules/avltree-oset-tests (Makefile.am): New variable
104979         test_avltree_oset_LDADD.
104980         * modules/avltreehash-list-tests (Makefile.am): New variable
104981         test_avltreehash_list_LDADD.
104982         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
104983         test_canonicalize_lgpl_LDADD.
104984         * modules/carray-list-tests (Makefile.am): New variable
104985         test_carray_list_LDADD.
104986         * modules/dirname-tests (Makefile.am): New variable
104987         test_dirname_LDADD.
104988         * modules/linked-list-tests (Makefile.am): New variable
104989         test_linked_list_LDADD.
104990         * modules/linkedhash-list-tests (Makefile.am): New variable
104991         test_linkedhash_list_LDADD.
104992         * modules/rbtree-list-tests (Makefile.am): New variable
104993         test_rbtree_list_LDADD.
104994         * modules/rbtree-oset-tests (Makefile.am): New variable
104995         test_rbtree_oset_LDADD.
104996         * modules/rbtreehash-list-tests (Makefile.am): New variable
104997         test_rbtreehash_list_LDADD.
104998         * modules/xvasprintf-tests (Makefile.am): New variable
104999         test_xvasprintf_LDADD.
105000         Reported by Eric Blake.
105002 2007-04-03  Eric Blake  <ebb9@byu.net>
105004         * DEPENDENCIES: Weaken m4 requirements.
105006 2007-04-03  Bruno Haible  <bruno@clisp.org>
105008         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
105009         * modules/isnanl-tests (configure.ac): Likewise.
105011 2007-04-03  Ben Pfaff  <blp@gnu.org>
105013         * modules/iconv_open: Add $(srcdir)/ to source directory
105014         references in Makefile fragments that call gperf, to fix VPATH
105015         builds.
105017 2007-04-03  Bruno Haible  <bruno@clisp.org>
105019         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
105020         * lib/ldexpl.c: Undo last change.
105022 2007-04-03  Bruno Haible  <bruno@clisp.org>
105024         * modules/printf-frexpl (Depends-on): Undo last change.
105025         (Files): Add m4/ldexpl.m4.
105027 2007-04-03  Bruno Haible  <bruno@clisp.org>
105029         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
105030         * modules/isnanl (Link): New section.
105032         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
105033         * modules/frexp (Link): New section.
105035         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
105036         * modules/frexpl (Link): New section.
105038         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
105039         * modules/ldexpl (Link): New section.
105041 2007-04-03  Bruno Haible  <bruno@clisp.org>
105043         * modules/TEMPLATE-EXTENDED: New file.
105044         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
105046 2007-04-03  Bruno Haible  <bruno@clisp.org>
105048         * DEPENDENCIES: New file.
105049         Suggested by Simon Josefsson.
105051 2007-04-03  Bruno Haible  <bruno@clisp.org>
105053         * doc/gnulib.texi: Escape @.
105055 2007-04-03  James Youngman  <jay@gnu.org>
105056         and Paul Eggert  <eggert@cs.ucla.edu>
105058         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
105059         birthtime on all systems that have birthtime, not just those which
105060         use st_birthtimensec rather than st_birthtim.  Putting zero in
105061         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
105062         that the birth time is not available for files on an NFS mount.
105064 2007-04-03  Simon Josefsson  <simon@josefsson.org>
105066         * modules/memxor: Move back from crypto/, suggested by Bruno.
105067         * modules/crypto/hmac-sha1: Fix memxor dependency.
105069         * modules/crypto/gc: Moved from ../.
105071 2007-04-02  Eric Blake  <ebb9@byu.net>
105073         * lib/ldexpl.c (includes): Avoid libm.
105075         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
105077 2007-04-02  Bruno Haible  <bruno@clisp.org>
105079         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
105080         on IRIX.
105082 2007-04-02  Bruno Haible  <bruno@clisp.org>
105084         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
105085         x86 or x86_64 platforms running MacOS X.
105086         Reported by Ryan Schmidt <@ryandesign.com>.
105088 2007-04-02  Bruno Haible  <bruno@clisp.org>
105090         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
105091         i386.
105093 2007-04-01  Simon Josefsson  <simon@josefsson.org>
105095         * modules/crypto/arcfour: Moved from ../.
105096         * modules/crypto/arcfour-tests: Moved from ../.
105097         * modules/crypto/arctwo: Moved from ../.
105098         * modules/crypto/arctwo-tests: Moved from ../.
105099         * modules/crypto/des: Moved from ../.
105100         * modules/crypto/des-tests: Moved from ../.
105101         * modules/crypto/gc-arcfour: Moved from ../.
105102         * modules/crypto/gc-arcfour-tests: Moved from ../.
105103         * modules/crypto/gc-arctwo: Moved from ../.
105104         * modules/crypto/gc-arctwo-tests: Moved from ../.
105105         * modules/crypto/gc-des: Moved from ../.
105106         * modules/crypto/gc-des-tests: Moved from ../.
105107         * modules/crypto/gc-hmac-md5: Moved from ../.
105108         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
105109         * modules/crypto/gc-hmac-sha1: Moved from ../.
105110         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
105111         * modules/crypto/gc-md2: Moved from ../.
105112         * modules/crypto/gc-md2-tests: Moved from ../.
105113         * modules/crypto/gc-md4: Moved from ../.
105114         * modules/crypto/gc-md4-tests: Moved from ../.
105115         * modules/crypto/gc-md5: Moved from ../.
105116         * modules/crypto/gc-md5-tests: Moved from ../.
105117         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
105118         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
105119         * modules/crypto/gc-random: Moved from ../.
105120         * modules/crypto/gc-rijndael: Moved from ../.
105121         * modules/crypto/gc-rijndael-tests: Moved from ../.
105122         * modules/crypto/gc-sha1: Moved from ../.
105123         * modules/crypto/gc-sha1-tests: Moved from ../.
105124         * modules/crypto/gc-tests: Moved from ../.
105125         * modules/crypto/hmac-md5: Moved from ../.
105126         * modules/crypto/hmac-md5-tests: Moved from ../.
105127         * modules/crypto/hmac-sha1: Moved from ../.
105128         * modules/crypto/hmac-sha1-tests: Moved from ../.
105129         * modules/crypto/md2: Moved from ../.
105130         * modules/crypto/md2-tests: Moved from ../.
105131         * modules/crypto/md4: Moved from ../.
105132         * modules/crypto/md4-tests: Moved from ../.
105133         * modules/crypto/md5: Moved from ../.
105134         * modules/crypto/md5-tests: Moved from ../.
105135         * modules/crypto/memxor: Moved from ../.
105136         * modules/crypto/rijndael: Moved from ../.
105137         * modules/crypto/rijndael-tests: Moved from ../.
105138         * modules/crypto/sha1: Moved from ../.
105140 2007-03-30  James Youngman  <jay@gnu.org>
105142         * tests/test-stat-time.c (prepare_test): use chmod() rather than
105143         rename() to change the ctime of a file (because ctime is unaffected
105144         by rename on jfs2 on AIX 5.1).
105145         (main): Start by doing cleanup, in case a previous run failed leaving
105146         test files behind.
105148 2007-03-31  Bruno Haible  <bruno@clisp.org>
105150         Support old proprietary implementations of iconv.
105151         * modules/iconv_open: New file.
105152         * lib/iconv_.h: New file.
105153         * m4/iconv_h.m4: New file.
105154         * lib/iconv_open.c: New file.
105155         * lib/iconv_open-aix.gperf: New file.
105156         * lib/iconv_open-hpux.gperf: New file.
105157         * lib/iconv_open-irix.gperf: New file.
105158         * lib/iconv_open-osf.gperf: New file.
105159         * m4/iconv_open.m4: New file.
105160         * modules/linebreak (Depends-on): Add iconv_open.
105161         * modules/striconv (Depends-on): Likewise.
105162         * modules/striconveh (Depends-on): Likewise.
105163         * modules/unicodeio (Depends-on): Likewise.
105164         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
105165         (iconv_t)(-1).
105166         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
105167         conversion if cd is (iconv_t)(-1).
105168         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
105169         is not possible.
105171 2007-03-31  Bruno Haible  <bruno@clisp.org>
105173         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105174         work on Solaris either. Protect also second use of "autodetect_jp".
105176 2007-03-31  Bruno Haible  <bruno@clisp.org>
105178         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
105179         the function is not present.
105181 2007-03-31  Bruno Haible  <bruno@clisp.org>
105183         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
105184         the function is not present.
105186 2007-03-31  Bruno Haible  <bruno@clisp.org>
105188         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
105189         a bug in HP-UX iconv_open().
105191 2007-03-31  Bruno Haible  <bruno@clisp.org>
105193         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
105194         (Mathematics <math.h>): New section, add fpieee.
105195         (Input/output <stdio.h>): Add fseterr.
105196         (Mathematics <math.h>): New section, add printf-frexp.
105197         (Container data structures): Add sublist.
105198         (Core language properties): Add fpucw, inline.
105199         (Functions for greatest-width integer types <inttypes.h>): Add
105200         imaxabs, imaxdiv, inttypes.
105201         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
105202         isnanl-nolibm, ldexp.
105203         (Mathematics <math.h>): New section, add printf-frexpl.
105204         (Support for systems lacking POSIX:2001): Add fprintf-posix,
105205         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
105206         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
105207         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
105208         (Unicode string functions): Add unistr/u*-mbtoucr.
105209         (Java): Add javacomp-script, javaexec-script.
105210         (C#): Add csharpcomp-script, csharpexec-script.
105211         (Support for building libraries and executables): Add havelib,
105212         relocatable-*.
105213         (Support for maintaining and releasing projects): Renamed from
105214         'Support for maintaining and release projects'. Add announce-gen.
105216 2007-03-31  Bruno Haible  <bruno@clisp.org>
105218         * README: Talk primarily about git.
105219         (git and CVS): Renamed from CVS.
105220         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
105221         gnulib is available through git.
105222         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
105224 2007-03-30  Bruno Haible  <bruno@clisp.org>
105226         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
105227         * lib/poll_.h: Likewise.
105228         * lib/stat_.h: Likewise.
105229         * lib/sys_time_.h: Likewise.
105230         * lib/sysexit_.h: Likewise.
105231         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
105232         * lib/stdbool_.h: Likewise.
105233         * lib/byteswap_.h: Add double-inclusion guard.
105235 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
105237         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
105239 2007-03-30  Karl Berry  <karl@gnu.org>
105241         * config/srclist-update: double space after USA in the license
105242         substitution, since that's how it's usually (?) written.
105244 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
105246         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
105247         reported by Bruno Haible.
105249 2007-03-29  Bruno Haible  <bruno@clisp.org>
105251         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
105252         a bug in AIX iconv().
105254 2007-03-29  Bruno Haible  <bruno@clisp.org>
105256         * modules/ldexpl-tests: New file.
105257         * tests/test-ldexpl.c: New file.
105259 2007-03-29  Bruno Haible  <bruno@clisp.org>
105261         * lib/ldexpl.c: Include fpucw.h.
105262         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
105263         multiplication.
105264         * modules/ldexpl (Depends-on): Add fpucw.
105266 2007-03-29  Bruno Haible  <bruno@clisp.org>
105268         * modules/ldexpl: New file.
105269         * m4/ldexpl.m4: New file.
105270         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
105271         set.
105272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
105273         REPLACE_LDEXPL.
105274         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
105275         REPLACE_LDEXPL.
105276         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105277         gl_FUNC_LDEXPL_WORKS.
105278         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
105279         * modules/mathl (Files): Remove lib/ldexpl.c.
105280         (Depends-on): Add ldexpl.
105282 2007-03-29  Bruno Haible  <bruno@clisp.org>
105284         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
105286 2007-03-29  Bruno Haible  <bruno@clisp.org>
105288         * tests/test-striconveh.c (main): Don't assume that a direct conversion
105289         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
105290         and possibly also HP-UX.
105291         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105292         work on AIX, IRIX, HP-UX, OSF/1.
105293         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
105294         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
105295         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
105296         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
105297         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
105298         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
105300 2007-03-29  Bruno Haible  <bruno@clisp.org>
105302         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
105304 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105306         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
105307         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
105309 2007-03-29  Eric Blake  <ebb9@byu.net>
105311         * lib/acl-internal.h: Remove redundant include.
105312         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
105313         Cygwin when a file is locked.
105315 2007-03-29  Bruno Haible  <bruno@clisp.org>
105317         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
105318         file.
105319         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
105321 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105323         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
105324         try to remove a parent directory if the child couldn't be removed
105325         (except for the first rmdir, which could fail because the child
105326         doesn't exist).  Problem reported by Jeff Blaine in
105327         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
105329 2007-03-28  Bruno Haible  <bruno@clisp.org>
105331         * lib/striconveh.c (utf8conv_carefully): New function.
105332         (mem_cd_iconveh_internal): Invoke it.
105334 2007-03-28  Bruno Haible  <bruno@clisp.org>
105336         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
105337         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
105338         input.
105339         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
105340         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
105341         unistr/u8-uctomb.
105343 2007-03-28  Bruno Haible  <bruno@clisp.org>
105345         * modules/unistr/u8-mbtoucr: New file.
105346         * lib/unistr/u8-mbtoucr.c: New file.
105347         * modules/unistr/u16-mbtoucr: New file.
105348         * lib/unistr/u16-mbtoucr.c: New file.
105349         * modules/unistr/u16-mbtoucr: New file.
105350         * lib/unistr/u16-mbtoucr.c: New file.
105351         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
105353 2007-03-27  Simon Josefsson  <simon@josefsson.org>
105354             Bruno Haible  <bruno@clisp.org>
105356         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
105357         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
105358         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
105360         * m4/stdio_h.m4: Add stubs for vasprintf too.
105362         * modules/stdio: Support vasprintf in sed command.
105364         * modules/vasprintf: Depend on stdio for prototypes.  Remove
105365         vasprintf.h.  Add stdio module indicator.
105367         * lib/stdio_.h: Declare asprintf and vasprintf, based on
105368         vasprintf.h.
105370         * lib/vasprintf.h: File removed.
105372         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
105373         * lib/vasprintf.c: Ditto.
105374         * lib/xvasprintf.c: Ditto.
105375         * tests/test-vasprintf-posix.c: Ditto.
105376         * tests/test-vasprintf.c: Ditto.
105378 2007-03-27  Bruno Haible  <bruno@clisp.org>
105380         Make vasnprintf multithread-safe.
105381         * lib/vasnprintf.c (decimal_point_char): New function.
105382         (VASNPRINTF): Use it.
105383         Suggested by Simon Josefsson.
105385 2007-03-27  Eric Blake  <ebb9@byu.net>
105387         Support sub-second birthtime on cygwin.
105388         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
105389         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
105390         (get_stat_birthtime): Also work with st_birthtim.
105392 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
105394         * lib/stat-time.h (USE_BIRTHTIME): Remove.
105395         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
105396         (get_stat_birthtime_ns): Do not try to use "spare" fields.
105397         (get_stat_birthtime_ns): Simplify compile-time tests.
105398         (get_stat_birthtime): Change the API to look like
105399         get_stat_mtime etc., except return a negative tv_nsec on error.
105400         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
105401         Don't check for "spare" fields.
105402         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
105403         or for struct stat.st_birthtime, as these tests aren't used.
105404         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
105406 2007-03-27  Bruno Haible  <bruno@clisp.org>
105408         * lib/stat-time.h: Include <sys/stat.h>.
105410 2007-03-27  James Youngman  <jay@gnu.org>
105412         * lib/stat-time.h (get_stat_birthtime): New function for
105413           retrieving st_birthtime as provided by UFS2 (hence *BSD).
105414         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
105415           and its variants.
105416         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
105417         * modules/stat-time-test: New file.
105418         * tests/test-stat-time.c: New test, devised by Bruno Haible.
105420 2007-03-26  Bruno Haible  <bruno@clisp.org>
105422         Better support of signalling NaNs.
105423         * lib/atanl.c: Include isnanl.h.
105424         (atanl): Perform test for NaN at the beginning of the function and
105425         through a call to isnanl.
105426         * lib/cosl.c: Include isnanl.h.
105427         (cosl): Perform test for NaN at the beginning of the function and
105428         through a call to isnanl.
105429         * lib/ldexpl.c: Include isnanl.h.
105430         (ldexpl): Perform test for NaN through a call to isnanl.
105431         * lib/logl.c: Include isnanl.h.
105432         (logl): Perform test for NaN at the beginning of the function and
105433         through a call to isnanl.
105434         * lib/sinl.c: Include isnanl.h.
105435         (sinl): Perform test for NaN at the beginning of the function and
105436         through a call to isnanl.
105437         * lib/sqrtl.c: Include isnanl.h.
105438         (sqrtl): Perform test for NaN at the beginning of the function and
105439         through a call to isnanl.
105440         * lib/tanl.c: Include isnanl.h.
105441         (tanl): Perform test for NaN at the beginning of the function and
105442         through a call to isnanl.
105443         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
105444         * modules/mathl (Depends-on): Add isnanl.
105446 2007-03-26  Eric Blake  <ebb9@byu.net>
105448         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
105449         regression in logic sense of previous patch.
105451 2007-03-26  Bruno Haible  <bruno@clisp.org>
105453         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
105454         unportable shell command "if ! ...".
105455         Reported by Ralf Wildenhues.
105457 2007-03-25  Bruno Haible  <bruno@clisp.org>
105459         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
105460         <sysexits.h> file, and only add EX_CONFIG.
105461         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
105462         absolute file name and whether it is sufficient. Substitute also
105463         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
105464         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
105465         ABSOLUTE_SYSEXITS_H into sysexits.h.
105467 2007-03-25  Bruno Haible  <bruno@clisp.org>
105469         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
105470         hints is NULL.
105472 2007-03-25  Bruno Haible  <bruno@clisp.org>
105474         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
105475         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
105477 2007-03-25  Bruno Haible  <bruno@clisp.org>
105479         * lib/vasnprintf.c: Include langinfo.h.
105480         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
105481         multithread-safe.
105482         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
105483         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
105484         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105485         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105486         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105487         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105488         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105489         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
105490         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105491         Reported by Simon Josefsson.
105493 2007-03-25  Bruno Haible  <bruno@clisp.org>
105495         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
105496         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
105497         * modules/vasnprintf (Depends-on): Add stdint.
105499 2007-03-25  Bruno Haible  <bruno@clisp.org>
105501         * modules/fpieee: New file.
105502         * m4/fpieee.m4: New file.
105503         * modules/isnan-nolibm (Depends-on): Add fpieee.
105504         * modules/isnanl-nolibm (Depends-on): Add fpieee.
105505         * modules/isnanl (Depends-on): Add fpieee.
105507 2007-03-25  Bruno Haible  <bruno@clisp.org>
105509         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
105511 2007-03-25  Bruno Haible  <bruno@clisp.org>
105513         Avoid test failures on IRIX 6.5.
105514         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
105515         (main): Use it.
105516         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
105517         macros.
105518         (main): Use them.
105520 2007-03-25  Bruno Haible  <bruno@clisp.org>
105522         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
105523         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
105524         exists but doesn't work.
105525         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
105526         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
105527         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
105528         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
105529         math.h.
105531 2007-03-25  Bruno Haible  <bruno@clisp.org>
105533         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
105534         returns inf. Needed on IRIX 6.5.
105536 2007-03-25  Bruno Haible  <bruno@clisp.org>
105538         * tests/test-frexpl.c: Include isnanl-nolibm.h.
105539         (main): Use isnanl instead of x != x idiom.
105540         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
105542         * tests/test-frexp.c: Include isnan.h.
105543         (main): Use isnan instead of x != x idiom.
105544         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
105546 2007-03-25  Bruno Haible  <bruno@clisp.org>
105548         * tests/test-frexp.c (NaN): New function/macro.
105549         (main): Use it instead of 0.0 / 0.0.
105550         * tests/test-isnan.c (NaN): New function/macro.
105551         (main): Use it instead of 0.0 / 0.0.
105552         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
105553         (test_function): Use it instead of 0.0 / 0.0.
105554         * tests/test-vasprintf-posix.c (NaN): New function/macro.
105555         (test_function): Use it instead of 0.0 / 0.0.
105556         * tests/test-snprintf-posix.h (NaN): New function/macro.
105557         (test_function): Use it instead of 0.0 / 0.0.
105558         * tests/test-sprintf-posix.h (NaN): New function/macro.
105559         (test_function): Use it instead of 0.0 / 0.0.
105560         * tests/test-fprintf-posix.h (NaN): New function/macro.
105561         (test_function): Use it instead of 0.0 / 0.0.
105562         * tests/test-printf-posix.h (NaN): New function/macro.
105563         (test_function): Use it instead of 0.0 / 0.0.
105565         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
105567 2007-03-25  Bruno Haible  <bruno@clisp.org>
105569         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
105571 2007-03-25  Bruno Haible  <bruno@clisp.org>
105573         * lib/regexec.c (merge_state_with_log): Make static.
105575 2007-03-25  Bruno Haible  <bruno@clisp.org>
105577         * lib/trigl.c (kernel_rem_pio2): Make static.
105579 2007-03-25  Bruno Haible  <bruno@clisp.org>
105581         * lib/sincosl.c (sincosl_table): Make static.
105583 2007-03-25  Bruno Haible  <bruno@clisp.org>
105585         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
105586         if the compiler does not support C99.
105588 2007-03-25  Bruno Haible  <bruno@clisp.org>
105590         * modules/time (Makefile.am): Ensure all rule action lines start with a
105591         tab.
105593 2007-03-24  Bruno Haible  <bruno@clisp.org>
105595         * modules/tsearch-tests: New file.
105596         * tests/test-tsearch.sh: New file.
105597         * tests/test-tsearch.c: New file, mostly copied from glibc.
105599         * modules/search-tests: New file.
105600         * tests/test-search.c: New file.
105602         * modules/search: New file.
105603         * lib/search_.h: New file, incorporating lib/tsearch.h.
105604         * m4/search_h.m4: New file.
105605         * lib/tsearch.h: Remove file.
105606         * lib/tsearch.c: Include search.h instead of tsearch.h.
105607         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
105608         HAVE_TSEARCH.
105609         * modules/tsearch (Files): Remove lib/tsearch.h.
105610         (Depends-on): Add search.
105611         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
105612         (Include): Change tsearch.h into search.h.
105614 2007-03-24  Bruno Haible  <bruno@clisp.org>
105616         * modules/fpucw: New file.
105617         * lib/fpucw.h: New file.
105618         * lib/frexp.c: Include fpucw.h.
105619         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
105620         (FUNC): Use them.
105621         * lib/printf-frexp.c: Include fpucw.h.
105622         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
105623         (FUNC): Use them.
105624         * lib/vasnprintf.c: Include fpucw.h.
105625         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
105626         'long double' calculations.
105627         * tests/test-frexpl.c: Include fpucw.h.
105628         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
105629         * tests/test-printf-frexpl.c: Include fpucw.h.
105630         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
105631         * modules/frexpl (Depends-on): Add fpucw.
105632         * modules/printf-frexpl (Depends-on): Likewise.
105633         * modules/fprintf-posix (Depends-on): Likewise.
105634         * modules/snprintf-posix (Depends-on): Likewise.
105635         * modules/sprintf-posix (Depends-on): Likewise.
105636         * modules/vasnprintf-posix (Depends-on): Likewise.
105637         * modules/vasprintf-posix (Depends-on): Likewise.
105638         * modules/vfprintf-posix (Depends-on): Likewise.
105639         * modules/vsnprintf-posix (Depends-on): Likewise.
105640         * modules/vsprintf-posix (Depends-on): Likewise.
105641         * modules/frexpl-tests (Depends-on): Likewise.
105642         * modules/printf-frexpl-tests (Depends-on): Likewise.
105644 2007-03-24  Bruno Haible  <bruno@clisp.org>
105646         * lib/float+.h: New file.
105647         * lib/isnan.c: Include float+.h.
105648         (SIZE): New macro.
105649         (FUNC): Compare only SIZE bytes of the value.
105650         * lib/vasnprintf.c: Include float+.h.
105651         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
105652         SIZEOF_LDBL or SIZEOF_DBL bytes.
105653         * modules/isnan-nolibm (Files): Add lib/float+.h.
105654         * modules/isnanl-nolibm (Files): Add lib/float+.h.
105655         * modules/isnanl (Files): Add lib/float+.h.
105656         * modules/vasnprintf (Files): Add lib/float+.h.
105658 2007-03-24  Bruno Haible  <bruno@clisp.org>
105660         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
105661         include isnanl-nolibm.h.
105663 2007-03-24  Bruno Haible  <bruno@clisp.org>
105665         * tests/test-read-file.c (main): Don't produce spurious output for
105666         expected situations. Make the test fail if it encountered unexpected
105667         results.
105669 2007-03-24  Bruno Haible  <bruno@clisp.org>
105671         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
105672         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
105674 2007-03-24  Bruno Haible  <bruno@clisp.org>
105676         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
105678 2007-03-24  Bruno Haible  <bruno@clisp.org>
105680         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
105681         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
105683         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
105684         * modules/utf8-ucs4: Turn into a symbolic link to module
105685         unistr/u8-mbtouc.
105687         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
105688         utf8-ucs4-unsafe.
105689         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
105690         unistr/u8-mbtouc-unsafe.
105692         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
105693         * modules/utf16-ucs4: Turn into a symbolic link to module
105694         unistr/u16-mbtouc.
105696         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
105697         utf16-ucs4-unsafe.
105698         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
105699         unistr/u16-mbtouc-unsafe.
105701         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
105702         * modules/ucs4-utf8: Turn into a symbolic link to module
105703         unistr/u8-ubtomb.
105705         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
105706         * modules/ucs4-utf16: Turn into a symbolic link to module
105707         unistr/u16-ubtomb.
105709 2007-03-24  Bruno Haible  <bruno@clisp.org>
105711         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
105712         Enable the function only if HAVE_INLINE.
105713         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
105714         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
105715         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
105716         Enable the function only if HAVE_INLINE.
105717         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
105718         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
105719         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
105720         Enable the function only if HAVE_INLINE.
105721         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
105722         Enable the function only if HAVE_INLINE.
105723         * modules/utf8-ucs4: Update.
105724         * modules/utf8-ucs4-unsafe: Update.
105725         * modules/utf16-ucs4: Update.
105726         * modules/utf16-ucs4-unsafe: Update.
105727         * modules/ucs4-utf8: Update.
105728         * modules/ucs4-utf16: Update.
105730 2007-03-24  Bruno Haible  <bruno@clisp.org>
105732         * lib/utf8-ucs4.h: Remove file.
105733         * lib/utf8-ucs4-unsafe.h: Remove file.
105734         * lib/utf16-ucs4.h: Remove file.
105735         * lib/utf16-ucs4-unsafe.h: Remove file.
105736         * lib/ucs4-utf8.h: Remove file.
105737         * lib/ucs4-utf16.h: Remove file.
105738         * lib/unistr.h: Include their previous contents.
105739         * m4/utf-ucs4.m4: Remove file.
105740         * m4/ucs4-utf.m4: Remove file.
105741         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
105742         (Depends-on): Add unistr/base.
105743         (configure.ac): Remove gl_UTF_UCS4.
105744         (Makefile.am): Update.
105745         (Include): Change to unistr.h.
105746         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
105747         (Depends-on): Add unistr/base.
105748         (configure.ac): Remove gl_UTF_UCS4.
105749         (Makefile.am): Update.
105750         (Include): Change to unistr.h.
105751         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
105752         (Depends-on): Add unistr/base.
105753         (configure.ac): Remove gl_UTF_UCS4.
105754         (Makefile.am): Update.
105755         (Include): Change to unistr.h.
105756         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
105757         (Depends-on): Add unistr/base.
105758         (configure.ac): Remove gl_UTF_UCS4.
105759         (Makefile.am): Update.
105760         (Include): Change to unistr.h.
105761         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
105762         (Depends-on): Add unistr/base.
105763         (configure.ac): Remove gl_UCS4_UTF.
105764         (Makefile.am): Update.
105765         (Include): Change to unistr.h.
105766         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
105767         (Depends-on): Add unistr/base.
105768         (configure.ac): Remove gl_UCS4_UTF.
105769         (Makefile.am): Update.
105770         (Include): Change to unistr.h.
105771         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
105772         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
105773         utf8-ucs4-unsafe.h.
105774         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
105775         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
105776         utf16-ucs4-unsafe.h.
105777         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
105778         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
105779         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
105780         * lib/unistr/u8-strchr.c: Likewise.
105781         * lib/unistr/u8-strrchr.c: Likewise.
105782         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
105783         * lib/unistr/u16-strchr.c: Likewise.
105784         * lib/unistr/u16-strrchr.c: Likewise.
105785         * lib/striconveh.c: Update.
105786         * lib/linebreak.c: Update.
105788 2007-03-24  Bruno Haible  <bruno@clisp.org>
105790         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
105791         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
105793 2007-03-22  Bruno Haible  <bruno@clisp.org>
105795         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
105797 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105799         * MODULES.html.sh (File system functions): New module write-any-file.
105800         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
105801         * m4/write-any-file.m4: New files.
105803 2007-03-23  Eric Blake  <ebb9@byu.net>
105805         * gnulib-tool: Rearrange space-tab sequences, since some editors
105806         like to eat them.
105808 2007-03-23  Eric Blake  <ebb9@byu.net>
105810         * lib/version-etc.c (version_etc_va): Update license wording to
105811         be more concise.  Recommended by Richard Stallman.
105813 2007-03-22  Bruno Haible  <bruno@clisp.org>
105815         * lib/poll.c (MSG_PEEK): New fallback definition.
105817 2007-03-22  Bruno Haible  <bruno@clisp.org>
105819         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
105820         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
105821         (main): Update.
105822         Fixes a compilation error on BeOS.
105824 2007-03-22  Bruno Haible  <bruno@clisp.org>
105826         * modules/frexpl-tests: New file.
105827         * tests/test-frexpl.c: New file.
105829         * modules/frexpl: New file.
105830         * m4/frexpl.m4: New file.
105831         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
105832         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
105833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
105834         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
105835         (Depends-on): Add frexpl. Remove isnanl-nolibm.
105836         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
105838 2007-03-22  Bruno Haible  <bruno@clisp.org>
105840         * lib/frexpl.c: Share code with lib/frexp.c.
105841         * modules/mathl (Files): Add lib/frexp.c.
105842         (Depends-on): Add isnanl-nolibm.
105844 2007-03-22  Bruno Haible  <bruno@clisp.org>
105846         * modules/printf-frexp (Files): Add m4/frexp.m4.
105847         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
105848         only if the found frexp function actually works.
105850 2007-03-22  Bruno Haible  <bruno@clisp.org>
105852         * lib/frexp.c: Remove older implementation that uses divisions.
105854 2007-03-21  Bruno Haible  <bruno@clisp.org>
105856         * modules/frexp-tests: New file.
105857         * tests/test-frexp.c: New file.
105859         * modules/frexp: New file.
105860         * lib/frexp.c: New file.
105861         * m4/frexp.m4: New file.
105862         * lib/math_.h (frexp): New declaration.
105863         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
105864         REPLACE_FREXP.
105865         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
105867 2007-03-21  Bruno Haible  <bruno@clisp.org>
105869         * modules/isnanl-tests: New file.
105870         * tests/test-isnanl.c: New file.
105872         * modules/isnanl: New file.
105873         * lib/isnanl.h: New file.
105874         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
105875         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
105876         gl_FUNC_ISNANL_WORKS.
105877         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
105878         New macros.
105880 2007-03-21  Bruno Haible  <bruno@clisp.org>
105882         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
105883         lib/isnanl.h.
105884         (Include): Update.
105885         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
105886         * lib/vasnprintf.c: Update.
105887         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
105888         tests/test-isnanl.h, remove tests/test-isnanl.c.
105889         (Makefile.am): Update.
105890         * tests/test-isnanl-nolibm.c: New file.
105891         * tests/test-isnanl.h: New file.
105892         * tests/test-isnanl.c: Remove file.
105894 2007-03-21  Jim Meyering  <jim@meyering.net>
105896         When trying to open ".", treat ESTALE like EACCES.
105897         * lib/savewd.c (savewd_save): Resort to forking not just upon
105898         failure with EACCES, but also when errno is ESTALE.
105900 2007-03-20  Bruno Haible  <bruno@clisp.org>
105902         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
105903         Needed on AIX 5.1. Reported by Matthew Woehlke.
105905 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
105907         Suggestions by Bruno Haible:
105908         * lib/acl-internal.h: Include "gettext.h" rather than rolling
105909         our own.
105910         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
105911         * modules/acl (Depends-on): Add gettext.
105913 2007-03-19  Bruno Haible  <bruno@clisp.org>
105915         * modules/iconvme: Remove file.
105916         * lib/iconvme.h: Remove file.
105917         * lib/iconvme.c: Remove file.
105918         * m4/iconvme.m4: Remove file.
105920 2007-03-19  Bruno Haible  <bruno@clisp.org>
105922         * doc/relocatable-maint.texi: Break long shell script line.
105923         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
105925 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
105927         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
105928         handle file_has_acl.
105929         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
105930         * lib/acl.c: Move header inclusions and related macro defns into
105931         lib/acl-internal.h.
105932         (S_ISLNK): Remove defn, since that's now done for us.
105933         (file_has_acl): Move to lib/file-has-acl.c.
105934         Call acl_trivial if available.  This is the crucial part of the fix.
105935         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
105936         shared within the library.  Rewrite a bit, partly to make it compatible
105937         with the GNU coding style.
105938         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
105939         Remove unnecessary double-quotes.
105940         Don't test for acl_to_text; the build will catch that.
105941         Replace acl_entries if it doesn't exist and it is needed.
105942         Check for -lsec and acl_trivial (as used on Solaris 10).
105943         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
105944         lib/file-has-acl.c.
105945         (Depends-on): Add sys_stat, for S_ISLNK.
105947 2007-03-19  Ben Pfaff  <blp@gnu.org>
105949         * doc/gnulib.texi: Fix typos.
105950         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
105952 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
105954         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
105955         If size is zero here, buf must be zero.
105957 2007-03-19  Simon Josefsson  <simon@josefsson.org>
105959         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
105960         <bruno@clisp.org>.
105962 2007-03-18  Bruno Haible  <bruno@clisp.org>
105964         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
105965         Suggested by Eric Blake.
105967 2007-03-18  Ben Pfaff  <blp@gnu.org>
105969         * doc/relocatable.texi: Recommend using as prefix a directory
105970         that does not exist and will never be created.  Based on
105971         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
105972         and others.
105974 2007-03-17  Bruno Haible  <bruno@clisp.org>
105976         * lib/fchownat.c: Include lchown.h.
105978 2007-03-17  Bruno Haible  <bruno@clisp.org>
105980         Fix endless loop when the given allocated size was > INT_MAX.
105981         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
105982         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
105983         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
105984         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
105985         * lib/sprintf.c (sprintf): Likewise.
105987 2007-03-17  Bruno Haible  <bruno@clisp.org>
105989         * tests/test-argp-2.sh (func_compare): Output a context diff.
105991 2007-03-17  Bruno Haible  <bruno@clisp.org>
105993         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
105994         locale's decimal-point character.
105996 2007-03-17  Bruno Haible  <bruno@clisp.org>
105998         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
105999         before comparing it. Needed because on some platforms (e.g. x86) a
106000         'long double' occupies less bytes than sizeof (long double).
106002 2007-03-17  Bruno Haible  <bruno@clisp.org>
106004         * tests/test-crc.c (main): Make printf statements 64-bit clean.
106005         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
106006         * tests/test-getaddrinfo.c (simple): Likewise.
106007         * tests/test-read-file.c (main): Likewise.
106009 2007-03-17  Bruno Haible  <bruno@clisp.org>
106011         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
106013 2007-03-17  Bruno Haible  <bruno@clisp.org>
106015         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
106016         unused variable.
106018 2007-03-17  Bruno Haible  <bruno@clisp.org>
106020         * tests/test-c-strcasecmp.c: Include c-strcase.h.
106021         * tests/test-c-strncasecmp.c: Likewise.
106023 2007-03-17  Bruno Haible  <bruno@clisp.org>
106025         * modules/stdlib (Depends-on): Add unistd.
106026         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
106027         Needed for MacOS X 10.3.
106029 2007-03-17  Bruno Haible  <bruno@clisp.org>
106031         * lib/unistr/u-strdup.h: Include <stdlib.h>.
106033 2007-03-17  Bruno Haible  <bruno@clisp.org>
106035         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
106037 2007-03-17  Bruno Haible  <bruno@clisp.org>
106039         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
106040         to reflect files copied from gnulib (with or without modifications).
106041         Suggested by Jim Meyering.
106043 2007-03-17  Eric Blake  <ebb9@byu.net>
106045         * NEWS: Document stdlib change from 2007-02-18.
106047 2007-03-17  Jim Meyering  <jim@meyering.net>
106049         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
106050         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
106051         someone uses a name containing shell meta-characters.
106052         Reported by Alfred M. Szmidt.
106054         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
106056 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106058         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
106059         and copy gettext configuration files only if configure.ac contains
106060         a use of AM_GNU_GETTEXT_VERSION.
106062 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106064         * build-aux/bootstrap (gnulib_name): New variable.
106065         (gnulib_tool_options): Use it.
106067 2007-03-13  Simon Josefsson  <simon@josefsson.org>
106069         * tests/test-des.c: Use new namespace.
106071 2007-03-15  Bruno Haible  <bruno@clisp.org>
106073         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
106074         Reported by James Youngman <jay@gnu.org>.
106076 2007-03-15  Bruno Haible  <bruno@clisp.org>
106078         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
106079         declared prototype. Needed with cc on OSF/1 5.1.
106081 2007-03-15  Bruno Haible  <bruno@clisp.org>
106083         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
106084         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
106085         (struct gl_list_implementation): Add dispose_fn argument to the
106086         'create_empty', 'create' methods.
106087         (struct gl_list_impl_base): Add field 'dispose_fn'.
106088         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
106089         argument.
106090         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
106091         dispose_fn argument.
106092         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
106093         dispose_fn on the dropped values.
106094         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
106095         dispose_fn argument.
106096         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
106097         dropped values.
106098         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
106099         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106100         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
106101         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106102         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
106103         argument.
106104         (gl_tree_list_free): Call dispose_fn on the dropped values.
106105         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
106106         the dropped values.
106107         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
106108         Add dispose_fn argument.
106109         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
106110         Call dispose_fn on the dropped values.
106111         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
106112         Add dispose_fn argument.
106113         (gl_sublist_create): Initialize the 'dispose_fn' field.
106114         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
106115         * tests/test-array_list.c (main): Update.
106116         * tests/test-carray_list.c (main): Update.
106117         * tests/test-avltree_list.c (main): Update.
106118         * tests/test-rbtree_list.c (main): Update.
106119         * tests/test-avltreehash_list.c (main): Update.
106120         * tests/test-rbtreehash_list.c (main): Update.
106121         * tests/test-linked_list.c (main): Update.
106122         * tests/test-linkedhash_list.c (main): Update.
106123         * tests/test-array_oset.c (main): Update.
106125 2007-03-15  Bruno Haible  <bruno@clisp.org>
106127         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
106128         (gl_oset_create_empty): Add dispose_fn argument.
106129         (struct gl_oset_implementation): Add dispose_fn argument to
106130         'create_empty' method.
106131         (struct gl_oset_impl_base): Add dispose_fn field.
106132         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
106133         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
106134         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
106135         values.
106136         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
106137         (gl_tree_oset_free): Call dispose_fn on the dropped values.
106138         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
106139         dropped value.
106140         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
106141         dropped value.
106142         * tests/test-array_oset.c (main): Update.
106143         * tests/test-avltree_oset.c (main): Update.
106144         * tests/test-rbtree_oset.c (main): Update.
106145         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
106147 2007-03-13  Bruno Haible  <bruno@clisp.org>
106149         * tests/test-stdbool.c (i): Update after last patch.
106151 2007-03-12  Bruno Haible  <bruno@clisp.org>
106153         * lib/quotearg.c: Include <wctype.h> early, before the definition of
106154         the iswprint macro. Needed on Solaris 2.5.1.
106156 2007-03-12  Bruno Haible  <bruno@clisp.org>
106158         * tests/test-printf-frexp.c (main): Declare x as volatile.
106160 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106162         * doc/gnulib.texi (Build robot for gnulib): New section.
106164 2007-03-12  Jim Meyering  <jim@meyering.net>
106166         * build-aux/bootstrap: New file.
106167         * build-aux/bootstrap.conf: New file, from coreutils.
106169 2007-03-11  Bruno Haible  <bruno@clisp.org>
106171         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
106173 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106175         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
106176         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
106177         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
106179 2007-03-11  Bruno Haible  <bruno@clisp.org>
106181         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
106182         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
106184 2007-03-11  Bruno Haible  <bruno@clisp.org>
106186         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
106187         formula. Needed for SunPRO C 5.0.
106189 2007-03-11  Bruno Haible  <bruno@clisp.org>
106191         * modules/long-options (Depends-on): Add getopt.
106193 2007-03-11  Bruno Haible  <bruno@clisp.org>
106195         * modules/modechange (Depends-on): Add stdbool.
106197 2007-03-11  Bruno Haible  <bruno@clisp.org>
106199         * modules/i-ring (Depends-on): Add stdbool.
106201 2007-03-11  Bruno Haible  <bruno@clisp.org>
106203         * modules/gc-des (Depends-on): Add stdbool.
106205 2007-03-11  Bruno Haible  <bruno@clisp.org>
106207         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
106209 2007-03-11  Bruno Haible  <bruno@clisp.org>
106211         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
106213 2007-03-11  Bruno Haible  <bruno@clisp.org>
106215         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
106217 2007-03-11  Bruno Haible  <bruno@clisp.org>
106219         * lib/vasnprintf.c (sprintf): Undefine.
106221 2007-03-11  Bruno Haible  <bruno@clisp.org>
106223         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
106224         initializers in SunPRO C and Compaq C compilers.
106226 2007-03-11  Bruno Haible  <bruno@clisp.org>
106228         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
106229         decrementing code ANSI C compliant.
106231 2007-03-11  Bruno Haible  <bruno@clisp.org>
106233         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
106234         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
106236 2007-03-11  Bruno Haible  <bruno@clisp.org>
106238         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
106239         <stdbool.h> substitute doesn't pass.
106241 2007-03-11  Bruno Haible  <bruno@clisp.org>
106243         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
106245 2007-03-11  Bruno Haible  <bruno@clisp.org>
106247         * gnulib-tool (func_create_megatestdir): Create also an autobuild
106248         script, for submission to autobuild.josefsson.org.
106250 2007-03-10  Bruno Haible  <bruno@clisp.org>
106252         * modules/canonicalize-lgpl-tests: New file.
106253         * tests/test-canonicalize-lgpl.sh: New file.
106254         * tests/test-canonicalize-lgpl.c: New file.
106256         * modules/c-strcase-tests: New file.
106257         * tests/test-c-strcase.sh: New file.
106258         * tests/test-c-strcasecmp.c: New file.
106259         * tests/test-c-strncasecmp.c: New file.
106261         * modules/atexit-tests: New file.
106262         * tests/test-atexit.sh: New file.
106263         * tests/test-atexit.c: New file.
106265 2007-03-10  Bruno Haible  <bruno@clisp.org>
106267         * tests/test-binary-io.sh: Use temporary filenames that are not so
106268         likely to clash with those of other tests (in a parallel make).
106269         * tests/test-binary-io.c: Likewise.
106271 2007-03-10  Bruno Haible  <bruno@clisp.org>
106273         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
106274         fallback; use #error instead.
106275         Suggested by Simon Josefsson.
106277 2007-03-10  Bruno Haible  <bruno@clisp.org>
106279         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
106280         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
106281         first and the last.
106283 2007-03-10  Bruno Haible  <bruno@clisp.org>
106285         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
106287 2007-03-10  Bruno Haible  <bruno@clisp.org>
106289         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
106290         "make distcheck".
106291         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
106292         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
106293         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
106295 2007-03-10  Bruno Haible  <bruno@clisp.org>
106297         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
106298         variable.
106299         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
106300         variable.
106302 2007-03-09  Eric Blake  <ebb9@byu.net>
106303         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
106305         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
106306         types are not being provided by gnulib.
106307         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
106308         types are supported.
106310 2007-03-10  Bruno Haible  <bruno@clisp.org>
106312         * lib/stdio_.h (__attribute__): New macro.
106313         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
106314         vsprintf): Specify __attribute__ __format__ for GCC.
106315         Suggested by Eric Blake.
106317 2007-03-09  Bruno Haible  <bruno@clisp.org>
106319         * modules/printf-posix-tests: New file.
106320         * tests/test-printf-posix.sh: New file.
106321         * tests/test-printf-posix.c: New file.
106323         * modules/printf-posix: New file.
106324         * lib/printf.c: New file.
106325         * m4/printf-posix-rpl.m4: New file.
106326         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
106327         REPLACE_PRINTF.
106328         * lib/stdio_.h (printf): New declaration.
106329         (format, __format__, ____printf____, ____scanf____, ____strftime____,
106330         ____strfmon____): New macros.
106331         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
106332         REPLACE_PRINTF.
106334 2007-03-09  Bruno Haible  <bruno@clisp.org>
106336         * tests/test-vasnprintf-posix2.sh: New file.
106337         * tests/test-vasnprintf-posix2.c: New file.
106338         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
106339         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
106340         (Makefile.am): Activate test-vasnprintf-posix2.sh.
106342         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
106343         a locale dependent decimal point, rather than always '.'.
106345 2007-03-09  Eric Blake  <ebb9@byu.net>
106347         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
106348         spite of platforms like Tandem/NSK that define it to -1.
106350 2007-03-08  Bruno Haible  <bruno@clisp.org>
106352         * modules/vprintf-posix-tests: New file.
106353         * tests/test-vprintf-posix.sh: New file.
106354         * tests/test-vprintf-posix.c: New file.
106355         * tests/test-printf-posix.h: New file.
106357         * modules/vprintf-posix: New file.
106358         * lib/vprintf.c: New file.
106359         * m4/vprintf-posix.m4: New file.
106360         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
106361         REPLACE_VPRINTF.
106362         * lib/stdio_.h (vprintf): New declaration.
106363         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
106364         REPLACE_VPRINTF.
106366 2007-03-08  Bruno Haible  <bruno@clisp.org>
106368         * modules/fprintf-posix-tests: New file.
106369         * tests/test-fprintf-posix.sh: New file.
106370         * tests/test-fprintf-posix.c: New file.
106372         * modules/fprintf-posix: New file.
106373         * lib/fprintf.c: New file.
106374         * m4/fprintf-posix.m4: New file.
106375         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
106376         REPLACE_FPRINTF.
106377         * lib/stdio_.h (fprintf): New declaration.
106378         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
106379         REPLACE_FPRINTF.
106381 2007-03-08  Bruno Haible  <bruno@clisp.org>
106383         * modules/vfprintf-posix-tests: New file.
106384         * tests/test-vfprintf-posix.sh: New file.
106385         * tests/test-vfprintf-posix.c: New file.
106386         * tests/test-fprintf-posix.h: New file.
106387         * tests/test-fprintf-posix.out: New file.
106389         * modules/vfprintf-posix: New file.
106390         * lib/vfprintf.c: New file.
106391         * m4/vfprintf-posix.m4: New file.
106392         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
106393         REPLACE_VFPRINTF.
106394         * lib/stdio_.h (vfprintf): New declaration.
106395         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
106396         REPLACE_VFPRINTF.
106398 2007-03-08  Bruno Haible  <bruno@clisp.org>
106400         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
106402 2007-03-08  Bruno Haible  <bruno@clisp.org>
106404         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
106405         instead of 'expr' invocations.
106406         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106407         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106408         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106409         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
106410         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106411         Suggested by Paul Eggert.
106413 2007-03-08  Bruno Haible  <bruno@clisp.org>
106415         * modules/fseterr-tests: New file.
106416         * tests/test-fseterr.c: New file.
106418         * modules/fseterr: New file.
106419         * lib/fseterr.h: New file.
106420         * lib/fseterr.c: New file.
106422 2007-03-08  Bruno Haible  <bruno@clisp.org>
106424         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
106425         * lib/getopt_.h: Likewise.
106426         * lib/mbswidth.h: Likewise.
106427         * lib/setenv.h: Likewise.
106428         * lib/vasnprintf.h: Likewise.
106429         * lib/vasprintf.h: Likewise.
106430         * lib/verror.h: Likewise.
106431         * lib/xsetenv.h: Likewise.
106432         * lib/xvasprintf.h: Likewise.
106434 2007-03-08  Jim Meyering  <jim@meyering.net>
106436         * users.txt: Add parted.
106438         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
106440 2007-03-07  Bruno Haible  <bruno@clisp.org>
106442         * m4/printf.m4: Make the shell script snippets copy&pastable.
106444 2007-03-02  Bruno Haible  <bruno@clisp.org>
106446         * lib/netinet_in_.h: New file.
106447         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
106448         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
106449         * modules/netinet_in (Files): Add lib/netinet_in_.h.
106450         (Depends-on): Add absolute-header.
106451         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
106452         into netinet/in.h.
106454 2007-03-03  Bruno Haible  <bruno@clisp.org>
106456         * lib/sys_select_.h: New file.
106457         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
106458         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
106459         * modules/sys_select (Files): Add lib/sys_select_.h.
106460         (Depends-on): Add absolute-header.
106461         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
106462         into sys/select.h.
106464 2007-03-02  Bruno Haible  <bruno@clisp.org>
106466         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
106467         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
106468         values.
106469         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
106470         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
106471         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
106472         * modules/sys_socket (Depends-on): Add absolute-header.
106473         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
106474         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
106475         (Include): Remove requirement of inclusion of <sys/types.h>.
106477 2007-03-02  Bruno Haible  <bruno@clisp.org>
106479         * lib/byteswap_.h (bswap_32): Fix formula.
106481 2007-03-06  Bruno Haible  <bruno@clisp.org>
106483         * modules/sprintf-posix-tests: New file.
106484         * tests/test-sprintf-posix.c: New file.
106486         * modules/sprintf-posix: New file.
106487         * lib/sprintf.c: New file.
106488         * m4/sprintf-posix.m4: New file.
106489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
106490         REPLACE_SPRINTF.
106491         * lib/stdio_.h (sprintf): New declaration.
106492         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
106493         REPLACE_SPRINTF.
106495 2007-03-06  Bruno Haible  <bruno@clisp.org>
106497         * modules/vsprintf-posix-tests: New file.
106498         * tests/test-vsprintf-posix.c: New file.
106499         * tests/test-sprintf-posix.h: New file.
106501         * modules/vsprintf-posix: New file.
106502         * lib/vsprintf.c: New file.
106503         * m4/vsprintf-posix.m4: New file.
106504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
106505         REPLACE_VSPRINTF.
106506         * lib/stdio_.h (vsprintf): New declaration.
106507         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
106508         REPLACE_VSPRINTF.
106510 2007-03-06  Bruno Haible  <bruno@clisp.org>
106512         * modules/vsnprintf (Depend-on): Remove minmax.
106514 2007-03-06  Bruno Haible  <bruno@clisp.org>
106516         * modules/snprintf-posix-tests: New file.
106517         * tests/test-snprintf-posix.c: New file.
106519         * modules/snprintf-posix: New file.
106520         * m4/snprintf-posix.m4: New file.
106521         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
106522         gl_FUNC_SNPRINTF.
106523         (gl_FUNC_SNPRINTF): Invoke it.
106524         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
106525         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
106526         is set.
106527         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
106529 2007-03-06  Bruno Haible  <bruno@clisp.org>
106531         * modules/vsnprintf-posix-tests: New file.
106532         * tests/test-vsnprintf-posix.c: New file.
106533         * tests/test-snprintf-posix.h: New file.
106535         * modules/vsnprintf-posix: New file.
106536         * m4/vsnprintf-posix.m4: New file.
106537         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
106538         gl_FUNC_VSNPRINTF.
106539         (gl_FUNC_VSNPRINTF): Invoke it.
106540         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
106541         * lib/stdio_.h (vsnprintf): Define as a replacement if
106542         REPLACE_VSNPRINTF is set.
106543         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
106545 2007-03-06  Bruno Haible  <bruno@clisp.org>
106547         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
106548         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
106550 2007-03-06  Bruno Haible  <bruno@clisp.org>
106552         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
106553         (asinl): Declare also if HAVE_DECL_ASINL is set.
106554         (atanl): Declare also if HAVE_DECL_ATANL is set.
106555         (ceill): Declare also if HAVE_DECL_CEILL is set.
106556         (cosl): Declare also if HAVE_DECL_COSL is set.
106557         (expl): Declare also if HAVE_DECL_EXPL is set.
106558         (floorl): Declare also if HAVE_DECL_FLOORL is set.
106559         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
106560         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
106561         (logl): Declare also if HAVE_DECL_LOGL is set.
106562         (sinl): Declare also if HAVE_DECL_SINL is set.
106563         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
106564         (tanl): Declare also if HAVE_DECL_TANL is set.
106565         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
106566         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
106567         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
106568         declaration of frexpl, ldexpl.
106569         * modules/printf-frexpl (Depends-on): Add math.
106570         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
106572 2007-03-05  Bruno Haible  <bruno@clisp.org>
106574         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
106575         frexpl and ldexpl are declared.
106576         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
106578 2007-03-05  Bruno Haible  <bruno@clisp.org>
106580         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
106581         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
106583 2007-03-05  Bruno Haible  <bruno@clisp.org>
106585         * lib/stdio_.h: Include <stddef.h>.
106587 2007-03-05  Bruno Haible  <bruno@clisp.org>
106589         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
106591 2007-03-05  Bruno Haible  <bruno@clisp.org>
106593         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
106594         NetBSD 4, from Ralf Wildenhues.
106596 2007-03-04  Bruno Haible  <bruno@clisp.org>
106598         * lib/vasprintf.h: Update #if logic for the case when the functions
106599         exist but are overridden.
106601 2007-03-04  Bruno Haible  <bruno@clisp.org>
106603         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
106604         implementations: glibc-2.4 and MacOS X 10.3.
106605         * tests/test-vasnprintf-posix.c (test_function): Test also the case
106606         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
106607         * tests/test-vasprintf-posix.c (test_function): Likewise.
106609 2007-03-04  Bruno Haible  <bruno@clisp.org>
106611         * modules/vasprintf-posix-tests: New file.
106612         * tests/test-vasprintf-posix.c: New file.
106614         * modules/vasprintf-posix: New file.
106615         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
106616         defined.
106617         * m4/vasprintf-posix.m4: New file.
106618         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
106619         gl_FUNC_VASPRINTF.
106620         (gl_FUNC_VASPRINTF): Invoke it.
106621         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
106622         here.
106623         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
106625 2007-03-04  Bruno Haible  <bruno@clisp.org>
106627         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
106628         REPLACE_GETTIMEOFDAY.
106629         * modules/sys_time (Makefile.am): Likewise.
106630         * m4/sys_time_h.m4: Likewise.
106631         * m4/gettimeofday.m4: Likewise.
106633 2007-03-04  Bruno Haible  <bruno@clisp.org>
106635         * modules/vasnprintf-posix-tests: New file.
106636         * tests/test-vasnprintf-posix.c: New file.
106638         * modules/vasnprintf-posix: New file.
106639         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
106640         printf-frexpl.h.
106641         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
106642         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
106643         REPLACE_VASNPRINTF is defined.
106644         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
106645         gl_FUNC_VASNPRINTF.
106646         (gl_FUNC_VASNPRINTF): Invoke it.
106647         * m4/vasnprintf-posix.m4: New file.
106648         * m4/printf.m4: New file.
106650 2007-03-04  Bruno Haible  <bruno@clisp.org>
106652         Compile progreloc.c only if --enable-relocatable is specified.
106653         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
106654         if --enable-relocatable was specified.
106655         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
106656         lib_SOURCES.
106658 2007-03-04  Jim Meyering  <jim@meyering.net>
106660         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
106661         Use it consistently, rather than enumerating errno constants.
106663 2007-03-04  Bruno Haible  <bruno@clisp.org>
106665         * modules/xvasprintf-tests: New file.
106666         * tests/test-xvasprintf.c: New file.
106668         * modules/vasprintf-tests: New file.
106669         * tests/test-vasprintf.c: New file.
106671         * modules/vasnprintf-tests: New file.
106672         * tests/test-vasnprintf.c: New file.
106674         * modules/vsnprintf-tests: New file.
106675         * tests/test-vsnprintf.c: New file.
106677         * modules/snprintf-tests: New file.
106678         * tests/test-snprintf.c: New file.
106680 2007-03-04  Bruno Haible  <bruno@clisp.org>
106682         Compile relocatable.c only if --enable-relocatable is specified.
106683         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
106684         gl_RELOCATABLE_LIBRARY.
106685         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
106686         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
106687         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
106688         gl_RELOCATABLE_LIBRARY.
106689         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
106690         (Makefile.am): Remove lib_SOURCES.
106691         * modules/relocatable-lib-lgpl (configure.ac): Invoke
106692         gl_RELOCATABLE_LIBRARY.
106693         (Makefile.am): Remove lib_SOURCES.
106694         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
106695         always.
106696         * modules/relocatable-prog-wrapper (configure.ac): Invoke
106697         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
106699 2007-03-04  Bruno Haible  <bruno@clisp.org>
106701         * modules/argmatch-tests: New file.
106702         * tests/test-argmatch.c: New file.
106704         * tests/test-allocsa.c (main): Halve the number of loop runs.
106706         * modules/alloca-opt-tests: New file.
106707         * tests/test-alloca-opt.c: New file.
106709 2007-03-04  Jim Meyering  <jim@meyering.net>
106711         Work around difference between Linux ACLs and Solaris 10 ZFS.
106712         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
106713         for EINVAL.
106715 2007-03-03  Bruno Haible  <bruno@clisp.org>
106717         * modules/relocatable-prog (Depends-on): Add back progreloc's
106718         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
106720 2007-03-03  Bruno Haible  <bruno@clisp.org>
106722         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
106723         * modules/relocatable-lib: New file.
106725 2007-03-03  Bruno Haible  <bruno@clisp.org>
106727         * modules/relocatable-prog: Renamed from modules/relocatable.
106728         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
106730 2007-03-03  Bruno Haible  <bruno@clisp.org>
106732         * modules/relocatable-script (Files): Add doc/relocatable.texi,
106733         m4/relocatable-lib.m4.
106734         (Depends-on): Remove 'relocatable'.
106735         (configure.ac): Add gl_RELOCATABLE_NOP.
106737 2007-03-03  Bruno Haible  <bruno@clisp.org>
106739         * modules/relocatable-prog-wrapper: New file.
106740         * modules/relocatable (Depends-on): Add it. Remove all other
106741         dependencies except progname.
106742         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
106744         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
106745         (gl_FUNC_STRERROR): Nop.
106746         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
106748         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
106749         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
106751         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
106752         (gl_FUNC_READLINK): Update.
106754         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
106756 2007-03-03  Bruno Haible  <bruno@clisp.org>
106758         * lib/xreadlink.c: Include <unistd.h> unconditionally.
106759         * modules/xreadlink (Depends-on): Add unistd.
106760         * modules/xreadlink-with-size (Depends-on): Likewise.
106762 2007-03-03  Bruno Haible  <bruno@clisp.org>
106764         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
106765         extracted from gt_FUNC_SETENV.
106766         (gt_FUNC_SETENV): Remove macro.
106767         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
106768         remove gt_FUNC_SETENV.
106770 2007-03-03  Bruno Haible  <bruno@clisp.org>
106772         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
106773         ENABLE_RELOCATABLE here.
106774         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
106776 2007-03-03  Bruno Haible  <bruno@clisp.org>
106778         * modules/rbtreehash-list-tests (Depends-on): Add progname.
106779         * tests/test-rbtreehash_list.c: Include progname.h.
106780         (main): Call set_program_name.
106782         * modules/rbtree-oset-tests (Depends-on): Add progname.
106783         * tests/test-rbtree_oset.c: Include progname.h.
106784         (main): Call set_program_name.
106786         * modules/rbtree-list-tests (Depends-on): Add progname.
106787         * tests/test-rbtree_list.c: Include progname.h.
106788         (main): Call set_program_name.
106790         * modules/linked-list-tests (Depends-on): Add progname.
106791         * tests/test-linked_list.c: Include progname.h.
106792         (main): Call set_program_name.
106794 2007-03-03  Bruno Haible  <bruno@clisp.org>
106796         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
106797         All uses of __restrict changed to _Restrict_.
106798         * lib/glob_.h (__restrict): Remove macro.
106800 2007-03-02  Bruno Haible  <bruno@clisp.org>
106802         * modules/gettext (configure.ac): Require gettext infrastructure
106803         from version 0.16.1.
106805 2007-03-02  Bruno Haible  <bruno@clisp.org>
106807         * modules/linkedhash-list-tests (Depends-on): Add progname.
106808         * tests/test-linkedhash_list.c: Include progname.h.
106809         (main): Call set_program_name.
106811         * modules/carray-list-tests (Depends-on): Add progname.
106812         * tests/test-carray_list.c: Include progname.h.
106813         (main): Call set_program_name.
106815         * modules/avltreehash-list-tests (Depends-on): Add progname.
106816         * tests/test-avltreehash_list.c: Include progname.h.
106817         (main): Call set_program_name.
106819         * modules/avltree-oset-tests (Depends-on): Add progname.
106820         * tests/test-avltree_oset.c: Include progname.h.
106821         (main): Call set_program_name.
106823         * modules/avltree-list-tests (Depends-on): Add progname.
106824         * tests/test-avltree_list.c: Include progname.h.
106825         (main): Call set_program_name.
106827         * modules/array-oset-tests (Depends-on): Add progname.
106828         * tests/test-array_oset.c: Include progname.h.
106829         (main): Call set_program_name.
106831         * modules/array-list-tests (Depends-on): Add progname.
106832         * tests/test-array_list.c: Include progname.h.
106833         (main): Call set_program_name.
106835         * modules/argp-tests (Depends-on): Add progname.
106836         * tests/test-argp.c: Include argp.h first. Include progname.h.
106837         (main): Call set_program_name.
106839 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
106841         * doc/gnulib-tool.texi (Initial import): Reword description of
106842         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
106843         limited effect even if defined after the first system include.
106845 2007-03-01  Bruno Haible  <bruno@clisp.org>
106847         * build-aux/config.libpath: Update to libtool-1.5.22.
106848         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
106850 2007-03-01  Bruno Haible  <bruno@clisp.org>
106852         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
106853         foo_CFLAGS.
106854         Reported by Ralf Wildenhues.
106856 2007-03-01  Bruno Haible  <bruno@clisp.org>
106858         * build-aux/install-reloc: Remove object files left over by some
106859         compilers.
106860         Reported by Ralf Wildenhues.
106862 2007-03-01  Bruno Haible  <bruno@clisp.org>
106864         * build-aux/install-reloc: Break long lines.
106866 2007-03-01  Bruno Haible  <bruno@clisp.org>
106868         * doc/relocatable.texi: Document that it may not work on OpenBSD.
106869         Reported by Ralf Wildenhues.
106871 2007-03-01  Bruno Haible  <bruno@clisp.org>
106873         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
106874         include ordering constraints.
106876 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106878         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
106879         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
106880         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
106881         as another example.
106882         * lib/time_.h: Fix misspelling.
106883         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
106884         Require gl_HEADER_TIME_H_DEFAULTS.
106885         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
106886         * m4/time_r.m4 (gl_TIME_R): Likewise.
106887         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
106889 2007-03-01  Bruno Haible  <bruno@clisp.org>
106891         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
106892         * m4/utimens.m4 (gl_UTIMENS): Likewise.
106894 2007-03-01  Jim Meyering  <jim@meyering.net>
106896         * modules/xreadlink (Maintainer): Add my name.
106897         * modules/xreadlink-with-size (Depends-on): Alphabetize.
106899 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
106900             Bruno Haible  <bruno@clisp.org>
106902         * build-aux/install-reloc: Compile also c-ctype.c.
106903         * build-aux/relocatable.sh.in: New file.
106904         * doc/relocatable.texi: New file.
106905         * doc/relocatable-maint.texi: New file.
106906         * doc/gnulib.texi: Include relocatable-maint.texi.
106907         * lib/progreloc.c: Include unistd.h unconditionally.
106908         * lib/relocwrapper.c: Include unistd.h unconditionally.
106909         Include c-ctype.h.
106910         (add_dotbin): Use c_tolower.
106911         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
106912         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
106913         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
106914         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
106915         to m4/relocatable-lib.m4.
106916         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
106917         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
106918         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
106919         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
106920         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
106921         * modules/relocatable: New file.
106922         * modules/relocatable-lib: New file.
106923         * modules/relocatable-script: New file.
106925 2007-02-28  Bruno Haible  <bruno@clisp.org>
106927         Import --enable-relocatable infrastructure.
106928         * build-aux/config.libpath: New file, from GNU gettext.
106929         * build-aux/install-reloc: New file, from GNU gettext.
106930         * build-aux/reloc-ldflags: New file, from GNU gettext.
106931         * lib/relocatable.h: New file, from GNU gettext.
106932         * lib/relocatable.c: New file, from GNU gettext.
106933         * lib/relocwrapper.c: New file, from GNU gettext.
106934         * m4/relocatable.m4: New file, from GNU gettext.
106936 2007-02-28  Bruno Haible  <bruno@clisp.org>
106938         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
106940         * modules/xreadlink: New file, from GNU gettext with modifications.
106941         * lib/xreadlink.c: New file, from GNU gettext.
106942         * lib/xreadlink.h: Add comments.
106943         (xreadlink): New declaration.
106945         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
106946         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
106947         lib/xreadlink-with-size.c.
106948         (configure.ac): Remove gl_XREADLINK invocation.
106949         (Makefile.am): Augment lib_SOURCES.
106950         * m4/xreadlink.m4: Remove file.
106951         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
106952         (xreadlink_with_size): Renamed from xreadink.
106953         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
106954         * modules/canonicalize (Depends-on): Replace xreadlink with
106955         xreadlink-with-size.
106956         * lib/canonicalize.c (canonicalize_filename_mode): Update.
106958 2007-02-25  Jim Meyering  <jim@meyering.net>
106960         * build-aux/announce-gen: When complaining about excess arguments,
106961         list them.
106963 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106965         * README: Document signed integer overflow situation more
106966         accurately.
106968 2007-02-25  Bruno Haible  <bruno@clisp.org>
106970         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
106971         'a' or 'A' conversion.
106973 2007-02-25  Bruno Haible  <bruno@clisp.org>
106975         * modules/filename: Renamed from modules/pathname.
106976         (Files): Replace lib/pathname.h with lib/filename.h. Replace
106977         lib/concatpath.c with lib/concat-filename.c.
106978         (Makefile.am): Update.
106979         (Include): Replace pathname.h with filename.h.
106980         * lib/filename.h: Renamed from lib/pathname.h.
106981         (concatenated_filename): Renamed from concatenated_pathname.
106982         * lib/concat-filename.c: Renamed from lib/concatpath.c.
106983         (concatenated_filename): Renamed from concatenated_pathname.
106984         * lib/findprog.c: Include filename.h instead of pathname.h.
106985         (find_in_path): Update.
106986         * lib/javacomp.c: Include filename.h instead of pathname.h.
106987         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
106988         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
106989         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
106990         is_oldgcj_14_13_usable, is_javac_usable): Update.
106991         * lib/javaexec.c: Include filename.h instead of pathname.h.
106992         (execute_java_class): Update.
106993         * modules/findprog: Update.
106994         * modules/javacomp: Update.
106995         * modules/javaexec: Update.
106996         * MODULES.html.sh (File system functions): Add 'filename', remove
106997         'pathname'.
106999 2007-02-25  Bruno Haible  <bruno@clisp.org>
107001         * modules/printf-frexpl-tests: New file.
107002         * tests/test-printf-frexpl.c: New file.
107004         * modules/printf-frexpl: New file.
107005         * lib/printf-frexpl.h: New file.
107006         * lib/printf-frexpl.c: New file.
107007         * m4/printf-frexpl.m4: New file.
107009 2007-02-25  Bruno Haible  <bruno@clisp.org>
107011         * modules/printf-frexp-tests: New file.
107012         * tests/test-printf-frexp.c: New file.
107014         * modules/printf-frexp: New file.
107015         * lib/printf-frexp.h: New file.
107016         * lib/printf-frexp.c: New file.
107017         * m4/printf-frexp.m4: New file.
107019 2007-02-25  Bruno Haible  <bruno@clisp.org>
107021         Assume automake >= 1.10 for the tests.
107022         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
107023         * modules/arctwo-tests: Likewise.
107024         * modules/argp-tests: Likewise.
107025         * modules/avltree-list-tests: Likewise.
107026         * modules/avltree-oset-tests: Likewise.
107027         * modules/avltreehash-list-tests: Likewise.
107028         * modules/carray-list-tests: Likewise.
107029         * modules/crc-tests: Likewise.
107030         * modules/des-tests: Likewise.
107031         * modules/gc-arcfour-tests: Likewise.
107032         * modules/gc-arctwo-tests: Likewise.
107033         * modules/gc-des-tests: Likewise.
107034         * modules/gc-hmac-md5-tests: Likewise.
107035         * modules/gc-hmac-sha1-tests: Likewise.
107036         * modules/gc-md2-tests: Likewise.
107037         * modules/gc-md4-tests: Likewise.
107038         * modules/gc-md5-tests: Likewise.
107039         * modules/gc-pbkdf2-sha1-tests: Likewise.
107040         * modules/gc-rijndael-tests: Likewise.
107041         * modules/gc-sha1-tests: Likewise.
107042         * modules/gc-tests: Likewise.
107043         * modules/getaddrinfo-tests: Likewise.
107044         * modules/hmac-md5-tests: Likewise.
107045         * modules/hmac-sha1-tests: Likewise.
107046         * modules/linked-list-tests: Likewise.
107047         * modules/linkedhash-list-tests: Likewise.
107048         * modules/lock-tests: Likewise.
107049         * modules/md2-tests: Likewise.
107050         * modules/md4-tests: Likewise.
107051         * modules/md5-tests: Likewise.
107052         * modules/rbtree-list-tests: Likewise.
107053         * modules/rbtree-oset-tests: Likewise.
107054         * modules/rbtreehash-list-tests: Likewise.
107055         * modules/read-file-tests: Likewise.
107056         * modules/rijndael-tests: Likewise.
107057         * modules/stdint-tests: Likewise.
107058         * modules/tls-tests: Likewise.
107060 2007-02-24  Bruno Haible  <bruno@clisp.org>
107062         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
107063         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
107064         function; instead check whether isnan with a double argument links.
107065         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
107066         function; instead check whether isnan with a 'long double' argument
107067         links.
107068         Reported by Eric Blake <ebb9@byu.net>.
107070 2007-02-24  Bruno Haible  <bruno@clisp.org>
107072         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
107073         defined.
107074         * lib/isnanl.c: Remove all code. Just include isnan.c.
107075         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
107077 2007-02-25  Jim Meyering  <jim@meyering.net>
107079         Avoid conflicting types for 'unsetenv' on FreeBSD.
107080         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
107081         conflicting with FreeBSD's (5.0 and 6.1) function declaration
107082         in stdlib.h.
107084 2007-02-24  Bruno Haible  <bruno@clisp.org>
107086         * modules/isnanl-nolibm-tests: New file.
107087         * tests/test-isnanl.c: New file.
107089         * modules/isnanl-nolibm: New file.
107090         * lib/isnanl.h: New file.
107091         * lib/isnanl.c: New file.
107092         * m4/isnanl.m4: New file.
107094 2007-02-24  Bruno Haible  <bruno@clisp.org>
107096         * modules/isnan-nolibm-tests: New file.
107097         * tests/test-isnan.c: New file.
107099         * modules/isnan-nolibm: New file.
107100         * lib/isnan.h: New file.
107101         * lib/isnan.c: New file.
107102         * m4/isnan.m4: New file.
107104 2007-02-24  Bruno Haible  <bruno@clisp.org>
107106         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
107107         assume that an exponent fits in 20 bits.
107109 2007-02-24  Jim Meyering  <jim@meyering.net>
107111         * m4/regex.m4: Update the description of the configure-time option,
107112         --without-included-regex, to state accurately what the defaults are,
107113         and perhaps to give people an idea why using this option is risky.
107115 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
107117         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
107118         loops on small arguments.  This attempts to avoid the problem
107119         Bruno Haible reported for AIX 4.3.2 in
107120         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
107122 2007-02-23  Bruno Haible  <bruno@clisp.org>
107124         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
107125         Needed for help2man.
107127 2007-02-23  Karl Berry  <karl@gnu.org>
107129         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
107130         exists, foo.h should be cvs-ignored, not committed.
107132 2007-02-23  Eric Blake  <ebb9@byu.net>
107134         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
107135         * lib/stat-time.h (includes): Likewise.
107136         * lib/utimecmp.c (includes): Likewise.
107137         * lib/utimens.h (includes): Likewise.
107138         * lib/getdate.y (includes): Also include "timespec.h" for use
107139         internal to the module.
107140         * modules/utimens (Depends-on): Revert yesterday's patch.
107141         * modules/nanosleep (Depends-on): Add missing dependency.
107143 2007-02-22  Bruno Haible  <bruno@clisp.org>
107145         * lib/glob.c: Don't include getlogin_r.h.
107147 2007-02-22  Jim Meyering  <jim@meyering.net>
107149         * modules/utimens (Depends-on): Add timespec, required for
107150         utimens.h's inclusion of timespec.h.
107152 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
107154         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
107155         long unreadable paths in GNU/Linux.  Problem reported by Andreas
107156         Schwab in
107157         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
107158         I'll try to think of a better way to fix the Solaris problem.
107160         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
107161         like glibc; on Solaris 10, it fails with errno == EINVAL.
107162         POSIX says the behavior is unspecified if the first argument is NULL,
107163         so play it safe and never pass NULL to the system getcwd.
107165 2007-02-21  Jim Meyering  <jim@meyering.net>
107167         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
107168         of gettimeofday.  It would conflict with the one now always
107169         provided via sys_time_.h.  Reported by Matthew Woehlke, as
107170         an IRIX 6.5 build failure.
107172 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
107174         Minor fixups to port to Solaris 10 with Sun C 5.8.
107175         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
107176         * modules/getcwd (Depends-on): Add dirfd.
107177         * lib/putenv.c (putenv): #undef it.
107178         (rpl_putenv): New decl.
107179         (malloc, free): Include <stdlib.h> rather than prototyping separately.
107181 2007-02-20  Bruno Haible  <bruno@clisp.org>
107183         * modules/stdio-tests: New file.
107184         * tests/test-stdio.c: New file.
107186         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
107187         (Depends-on): Add stdio.
107188         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107189         (Include): Use <stdio.h> instead of vsnprintf.h.
107190         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107191         HAVE_DECL_VSNPRINTF.
107192         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
107194         * modules/snprintf (Files): Remove lib/snprintf.h.
107195         (Depends-on): Add stdio.
107196         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107197         (Include): Use <stdio.h> instead of snprintf.h.
107198         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107199         HAVE_DECL_SNPRINTF.
107200         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
107201         * lib/getaddrinfo.c: Likewise.
107203         * modules/stdio: New file.
107204         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
107205         * lib/snprintf.h: Remove file.
107206         * lib/vsnprintf.h: Remove file.
107207         * lib/.cppi-disable: Remove snprintf.h.
107208         * m4/stdio_h.m4: New file.
107209         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
107211 2007-02-20  Jim Meyering  <jim@meyering.net>
107213         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
107214         used by e.g., mingw.  From Bruno Haible.
107216 2007-02-19  Bruno Haible  <bruno@clisp.org>
107218         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
107219         warnings.
107220         Reported by Ben Pfaff <blp@cs.stanford.edu>.
107222 2007-02-19  Bruno Haible  <bruno@clisp.org>
107224         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
107225         from mingw users.
107227 2007-02-19  Bruno Haible  <bruno@clisp.org>
107229         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
107230         warnings.
107231         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
107233 2007-02-19  Jim Meyering  <jim@meyering.net>
107235         Don't use FD after a successful "fdopendir (fd)".
107236         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
107237         Reset it by calling dirfd on the just-obtained DIR*.
107239         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
107240         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
107242 2007-02-18  Bruno Haible  <bruno@clisp.org>
107244         * lib/readlink.c: Include <unistd.h>.
107245         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
107246         HAVE_READLINK.
107247         * modules/readlink (Depends-on): Add unistd.
107248         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107249         (Include): Add <unistd.h>.
107251         * lib/getlogin_r.h: Remove file.
107252         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
107253         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
107254         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
107255         HAVE_DECL_GETLOGIN_R.
107256         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
107257         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107258         (Include): Use <unistd.h> instead of getlogin_r.h.
107260         * lib/getcwd.h: Remove file.
107261         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
107262         * lib/xgetcwd.c: Likewise.
107263         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
107264         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
107265         * modules/getcwd (Files): Remove lib/getcwd.h.
107266         (Depends-on): Add unistd.
107267         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107268         (Include): Use <unistd.h> instad of getcwd.h.
107270         * lib/ftruncate.c: Include <unistd.h> first.
107271         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
107272         Set HAVE_FTRUNCATE.
107273         * modules/ftruncate (Depends-on): Add unistd.
107274         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107276         * lib/fchdir.c: Include <unistd.h> first.
107277         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
107278         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
107279         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
107280         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107281         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
107283         * lib/dup2.c: Include <unistd.h> first.
107284         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
107285         HAVE_DUP2.
107286         * modules/dup2 (Depends-on): Add unistd.
107287         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107289         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
107290         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
107291         REPLACE_CHOWN. Don't define chown as a macro here.
107292         * modules/chown (Depends-on): Add unistd.
107293         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107295         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
107296         Add definition for GL_LINK_WARNING.
107297         (chown, dup2): New declarations.
107298         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
107299         link warning.
107300         (ftruncate): New declaration.
107301         (getcwd): New declaration, taken from old getcwd.h.
107302         (getlogin_r): New declaration, taken from old getlogin_r.h.
107303         (readlink): New declaration.
107304         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
107305         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
107306         (gl_PREREQ_UNISTD): Remove macro.
107307         (gl_UNISTD_MODULE_INDICATOR): New macro.
107308         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
107309         many new variables. Don't set UNISTD_H.
107310         * modules/unistd (Description): Change.
107311         (Depends-on): Add link-warning.
107312         (configure.ac): Update.
107313         (Makefile.am): Create unistd.h always. Substitute many new variables
107314         into it.
107316 2007-02-18  Bruno Haible  <bruno@clisp.org>
107318         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
107319         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
107320         HAVE_GETSUBOPT.
107321         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
107322         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
107323         * lib/getsubopt.h: Remove file.
107324         * modules/getsubopt (Files): Remove lib/getsubopt.h.
107325         (Depends-on): Add stdlib.
107326         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107327         (Includes): Use <stdlib.h> instead of getsubopt.h.
107328         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
107329         Set HAVE_GETSUBOPT.
107330         * lib/getsubopt.c: Don't include getsubopt.h.
107332 2007-02-18  Bruno Haible  <bruno@clisp.org>
107334         * modules/fchdir (Depends-on): Add dup2.
107336 2007-02-18  Bruno Haible  <bruno@clisp.org>
107338         * lib/stdlib_.h: Handle glibc's special invocation convention
107339         specially.
107341 2007-02-18  Bruno Haible  <bruno@clisp.org>
107343         * modules/stdlib-tests: New file.
107344         * tests/test-stdlib.c: New file.
107346         * modules/mkstemp (Files): Remove lib/mkstemp.h.
107347         (Depends-on): Add stdlib.
107348         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107349         (Includes): Use <stdlib.h> instead of mkstemp.h.
107350         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
107351         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
107352         * lib/mkstemp.c: Don't include mkstemp.h.
107353         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
107354         * lib/stdlib--.h: Don't include mkstemp.h.
107356         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
107357         (Depends-on): Add stdlib.
107358         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107359         (Includes): Use <stdlib.h> instead of mkdtemp.h.
107360         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
107361         HAVE_MKDTEMP.
107362         * lib/mkdtemp.c: Don't include mkdtemp.h.
107363         * lib/clean-temp.c: Don't include mkdtemp.h.
107365         * modules/exit (Files): Remove lib/exit.h.
107366         (Depends-on): Add stdlib.
107367         (Makefile.am): Remove lib_SOURCES.
107368         (Include): Use <stdlib.h> instead of exit.h.
107369         * lib/argmatch.c: Don't include exit.h.
107370         * lib/execute.c: Likewise.
107371         * lib/pagealign_alloc.c: Likewise.
107372         * lib/pipe.c: Likewise.
107373         * lib/wait-process.c: Likewise.
107374         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
107375         * lib/exitfail.c: Likewise.
107376         * lib/savewd.c: Likewise.
107377         * lib/xsetenv.c: Likewise.
107379         * modules/stdlib: New file.
107380         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
107381         and extra comments about mkstemp().
107382         * lib/exit.h: Remove file.
107383         * lib/mkdtemp.h: Remove file.
107384         * lib/mkstemp.h: Remove file.
107385         * m4/stdlib_h.m4: New file.
107386         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
107388 2007-02-18  Bruno Haible  <bruno@clisp.org>
107390         * modules/math-tests: New file.
107391         * tests/test-math.c: New file.
107393         * modules/math: New file.
107394         * modules/mathl (Files): Remove lib/mathl.h.
107395         (Depends-on): Add math.
107396         (Makefile.am): Don't mention mathl.h.
107397         (Include): Use <math.h> instead of mathl.h.
107398         * lib/math_.h: New file.
107399         * lib/mathl.h: Remove file.
107400         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
107401         mathl.h.
107402         * lib/asinl.c: Likewise.
107403         * lib/atanl.c: Likewise.
107404         * lib/ceill.c: Likewise.
107405         * lib/cosl.c: Likewise.
107406         * lib/expl.c: Likewise.
107407         * lib/floorl.c: Likewise.
107408         * lib/frexpl.c: Likewise.
107409         * lib/ldexpl.c: Likewise.
107410         * lib/logl.c: Likewise.
107411         * lib/sincosl.c: Likewise.
107412         * lib/sinl.c: Likewise.
107413         * lib/sqrtl.c: Likewise.
107414         * lib/tanl.c: Likewise.
107415         * lib/trigl.c: Likewise.
107416         * m4/math_h.m4: New file.
107417         * MODULES.html.sh (Mathematics): Add math.
107419 2007-02-17  Bruno Haible  <bruno@clisp.org>
107421         * modules/wctype-tests: New file.
107422         * tests/test-wctype.c: New file.
107424         * modules/wchar-tests: New file.
107425         * tests/test-wchar.c: New file.
107427         * modules/unistd-tests: New file.
107428         * tests/test-unistd.c: New file.
107430         * modules/time-tests: New file.
107431         * tests/test-time.c: New file.
107433         * modules/sysexits-tests: New file.
107434         * tests/test-sysexits.c: New file.
107436         * modules/sys_time-tests: New file.
107437         * tests/test-sys_time.c: New file.
107439         * modules/sys_stat-tests: New file.
107440         * tests/test-sys_stat.c: New file.
107442         * modules/sys_socket-tests: New file.
107443         * tests/test-sys_socket.c: New file.
107445         * modules/sys_select-tests: New file.
107446         * tests/test-sys_select.c: New file.
107448         * modules/string-tests: New file.
107449         * tests/test-string.c: New file.
107451         * modules/stdbool-tests: New file.
107452         * tests/test-stdbool.c: New file.
107454         * modules/netinet_in-tests: New file.
107455         * tests/test-netinet_in.c: New file.
107457         * modules/inttypes-tests: New file.
107458         * tests/test-inttypes.c: New file.
107460         * modules/fcntl-tests: New file.
107461         * tests/test-fcntl.c: New file.
107463         * modules/byteswap-tests: New file.
107464         * tests/test-byteswap.c: New file.
107466         * modules/arpa_inet-tests: New file.
107467         * tests/test-arpa_inet.c: New file.
107469 2007-02-17  Bruno Haible  <bruno@clisp.org>
107471         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
107472         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
107473         if the corresponding module is not enabled. Emit link warnings if
107474         the function is used nevertheless.
107475         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
107476         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
107477         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
107478         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
107479         * modules/inttypes (Depends-on): Add link-warning.
107480         (Makefile.am): Copy the contents of build-aux/link-warning.h into
107481         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
107482         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
107483         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
107484         * modules/imaxdiv (configure.ac): Likewise.
107485         * modules/strtoimax (configure.ac): Likewise.
107486         * modules/strtoumax (configure.ac): Likewise.
107488 2007-02-17  Bruno Haible  <bruno@clisp.org>
107490         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
107491         gl_STRING_MODULE_INDICATOR_DEFAULTS.
107492         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
107493         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
107495 2007-02-17  Bruno Haible  <bruno@clisp.org>
107497         * modules/link-warning: New file.
107498         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
107499         * lib/string_.h (GL_LINK_WARNING): Remove definition.
107500         * modules/string (Depends-on): Add link-warning.
107501         (Makefile.am): Copy the contents of build-aux/link-warning.h into
107502         string.h.
107503         * MODULES.html.sh (Support for building libraries and executables): Add
107504         link-warning.
107506 2007-02-17  Bruno Haible  <bruno@clisp.org>
107508         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
107509         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
107510         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
107511         long lines.
107513 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
107514             Bruno Haible  <bruno@clisp.org>
107516         * modules/tmpfile: New file.
107517         * lib/tmpfile.c: New file.
107518         * m4/tmpfile.m4: New file.
107519         * MODULES.html.sh (func_all_modules): New section "Input/output".
107521 2007-02-15  Bruno Haible  <bruno@clisp.org>
107523         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
107524         (supports_delete_on_close): New function.
107525         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
107527 2007-02-14  Bruno Haible  <bruno@clisp.org>
107529         * modules/mbspcasecmp-tests: New file.
107530         * tests/test-mbspcasecmp.sh: New file.
107531         * tests/test-mbspcasecmp.c: New file.
107533         New module mbspcasecmp.
107534         * modules/mbspcasecmp: New file.
107535         * lib/mbspcasecmp.c: New file.
107536         * lib/string_.h (strncasecmp): Change warning message.
107537         (mbspcasecmp): New declaration.
107538         * m4/mbspcasecmp.m4: New file.
107539         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107540         GNULIB_MBSPCASECMP.
107541         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
107542         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
107544 2007-02-14  Bruno Haible  <bruno@clisp.org>
107546         * modules/mbsncasecmp-tests: New file.
107547         * tests/test-mbsncasecmp.sh: New file.
107548         * tests/test-mbsncasecmp.c: New file.
107550         New module mbsncasecmp.
107551         * modules/mbsncasecmp: New file.
107552         * lib/mbsncasecmp.c: New file.
107553         * lib/string_.h (mbsncasecmp): New declaration.
107554         * m4/mbsncasecmp.m4: New file.
107555         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107556         GNULIB_MBSNCASECMP.
107557         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
107558         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
107560 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
107562         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
107563         Verify that it doesn't overlap with our flags.
107564         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
107565         do not have the desired effect in multibyte locales; instead, use
107566         mbscasecmp.
107567         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
107568         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
107569         we don't require GNU fnmatch ourselves (if our users require it, they
107570         should do so explicitly).
107572         Fix regex code so it doesn't rely on strcasecmp.
107573         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
107574         Otherwise, include gnulib's langinfo.h.
107575         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
107576         undesirable behavior in non-C locales.  Instead, rely on localecharset.
107577         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
107578         * modules/regex (FILES): Remove m4/codeset.m4.
107579         (Depends-on): Add localcharset.  Remove strcase.
107581 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107583         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
107584         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
107586 2007-02-13  Bruno Haible  <bruno@clisp.org>
107588         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
107589         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107591 2007-02-12  Bruno Haible  <bruno@clisp.org>
107593         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
107594         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
107595         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
107596         time warning rather than a link error.
107598 2007-02-12  Bruno Haible  <bruno@clisp.org>
107600         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
107601         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
107602         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107604 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
107606         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
107607         args, not 2.
107609 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
107611         New module 'time', so that apps can include <time.h> as per
107612         POSIX and GNU instead of separate include files like time_r.h
107613         and timegm.h.  This implementation tries out a simpler approach
107614         for replacing decls in standard include files (as compared to
107615         the string module), somewhat as an experiment.
107617         * config/srclist.txt: Comment out mktime.c for now.
107618         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
107619         since it doesn't apply any more.  Use generic wording instead.
107620         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
107621         'time'.
107622         * lib/time_.h, m4/time_h.m4, modules/time: New files.
107623         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
107624         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
107625         Don't include <sys/types.h>; no longer needed since we assume C89.
107626         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
107627         * lib/strftime.c: Likewise.
107628         * lib/time_r.c: Likewise.
107629         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
107630         * lib/nanosleep.c: Include <time.h> first, to check interface.
107631         * lib/strptime.c: Likewise.
107632         * lib/time_r.c: Likewise.
107633         * lib/timegm.c: Likewise.
107634         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
107635         needed.
107636         * lib/timegm.c: Don't include timegm.h; no longer needed.
107637         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
107638         time.h now handles any problems in that area.
107639         (struct timespec, nanosleep): Remove; time.h now arranges for these.
107640         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
107641         that time.h defines struct timespec.
107642         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
107643         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
107644         handles that.
107645         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
107646         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
107647         needed.  Set REPLACE_LOCALTIME.
107648         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
107649         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
107650         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
107651         nanosleep; time_h.m4 now does that.  Don't require
107652         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
107653         module handles this now.
107654         * modules/getdate (Depends-on): Remove timespec.  Add time.
107655         * modules/nanosleep (Depends-on): Likewise.
107656         * modules/stat-time (Depends-on): Likewise.
107657         * modules/nanosleep (Include): Include time.h, not timespec.h.
107658         * modules/strptime (Files): Remove lib/strptime.h.
107659         (Depends-on): Add extensions, time.
107660         (Include): Include time.h, not strptime.h.
107661         * modules/time_r (Files): Remove lib/time_r.h.
107662         (Depends-on): Add time.
107663         (Include): Include time.h, not time_r.h.
107664         * modules/timegm: Likewise.
107665         * modules/timespec (Description): Now does timespec-related decls
107666         of our own, instead of struct timespec itself.
107667         (Depends-on): Add time; remove extensions.
107668         (Maintainer): Add self.
107669         * modules/utimecmp (Depends-on): Add time; remove timespec.
107670         * modules/utimens (Depends-on): Likewise.
107671         * modules/xnanosleep (Depends-on): Likewise.
107673 2007-02-11  Bruno Haible  <bruno@clisp.org>
107675         * lib/c-strstr.c: Include allocsa.h.
107676         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107677         * lib/c-strcasestr.c: Include allocsa.h.
107678         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107679         * lib/strcasestr.c: Include allocsa.h.
107680         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107681         * lib/mbsstr.c: Include allocsa.h.
107682         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
107683         allocsa/freesa instead of malloc/free.
107684         * lib/mbscasestr.c: Include allocsa.h.
107685         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
107686         allocsa/freesa instead of malloc/free.
107687         * modules/c-strstr (Depends-on): Add allocsa.
107688         * modules/c-strcasestr (Depends-on): Likewise.
107689         * modules/strcasestr (Depends-on): Likewise.
107690         * modules/mbsstr (Depends-on): Likewise.
107691         * modules/mbscasestr (Depends-on): Likewise.
107693 2007-02-11  Bruno Haible  <bruno@clisp.org>
107695         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
107697         * modules/mbsspn-tests: New file.
107698         * tests/test-mbsspn.sh: New file.
107699         * tests/test-mbsspn.c: New file.
107701 2007-02-11  Bruno Haible  <bruno@clisp.org>
107703         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
107705         * modules/mbspbrk-tests: New file.
107706         * tests/test-mbspbrk.sh: New file.
107707         * tests/test-mbspbrk.c: New file.
107709 2007-02-11  Bruno Haible  <bruno@clisp.org>
107711         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
107712         unneeded cast.
107714         * modules/mbscspn-tests: New file.
107715         * tests/test-mbscspn.sh: New file.
107716         * tests/test-mbscspn.c: New file.
107718 2007-02-11  Bruno Haible  <bruno@clisp.org>
107720         * modules/mbscasecmp-tests: New file.
107721         * tests/test-mbscasecmp.sh: New file.
107722         * tests/test-mbscasecmp.c: New file.
107724 2007-02-11  Bruno Haible  <bruno@clisp.org>
107726         Ensure O(n) worst-case complexity of mbscasestr.
107727         * lib/mbscasestr.c: Include stdbool.h.
107728         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
107729         functions.
107730         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
107731         the bookkeeping indicates that it's worth it.
107732         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
107734         * modules/mbscasestr-tests: New file.
107735         * tests/test-mbscasestr1.c: New file.
107736         * tests/test-mbscasestr2.sh: New file.
107737         * tests/test-mbscasestr2.c: New file.
107738         * tests/test-mbscasestr3.sh: New file.
107739         * tests/test-mbscasestr3.c: New file.
107740         * tests/test-mbscasestr4.sh: New file.
107741         * tests/test-mbscasestr4.c: New file.
107742         * m4/locale-tr.m4: New file.
107744 2007-02-11  Bruno Haible  <bruno@clisp.org>
107746         Ensure O(n) worst-case complexity of mbsstr.
107747         * lib/mbsstr.c: Include stdbool.h.
107748         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
107749         functions.
107750         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
107751         bookkeeping indicates that it's worth it.
107752         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
107754         * modules/mbsstr-tests: New file.
107755         * tests/test-mbsstr1.c: New file.
107756         * tests/test-mbsstr2.sh: New file.
107757         * tests/test-mbsstr2.c: New file.
107758         * tests/test-mbsstr3.sh: New file.
107759         * tests/test-mbsstr3.c: New file.
107760         * m4/locale-fr.m4: New file.
107762 2007-02-11  Bruno Haible  <bruno@clisp.org>
107764         * lib/mbsrchr.c (mbsrchr): Fix bug.
107766         * modules/mbsrchr-tests: New file.
107767         * tests/test-mbsrchr.sh: New file.
107768         * tests/test-mbsrchr.c: New file.
107770 2007-02-11  Bruno Haible  <bruno@clisp.org>
107772         * lib/mbschr.c (mbschr): Fix bug.
107774         * modules/mbschr-tests: New file.
107775         * tests/test-mbschr.sh: New file.
107776         * tests/test-mbschr.c: New file.
107777         * m4/locale-zh.m4: New file.
107779 2007-02-11  Bruno Haible  <bruno@clisp.org>
107781         Support for copying multibyte string iterators.
107782         * lib/mbiter.h: Include <string.h>.
107783         (mbiter_multi_copy): New function.
107784         (mbi_copy): New macro.
107785         * lib/mbuiter.h: Include <string.h>.
107786         (mbuiter_multi_copy): New function.
107787         (mbui_copy): New macro.
107789 2007-02-11  Bruno Haible  <bruno@clisp.org>
107791         New module mbslen.
107792         * modules/mbslen: New file.
107793         * lib/mbslen.c: New file.
107794         * lib/string_.h (mbslen): New declaration.
107795         * m4/mbslen.m4: New file.
107796         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107797         GNULIB_MBSLEN.
107798         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
107799         * MODULES.html.sh (Internationalization functions): Add mbslen.
107801 2007-02-11  Bruno Haible  <bruno@clisp.org>
107803         Ensure O(n) worst-case complexity of strcasestr substitute.
107804         * lib/strcasestr.c: Include stdbool.h.
107805         (knuth_morris_pratt): New function.
107806         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
107807         bookkeeping indicates that it's worth it.
107808         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
107810         * modules/strcasestr-tests: New file.
107811         * tests/test-strcasestr.c: New file.
107813 2007-02-11  Bruno Haible  <bruno@clisp.org>
107815         Ensure O(n) worst-case complexity of c_strcasestr.
107816         * lib/c-strcasestr.c: Include stdbool.h, string.h.
107817         (knuth_morris_pratt): New function.
107818         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
107819         the bookkeeping indicates that it's worth it.
107820         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
107822         * modules/c-strcasestr-tests: New file.
107823         * tests/test-c-strcasestr.c: New file.
107825 2007-02-11  Bruno Haible  <bruno@clisp.org>
107827         Ensure O(n) worst-case complexity of c_strstr.
107828         * lib/c-strstr.c: Include stdbool.h, string.h.
107829         (knuth_morris_pratt): New function.
107830         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
107831         bookkeeping indicates that it's worth it.
107832         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
107834         * lib/c-strstr.c: Complete rewrite for maintainability.
107836         * modules/c-strstr-tests: New file.
107837         * tests/test-c-strstr.c: New file.
107839 2007-02-11  Bruno Haible  <bruno@clisp.org>
107841         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
107842         5.2.1 and earlier, whereby \055 was treated just like the range
107843         delimiter '-'.
107844         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
107846 2007-02-08  Bruno Haible  <bruno@clisp.org>
107848         * modules/regex (Depends-on): Add stdbool.
107849         Reported by Dalibor Topic <robilad@kaffe.org>.
107851 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
107853         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
107854         Prefer returning from main to exiting from it.
107855         Remove unnecessary parens after sizeof.
107857 2007-02-05  Bruno Haible  <bruno@clisp.org>
107859         New module mbssep.
107860         * modules/mbssep: New file.
107861         * lib/mbssep.c: New file.
107862         * lib/string_.h (strsep): Add a conditional link warning.
107863         (mbssep): New declaration.
107864         * m4/mbssep.m4: New file.
107865         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107866         GNULIB_MBSSEP.
107867         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
107868         * MODULES.html.sh (Internationalization functions): Add mbssep.
107870 2007-02-05  Bruno Haible  <bruno@clisp.org>
107872         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
107873         Optimize search in case of 1 delimiter.
107875 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
107877         * lib/acl.h: Include sys/types.h before sys/acl.h.
107879 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
107881         Merge upstream fix for glibc bugzilla #3957:
107883         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
107885         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
107886         bit for RE_HAT_LISTS_NOT_NEWLINE.
107887         (build_charclass_op): Remove bogus comment.
107889 2007-02-05  Simon Josefsson  <simon@josefsson.org>
107891         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
107893 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
107895         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
107896         * lib/memmem.c [!defined _LIBC]: Include config.h.
107898 2007-02-04  Bruno Haible  <bruno@clisp.org>
107900         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
107901         warning message.
107903 2007-02-04  Bruno Haible  <bruno@clisp.org>
107905         New module mbstok_r.
107906         * modules/mbstok_r: New file.
107907         * lib/mbstok_r.c: New file.
107908         * lib/string_.h (strtok_r): Change argument names to match the
107909         comments. Add a conditional link warning.
107910         (mbstok_r): New declaration.
107911         * m4/mbstok_r.m4: New file.
107912         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107913         GNULIB_MBSTOK_R.
107914         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
107915         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
107917 2007-02-04  Bruno Haible  <bruno@clisp.org>
107919         New module mbsspn.
107920         * modules/mbsspn: New file.
107921         * lib/mbsspn.c: New file.
107922         * lib/string_.h (strspn): Add a conditional link warning.
107923         (mbsspn): New declaration.
107924         * m4/mbsspn.m4: New file.
107925         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107926         GNULIB_MBSSPN.
107927         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
107928         * MODULES.html.sh (Internationalization functions): Add mbsspn.
107930 2007-02-04  Bruno Haible  <bruno@clisp.org>
107932         New module mbspbrk.
107933         * modules/mbspbrk: New file.
107934         * lib/mbspbrk.c: New file.
107935         * lib/string_.h (strpbrk): Add a conditional link warning.
107936         (mbspbrk): New declaration.
107937         * m4/mbspbrk.m4: New file.
107938         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107939         GNULIB_MBSPBRK.
107940         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
107941         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
107943 2007-02-04  Bruno Haible  <bruno@clisp.org>
107945         New module mbscspn.
107946         * modules/mbscspn: New file.
107947         * lib/mbscspn.c: New file.
107948         * lib/string_.h (strcspn): Add a conditional link warning.
107949         (mbscspn): New declaration.
107950         * m4/mbscspn.m4: New file.
107951         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107952         GNULIB_MBSCSPN.
107953         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
107954         * MODULES.html.sh (Internationalization functions): Add mbscspn.
107956 2007-02-04  Bruno Haible  <bruno@clisp.org>
107958         New module mbscasestr, reduced goal of strcasestr.
107959         * modules/mbscasestr: New file.
107960         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
107961         (mbscasestr): Renamed from strcasestr.
107962         * lib/strcasestr.c: Don't include mbuiter.h.
107963         (strcasestr): Remove support for multibyte locales.
107964         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
107965         Change the conditional link warning.
107966         (mbscasestr): New declaration.
107967         * m4/mbscasestr.m4: New file.
107968         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
107969         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
107970         REPLACE_STRCASESTR.
107971         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
107972         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
107973         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
107974         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
107975         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
107976         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
107977         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
107978         (Depends-on): Remove mbuiter.
107979         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
107981 2007-02-04  Bruno Haible  <bruno@clisp.org>
107983         Simplify handling of strncasecmp.
107984         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
107985         the conditional link warning.
107986         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
107987         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
107988         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
107989         * modules/strcase (configure.ac): Don't invoke
107990         gl_STRING_MODULE_INDICATOR.
107991         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
107993 2007-02-04  Bruno Haible  <bruno@clisp.org>
107995         New module mbscasecmp, reduced goal of strcasecmp.
107996         * modules/mbscasecmp: New file.
107997         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
107998         (mbscasecmp): Renamed from strcasecmp.
107999         * lib/strcasecmp.c: Don't include mbuiter.h.
108000         (strcasecmp): Remove support for multibyte locales.
108001         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
108002         Change the conditional link warning.
108003         (mbscasecmp): New declaration.
108004         * m4/mbscasecmp.m4: New file.
108005         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
108006         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
108007         REPLACE_STRCASECMP.
108008         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
108009         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108010         GNULIB_MBSCASECMP.
108011         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
108012         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
108013         * modules/strcase (Files): Remove m4/mbrtowc.m4.
108014         (Depends-on): Remove mbuiter.
108015         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
108017 2007-02-04  Bruno Haible  <bruno@clisp.org>
108019         New module mbsstr. Remove module strstr.
108020         * modules/mbsstr: New file.
108021         * modules/strstr: Remove file.
108022         * lib/mbsstr.c: Renamed from lib/strstr.c.
108023         (mbsstr): Renamed from strstr.
108024         * lib/string_.h (strstr): Remove declaration. Change the conditional
108025         link warning.
108026         (mbsstr): New declaration.
108027         * m4/mbsstr.m4: New file.
108028         * m4/strstr.m4: Remove file.
108029         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
108030         REPLACE_STRSTR.
108031         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
108032         Don't initialize GNULIB_STRSTR.
108033         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
108034         substitute GNULIB_STRSTR and REPLACE_STRSTR.
108035         * MODULES.html.sh (Internationalization functions): Add mbsstr.
108036         (Support for systems lacking ANSI C 89): Remove strstr.
108038 2007-02-04  Bruno Haible  <bruno@clisp.org>
108040         New module mbsrchr.
108041         * modules/mbsrchr: New file.
108042         * lib/mbsrchr.c: New file.
108043         * lib/string_.h (strrchr): Add a conditional link warning.
108044         (mbsrchr): New declaration.
108045         * m4/mbsrchr.m4: New file.
108046         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108047         GNULIB_MBSRCHR.
108048         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
108049         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
108051 2007-02-04  Bruno Haible  <bruno@clisp.org>
108053         New module mbschr.
108054         * modules/mbschr: New file.
108055         * lib/mbschr.c: New file.
108056         * lib/string_.h (strchr): Add a conditional link warning.
108057         (mbschr): New declaration.
108058         * m4/mbschr.m4: New file.
108059         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108060         GNULIB_MBSCHR.
108061         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
108062         * MODULES.html.sh (Internationalization functions): Add mbschr.
108064 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108066         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
108068         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
108070 2007-02-04  Bruno Haible  <bruno@clisp.org>
108072         New module description section 'configure.ac-early'.
108073         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
108074         (func_get_autoconf_early_snippet): New function.
108075         (func_import, func_create_testdir): Use it. Remove special cases for
108076         modules 'extensions' and 'lock'.
108077         * modules/extensions (configure.ac-early): Require
108078         gl_USE_SYSTEM_EXTENSIONS.
108079         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
108081 2007-02-04  Bruno Haible  <bruno@clisp.org>
108083         Make use of gcj-4.3's -fsource and -ftarget option.
108084         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
108085         and if so try the options -fsource and -ftarget.
108086         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
108087         source_version, ftarget_option, target_version arguments.
108088         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
108089         (is_envjavac_oldgcj_14_14_usable): Renamed from
108090         is_envjavac_gcj_14_14_usable.
108091         (is_envjavac_oldgcj_14_13_usable): Renamed from
108092         is_envjavac_gcj_14_13_usable.
108093         (is_gcj_present): Update.
108094         (is_gcj_43, is_gcj43_usable): New functions.
108095         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
108096         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
108097         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
108098         try the options -fsource and -ftarget.
108100 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
108102         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
108103         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
108104         larger value.
108106 2007-02-03  Jim Meyering  <jim@meyering.net>
108108         Give tools a better chance to allocate space for very large buffers.
108109         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
108111         Make pwd and readlink work also when run with an unreadable parent dir
108112         on systems with openat support.
108113         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
108114         provided getcwd function, even when we have openat support.
108115         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
108117 2007-02-02  Bruno Haible  <bruno@clisp.org>
108119         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
108120         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
108121         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
108122         portability problems if one of these functions is only used on specific
108123         platforms.
108124         Reported by Paul Eggert.
108126 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
108128         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
108129         is causing more trouble than it's curing.
108130         * lib/regex_internal.h (__mempcpy): Remove.
108131         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
108132         (and make the code a tad smaller to boot).
108133         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
108135 2007-02-02  Jim Meyering  <jim@meyering.net>
108137         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
108138         section, not in the Makefile.am: one.
108140 2007-02-02  Eric Blake  <ebb9@byu.net>
108142         * lib/strchrnul.c: Always include config.h first.
108144         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
108145         gnulib strstr is not necessary here.
108147 2007-02-02  Simon Josefsson  <simon@josefsson.org>
108149         * m4/socklen.m4: Fix typo.
108151 2007-02-02  Eric Blake  <ebb9@byu.net>
108153         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
108154         * modules/netinet_in (Makefile.am): Likewise.
108156 2007-02-01  Bruno Haible  <bruno@clisp.org>
108158         * lib/string_.h (GL_LINK_WARNING): New macro.
108159         (strcasecmp, strstr, strcasestr): If provided by the system,
108160         conditionally define as a macro that leads to a warning instead of to
108161         an error.
108162         (strncasecmp): Conditionally define as a macro that leads to a warning.
108164 2007-02-01  Karl Berry  <karl@gnu.org>
108166         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
108168 2007-02-01  Bruno Haible  <bruno@clisp.org>
108170         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
108171         renamings.
108173 2007-02-01  Eric Blake  <ebb9@byu.net>
108175         * modules/regex (Depends-on): Revert dependence on mempcpy.
108176         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
108177         module's definition of mempcpy.
108178         Reported by Paul Eggert.
108180 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
108182         * lib/string_.h: If the gnulib module XYZ is not present, undefine
108183         the symbol XYZ before redefining it.  This fixes a problem with
108184         programs that don't use XYZ, when compiled on systems that define
108185         XYZ to something else.
108187 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
108189         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
108190         occurs when "mkdir -m foo" creates a setgid directory that is (1)
108191         writeable to group or other and (2) is intended to have a special
108192         mode bit that is set or cleared.  In such a case, the directory
108193         should be neither group- nor other-writeable until the special
108194         mode bits are right.
108196 2007-01-31  Eric Blake  <ebb9@byu.net>
108198         * modules/mountlist (Depends-on): Add strstr.
108200         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
108201         bug.
108202         * modules/string (Makefile.am): Remove redundant replacement.
108203         * modules/regex (Depends-on): Add mempcpy.
108205 2007-01-31  Bruno Haible  <bruno@clisp.org>
108207         New module description field 'Link'.
108208         * gnulib-tool (func_usage): Document --extract-link-directive.
108209         (sed_extract_prog): Recognize 'Link' directive.
108210         (func_get_link_directive): New function.
108211         (func_import): Show summary of link directives.
108212         Handle --extract-link-directive option.
108213         * modules/acl (Link): New section.
108214         * modules/clock-time (Link): New section.
108215         * modules/euidaccess (Link): New section.
108216         * modules/gettext (Link): New section.
108217         * modules/iconv (Link): New section.
108218         * modules/lock (Link): New section.
108219         * modules/nanosleep (Link): New section.
108220         * modules/readline (Link): New section.
108222 2007-01-27  Bruno Haible  <bruno@clisp.org>
108224         Enforce the use of gnulib modules for unportable <string.h> functions.
108225         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
108226         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
108227         (gl_HEADER_STRING_H_BODY): Require it.
108228         * lib/string_.h: If the gnulib module XYZ is not present, redefine
108229         the symbol XYZ to one that gives a link error.
108230         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
108231         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
108232         * modules/mempcpy (configure.ac): Likewise.
108233         * modules/memrchr (configure.ac): Likewise.
108234         * modules/stpcpy (configure.ac): Likewise.
108235         * modules/stpncpy (configure.ac): Likewise.
108236         * modules/strcase (configure.ac): Likewise.
108237         * modules/strcasestr (configure.ac): Likewise.
108238         * modules/strchrnul (configure.ac): Likewise.
108239         * modules/strdup (configure.ac): Likewise.
108240         * modules/strndup (configure.ac): Likewise.
108241         * modules/strnlen (configure.ac): Likewise.
108242         * modules/strpbrk (configure.ac): Likewise.
108243         * modules/strsep (configure.ac): Likewise.
108244         * modules/strstr (configure.ac): Likewise.
108245         * modules/strtok_r (configure.ac): Likewise.
108247 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
108249         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
108251 2007-01-30  Jim Meyering  <jim@meyering.net>
108253         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
108255 2007-01-29  Bruno Haible  <bruno@clisp.org>
108257         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
108258         * lib/execute.c: Likewise.
108259         * lib/pipe.c: Likewise.
108260         * lib/printf-args.h: Likewise.
108261         * lib/printf-args.c: Likewise.
108262         * lib/printf-parse.c: Likewise.
108263         * lib/vasnprintf.c: Likewise.
108265 2007-01-29  Eric Blake  <ebb9@byu.net>
108267         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
108268         declaration.
108270 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
108272         * lib/strptime.h (strptime): Use 'restrict' for args where
108273         POSIX requires this.
108274         * lib/strptime.c (strptime): Likewise.
108275         Change license notice from LGPL to GPL, since gnulib-tool will
108276         change this as needed.
108277         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
108278         defined.
108279         Include "strptime.h" first, to check interface.
108280         Do not #undef _LIBC and _NL_CURRENT.
108281         Do not include <stdlib.h>; no longer needed.
108282         Include "time_r.h" and declare ptime_locale_status
108283         only if _LIBC is not defined.
108284         (__P): Remove unused macro.
108285         (match_string): Bring back glibc version, but use it only if _LIBC
108286         is defined.
108287         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
108288         Remove unnecessary assertion and abort() call.
108289         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
108290         * m4/strptime.m4: Fix serial number comment.
108291         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
108292         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
108293         (Depends-on): Add time_r.
108295 2007-01-29  Bruno Haible  <bruno@clisp.org>
108297         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108298         strptime.
108299         * modules/strptime (Depends-on): Add stdbool.
108300         * lib/strptime.h: Include <time.h> always. Add comments.
108302 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108304         * modules/strptime: New file.
108305         * lib/strptime.h: New file.
108306         * lib/strptime.c: New file.
108307         * m4/strptime.m4: New file.
108309 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
108311         * MODULES.html.sh: New module mpsort.
108312         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
108314         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
108315         a circularity problem with HP-UX ia64 reported by Bob Proulx in
108316         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
108317         All uses changed.
108318         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
108319         All uses changed.
108320         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
108321         to _Restrict_.
108322         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
108323         the parameter matches the prototype.
108325 2007-01-28  Jim Meyering  <jim@meyering.net>
108327         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
108328         sys/time.h here, reverting that part of the previous patch:
108329         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
108331 2007-01-28  Bruno Haible  <bruno@clisp.org>
108333         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
108334         value of $(SYS_TIME_H).
108335         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
108336         remove it conditionally, too. [added by Jim Meyering]
108337         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
108338         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
108339         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
108340         GETTIMEOFDAY_REPLACEMENT to 1.
108342 2007-01-28  Bruno Haible  <bruno@clisp.org>
108344         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
108345         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
108346         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
108347         Set UNISTD_H instead of UNISTD_H2.
108348         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
108350 2007-01-28  Bruno Haible  <bruno@clisp.org>
108352         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
108353         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
108355 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108357         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
108358         (func_create_testdir): Ensure C locale for `grep' and `tr'
108359         character ranges.
108360         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
108361         ACLOCAL_AMFLAGS parsing state machine.
108363 2007-01-27  Bruno Haible  <bruno@clisp.org>
108365         * modules/unistr/base: Update.
108367 2007-01-27  Bruno Haible  <bruno@clisp.org>
108369         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
108370         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
108371         * modules/unistr/u32-mbtouc-unsafe: Renamed from
108372         modules/unistr/u32-mbtouc.
108373         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
108374         * lib/unistr.h: Update.
108375         * lib/linebreak.c: Update.
108376         * modules/unistr/u32-mbtouc: Renamed from
108377         modules/unistr/u32-mbtouc-safe.
108378         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
108379         * lib/unistr.h: Update.
108380         * lib/unistr/u32-to-u8.c: Update.
108381         * lib/unistr/u32-to-u16.c: Update.
108383 2007-01-27  Bruno Haible  <bruno@clisp.org>
108385         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
108386         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
108387         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
108388         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
108389         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
108390         * modules/unistr/u16-mbtouc-unsafe: Renamed from
108391         modules/unistr/u16-mbtouc.
108392         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
108393         * lib/unistr.h: Update.
108394         * lib/linebreak.c: Update.
108395         * modules/linebreak: Update.
108396         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
108397         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
108398         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
108399         * modules/unistr/u16-mbtouc: Renamed from
108400         modules/unistr/u16-mbtouc-safe.
108401         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
108402         * lib/unistr.h: Update.
108403         * lib/unistr/u16-to-u8.c: Update.
108404         * modules/unistr/u16-to-u8: Update.
108405         * lib/unistr/u16-to-u32.c: Update.
108406         * modules/unistr/u16-to-u32: Update.
108408 2007-01-27  Bruno Haible  <bruno@clisp.org>
108410         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
108411         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
108412         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
108413         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
108414         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
108415         * modules/unistr/u8-mbtouc-unsafe: Renamed from
108416         modules/unistr/u8-mbtouc.
108417         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
108418         * lib/unistr.h: Update.
108419         * lib/striconveh.c: Update.
108420         * modules/striconveh: Update.
108421         * lib/linebreak.c: Update.
108422         * modules/linebreak: Update.
108423         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
108424         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
108425         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
108426         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
108427         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
108428         * lib/unistr.h: Update.
108429         * lib/striconveh.c: Update.
108430         * modules/striconveh: Update.
108431         * lib/unistr/u8-to-u16.c: Update.
108432         * modules/unistr/u8-to-u16: Update.
108433         * lib/unistr/u8-to-u32.c: Update.
108434         * modules/unistr/u8-to-u32: Update.
108436 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108438         Sync from Libtool.
108439         * lib/argz.c: Do not include strings.h nor memory.h, include
108440         string.h unconditionally.  Patch by Simon Josefsson.
108442 2007-01-27  Bruno Haible  <bruno@clisp.org>
108444         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
108445         from gl_HEADER_STRING_H_BODY.
108446         (gl_HEADER_STRING_H_BODY): Require it.
108447         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
108448         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
108449         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
108450         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
108451         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
108452         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
108453         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
108454         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
108455         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
108456         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
108457         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
108458         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
108459         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
108460         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
108461         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
108463 2007-01-27  Bruno Haible  <bruno@clisp.org>
108465         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
108466         check_PROGRAMS into noinst_PROGRAMS.
108467         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
108468         check_PROGRAMS in this case.
108469         (func_import): Set for_test to false.
108470         (func_create_testdir): Set for_test to true.
108472 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108473             Bruno Haible  <bruno@clisp.org>
108475         * modules/strcasestr (Files): Remove lib/strcasestr.h.
108476         (Depends-on): Add string.
108477         (Includes): Use <string.h> instead of strcasestr.h.
108478         * modules/string (Makefile.am): Also substitute the value of
108479         REPLACE_STRCASESTR.
108480         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
108481         assume strcasestr is declared in <string.h> not <strings.h>. Also
108482         set REPLACE_STRCASESTR.
108483         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
108484         REPLACE_STRCASESTR.
108485         * lib/strcasestr.h: Remove file.
108486         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
108487         * lib/string_.h (strcasestr): New declaration.
108489 2007-01-27  Bruno Haible  <bruno@clisp.org>
108491         * lib/string_.h: Use 'extern'.
108493 2007-01-27  Jim Meyering  <jim@meyering.net>
108495         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
108496         of set-but-not-used local, "q".
108498         * lib/mempcpy.c: Include <config.h> before <string.h>.
108499         This fixes a compilation error on HP-UX, due to the system's
108500         "restrict"-using mempcpy prototype.
108502 2007-01-26  Bruno Haible  <bruno@clisp.org>
108504         Small optimization.
108505         * lib/javacomp.c: Include c-strstr.h.
108506          (is_envjavac_gcj): Use c_strstr instead of strstr.
108507         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
108509 2007-01-26  Bruno Haible  <bruno@clisp.org>
108511         * MODULES.html.sh (Unicode string functions): Add the new modules.
108513         * modules/uniconv/u32-strconv-to-locale: New file.
108514         * lib/uniconv/u32-strconv-to-locale.c: New file.
108516         * modules/uniconv/u16-strconv-to-locale: New file.
108517         * lib/uniconv/u16-strconv-to-locale.c: New file.
108519         * modules/uniconv/u8-strconv-to-locale: New file.
108520         * lib/uniconv/u8-strconv-to-locale.c: New file.
108522         * modules/uniconv/u32-strconv-from-locale: New file.
108523         * lib/uniconv/u32-strconv-from-locale.c: New file.
108525         * modules/uniconv/u16-strconv-from-locale: New file.
108526         * lib/uniconv/u16-strconv-from-locale.c: New file.
108528         * modules/uniconv/u8-strconv-from-locale: New file.
108529         * lib/uniconv/u8-strconv-from-locale.c: New file.
108531         * modules/uniconv/u32-strconv-to-enc: New file.
108532         * lib/uniconv/u32-strconv-to-enc.c: New file.
108533         * modules/uniconv/u32-strconv-to-enc-tests: New file.
108534         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
108536         * modules/uniconv/u16-strconv-to-enc: New file.
108537         * lib/uniconv/u16-strconv-to-enc.c: New file.
108538         * lib/uniconv/u-strconv-to-enc.h: New file.
108539         * modules/uniconv/u16-strconv-to-enc-tests: New file.
108540         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
108542         * modules/uniconv/u8-strconv-to-enc: New file.
108543         * lib/uniconv/u8-strconv-to-enc.c: New file.
108544         * modules/uniconv/u8-strconv-to-enc-tests: New file.
108545         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
108547         * modules/uniconv/u32-strconv-from-enc: New file.
108548         * lib/uniconv/u32-strconv-from-enc.c: New file.
108549         * modules/uniconv/u32-strconv-from-enc-tests: New file.
108550         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
108552         * modules/uniconv/u16-strconv-from-enc: New file.
108553         * lib/uniconv/u16-strconv-from-enc.c: New file.
108554         * modules/uniconv/u16-strconv-from-enc-tests: New file.
108555         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
108557         * modules/uniconv/u8-strconv-from-enc: New file.
108558         * lib/uniconv/u8-strconv-from-enc.c: New file.
108559         * lib/uniconv/u-strconv-from-enc.h: New file.
108560         * modules/uniconv/u8-strconv-from-enc-tests: New file.
108561         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
108563         * modules/uniconv/u32-conv-from-enc: New file.
108564         * lib/uniconv/u32-conv-from-enc.c: New file.
108565         * modules/uniconv/u32-conv-from-enc-tests: New file.
108566         * tests/uniconv/test-u32-conv-from-enc.c: New file.
108568         * modules/uniconv/u16-conv-from-enc: New file.
108569         * lib/uniconv/u16-conv-from-enc.c: New file.
108570         * lib/uniconv/u-conv-from-enc.h: New file.
108571         * modules/uniconv/u16-conv-from-enc-tests: New file.
108572         * tests/uniconv/test-u16-conv-from-enc.c: New file.
108574         * modules/uniconv/u8-conv-from-enc: New file.
108575         * lib/uniconv/u8-conv-from-enc.c: New file.
108576         * modules/uniconv/u8-conv-from-enc-tests: New file.
108577         * tests/uniconv/test-u8-conv-from-enc.c: New file.
108579         * modules/uniconv/base: New file.
108580         * lib/uniconv.h: New file.
108582 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
108584         * doc/gnulib-tool.texi (Initial import): Update to match current
108585         behavior with strdup module.
108586         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
108587         * lib/memmem.h: Remove; all uses removed.  This is now done
108588         by <string.h>.
108589         * lib/mempcpy.h: Likewise.
108590         * lib/memrchr.h: Likewise.
108591         * lib/stpcpy.h: Likewise.
108592         * lib/stpncpy.h: Likewise.
108593         * lib/strcase.h: Likewise.
108594         * lib/strchrnul.h: Likewise.
108595         * lib/strdup.h: Likewise.
108596         * lib/strndup.h: Likewise.
108597         * lib/strnlen.h: Likewise.
108598         * lib/strpbrk.h: Likewise.
108599         * lib/strsep.h: Likewise.
108600         * lib/strstr.h: Likewise.
108601         * lib/strtok_r.h: Likewise.
108602         * lib/string_.h: New file.
108603         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
108604         Rely on <string.h> instead.
108605         * lib/canon-host.c: Likewise.
108606         * lib/chdir-long.c: Likewise.
108607         * lib/concatpath.c: Likewise.
108608         * lib/exclude.c: Likewise.
108609         * lib/fchdir.c: Likewise.
108610         * lib/getaddrinfo.c: Likewise.
108611         * lib/getcwd.c: Likewise.
108612         * lib/getsubopt.c: Likewise.
108613         * lib/glob.c: Likewise.
108614         * lib/hard-locale.c: Likewise.
108615         * lib/iconvme.c: Likewise.
108616         * lib/javacomp.c: Likewise.
108617         * lib/mempcpy.c: Likewise.
108618         * lib/memrchr.c: Likewise.
108619         * lib/regex_internal.h: Likewise.
108620         * lib/stpncpy.c: Likewise.
108621         * lib/strcasecmp.c: Likewise.
108622         * lib/strchrnul.c: Likewise.
108623         * lib/strdup.c: Likewise.
108624         * lib/striconv.c: Likewise.
108625         * lib/striconveh.c: Likewise.
108626         * lib/striconveha.c: Likewise.
108627         * lib/strncasecmp.c: Likewise.
108628         * lib/strndup.c: Likewise.
108629         * lib/strnlen.c: Likewise.
108630         * lib/strsep.c: Likewise.
108631         * lib/strstr.c: Likewise.
108632         * lib/strtok_r.c: Likewise.
108633         * lib/userspec.c: Likewise.
108634         * lib/w32spawn.h: Likewise.
108635         * lib/xstrndup.c: Likewise.
108636         * lib/mountlist.c (strstr): Remove decl.
108637         * m4/string_h.m4: New file.
108638         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
108639         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
108640         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
108641         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
108642         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
108643         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
108644         Set REPLACE_STRCASECMP if necessary.
108645         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
108646         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
108647         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
108648         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
108649         HAVE_DECL_STRDUP if necessary.
108650         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
108651         since gl_FUNC_STRNDUP does that now.
108652         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
108653         Check for decl here...
108654         (gl_PREREQ_STRNLEN): ... not here.
108655         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
108656         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
108657         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
108658         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
108659         necessary.
108660         * modules/string: New file.
108661         * modules/memmem (Files): Remove special-purpose include file.
108662         (Depends-on): Add string.
108663         (Include): Include <string.h>, not the removed file.
108664         * modules/mempcpy: Likewise.
108665         * modules/memrchr: Likewise.
108666         * modules/stpcpy: Likewise.
108667         * modules/stpncpy: Likewise.
108668         * modules/strcase: Likewise.
108669         * modules/strchrnul: Likewise.
108670         * modules/strdup: Likewise.
108671         * modules/strndup: Likewise.
108672         * modules/strnlen: Likewise.
108673         * modules/strpbrk: Likewise.
108674         * modules/strsep: Likewise.
108675         * modules/strstr: Likewise.
108676         * modules/strtok_r: Likewise.
108677         * tests/test-dirname.c: Don't include "strdup.h", since
108678         <string.h> now suffices.
108679         * tests/test-memmem.c: Don't include "memmem.h", since
108680         <string.h> now suffices.
108682 2007-01-25  Bruno Haible  <bruno@clisp.org>
108684         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
108685         *resultp is 0.
108687         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
108688         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
108689         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
108690         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
108692         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
108693         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
108694         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
108695         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
108696         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
108697         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
108699 2007-01-24  Bruno Haible  <bruno@clisp.org>
108701         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
108702         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
108703         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
108704         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
108705         gl_FUNC_FTS_CORE.
108706         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
108707         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
108708         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
108709         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
108710         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
108711         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
108712         gl_FUNC_FCHOWNAT.
108713         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
108714         gl_FUNC_STRFTIME.
108715         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
108716         Reported by Ralf Wildenhues.
108718 2007-01-24  Bruno Haible  <bruno@clisp.org>
108720         Drop AC_REQUIRE calls that are redundant with the module dependencies.
108721         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
108722         gl_GETADDRINFO.
108723         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
108724         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
108725         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
108727 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
108729         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
108730         Don't use 'exit'; just return from 'main'.
108731         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
108733         * lib/fnmatch_.h: Readjust white space and comments to match
108734         glibc, to avoid spurious diffs.
108736 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
108738         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
108739         2004-12-01 change by Jakub Jelinek, since this code won't compile
108740         if !LIBC.  Problem reported by Bob Proulx.
108742 2007-01-23  Bruno Haible  <bruno@clisp.org>
108744         * lib/striconveh.c: Include c-strcaseeq.h.
108745         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
108746         * modules/striconveh (Depends-on): Add c-strcaseeq.
108748 2007-01-23  Bruno Haible  <bruno@clisp.org>
108750         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
108752         * modules/c-strcaseeq: New file.
108753         * lib/c-strcaseeq.h: New file.
108755         * modules/streq: New file.
108756         * lib/streq.h: New file.
108758 2007-01-23  Bruno Haible  <bruno@clisp.org>
108760         * modules/striconveha-tests: New file.
108761         * tests/test-striconveha.c: New file.
108763         * lib/striconveha.h: Include <stdbool.h>.
108764         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
108765         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
108766         (mem_iconveha_notranslit): Renamed from mem_iconveha.
108767         (mem_iconveha): New function.
108768         (str_iconveha_notranslit): Renamed from str_iconveha.
108769         (str_iconveha): New function.
108770         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
108771         c-strcase.
108773 2007-01-23  Bruno Haible  <bruno@clisp.org>
108775         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
108776         encodings without forgiving before trying any encoding with handler.
108777         (str_iconveha): Try all encodings without forgiving before trying any
108778         encoding with handler.
108780 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
108782         Import the following changes from libc.
108784         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
108786         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
108788         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
108790         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
108791         normal_bracket label.
108793         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
108795         [BZ #361]
108796         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
108797         to normal_bracket after fetching the next character.
108799 2007-01-22  Bruno Haible  <bruno@clisp.org>
108801         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
108802         argument.
108803         * lib/striconveh.c (iconv_carefully_1): New function.
108804         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
108805         argument.
108806         (str_cd_iconveh): Update.
108807         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
108808         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
108809         * tests/test-striconveh.c (MAGIC): New macro.
108810         (new_offsets): New function.
108811         (main): Test call with and without offsets.
108813 2007-01-22  Bruno Haible  <bruno@clisp.org>
108815         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
108816         * modules/sys_select (Makefile.am): Likewise.
108817         * modules/sys_socket (Makefile.am): Likewise.
108818         * modules/sys_time (Makefile.am): Likewise.
108820 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
108822         * modules/gettimeofday (License): Change from GPL to LGPL, since
108823         gettimeofday is a library function.
108825 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108827         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
108829 2007-01-21  Bruno Haible  <bruno@clisp.org>
108831         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
108833 2007-01-21  Bruno Haible  <bruno@clisp.org>
108835         * modules/striconveha: New file.
108836         * lib/striconveha.h: New file.
108837         * lib/striconveha.c: New file.
108838         * MODULES.html.sh (Internationalization functions): Add striconveha.
108839         * lib/striconv.c (str_iconv): Optimize the case of an empty input
108840         string.
108841         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
108843 2007-01-21  Bruno Haible  <bruno@clisp.org>
108845         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
108846         * lib/striconveh.c (str_iconveh): Likewise.
108848 2007-01-21  Bruno Haible  <bruno@clisp.org>
108850         * lib/striconveh.h (mem_iconveh): New declaration.
108851         * lib/striconveh.c (mem_iconveh): New function.
108852         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
108854 2007-01-21  Bruno Haible  <bruno@clisp.org>
108856         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
108858         * lib/striconveh.h (mem_cd_iconveh): Change specification.
108859         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
108860         original result buffer.
108861         (str_cd_iconveh): Update.
108862         * tests/test-striconveh.c (main): Update.
108864         * lib/striconv.h (mem_cd_iconv): Change specification.
108865         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
108866         result buffer.
108867         (str_cd_iconv): Update.
108868         * tests/test-striconv.c (main): Update.
108870 2007-01-21  Bruno Haible  <bruno@clisp.org>
108872         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
108874 2007-01-20  Jim Meyering  <jim@meyering.net>
108876         * lib/userspec.c (parse_with_separator): If a user or group string
108877         starts with "+", skip the corresponding name-to-ID look-up, since
108878         such a look-up must fail: user and group names may not include "+".
108880 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
108882         * lib/poll.c: Include sys/time.h and time.h unconditionally,
108883         since we now assume the sys_time module.
108884         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
108885         check for sys/time.h; no longer needed.
108886         * modules/poll (Depends-on): Depend on sys_time.
108888 2007-01-18  Bruno Haible  <bruno@clisp.org>
108890         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
108891         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
108893         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
108894         gettimeofday.
108896         * tests/test-gettimeofday.c: Include <time.h>.
108897         (dummy): Remove variable.
108899         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
108900         gl_HEADER_SYS_TIME_H.
108901         (gl_HEADER_SYS_TIME_H): New macro.
108903         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
108904         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108905         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
108906         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
108907         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108908         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
108909         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
108910         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108911         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
108912         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
108913         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108915         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
108916         last change; it caused a compilation error when cross-compiling to
108917         Cygwin.
108919 2007-01-18  Jim Meyering  <jim@meyering.net>
108921         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
108922         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
108923         than the race-prone "test -d sys || mkdir sys".
108924         (configure.ac): Use AC_PROG_MKDIR_P.
108925         * modules/sys_select: Likewise.
108926         * modules/sys_socket: Likewise.
108927         * modules/sys_time: Likewise.
108929 2007-01-18  Eric Blake  <ebb9@byu.net>
108931         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
108932         replace gettimeofday.
108933         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
108934         name, to avoid infinite recursion.
108936 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
108938         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
108939         module sys_time.
108940         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
108941         assume timespec.h defines struct timeval.
108942         * lib/settime.c: Likewise.
108943         * lib/utimens.c: Likewise.
108944         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
108945         since we now assume the gettimeofday module.
108946         * lib/tempname.c (__gen_tempname): Likewise.
108947         * lib/gettimeofday.h: Remove.
108948         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
108949         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
108950         Include <time.h>, for 'time()'.
108951         (localtime_buffer_addr): Also use this workaround if
108952         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
108953         to simplify the uses.  All uses changed.
108954         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
108955         that #undef is inside {}, and 'const' follows type name consistently.
108956         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
108957         (gettimeofday): Do not use the maximum possible value for
108958         tv->tv_usec, since that might break usages other than ls.c.
108959         Instead, we'll leave ls.c alone.  This undoes today's patch
108960         by Bruno.  Add a compile-time warning for 1s-clock resolution;
108961         we've never observed the problem but might as well keep the
108962         canary.
108963         * lib/nanosleep.c: Include timespec.h first, for interface check.
108964         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
108965         now assume the sys_time module.
108966         * lib/tempname.c: Likewise.
108967         * lib/timespec.h: Likewise.
108968         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
108969         needed.
108970         * lib/strftime.c: Likewise.
108971         * lib/timespec.h: Likewise.
108972         * lib/posixtm.c: Include posixtm.h first, for interface check.
108973         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
108974         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
108975         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
108976         * lib/sys_time_.h: New file.
108977         * lib/timespec.h (struct timespec): Use long int, not long.
108978         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
108979         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
108980         Remove obsolescent call to AC_HEADER_TIME.
108981         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
108982         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
108983         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
108984         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
108985         Likewise.
108986         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
108987         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
108988         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
108989         into the sys_time module.  Check for gettimeofday just once.
108990         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
108991         for gettimeofday signature to just check the signature.  Merely
108992         compile it, since linking doesn't test signature.  Improve test for
108993         whether gettimeofday.o is actually needed.
108994         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
108995         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
108996         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
108997         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108998         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
108999         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
109000         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
109001         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
109002         than worrying about sys/time.h.
109003         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
109004         Don't bother worrying about TIME_WITH_SYS_TIME.
109005         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
109006         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
109007         * m4/sys_time_h.m4: New file.
109008         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
109009         Don't include sys/time.h.  Return from main rather than exiting.
109010         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
109011         all uses changed.
109012         * modules/gethrxtime (Depends-on): Add sys_time.
109013         * modules/gettime (Depends-on): Likewise.
109014         * modules/gettimeofday (Depends-on): Likewise.
109015         * modules/nanosleep (Depends-on): Likewise.
109016         * modules/settime (Depends-on): Likewise.
109017         * modules/tempname (Depends-on): Likewise.
109018         * modules/utimens (Depends-on): Likewise.
109019         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
109020         (Include): Change back to <sys/time.h>.
109021         (Maintainer): Add self.
109022         * modules/sys_time: New file.
109023         * modules/tempname (Depends-on): Add gettimeofday.
109024         * tests/test-gettimeofday.c: Include <sys/time.h>
109025         rather than gettimeofday.h.
109027 2007-01-17  Bruno Haible  <bruno@clisp.org>
109029         * gnulib-tool (func_get_license): Revert last patch. Instead, let
109030         the license default to GPL.
109031         (func_create_testdir): Don't complain if a module is LGPL and its
109032         tests module depends on GPLed modules.
109034 2007-01-17  Bruno Haible  <bruno@clisp.org>
109036         * lib/gettimeofday.c (gettimeofday): Add code for the case
109037         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
109038         maximum possible value for tv->tv_usec, rather than the minimum one.
109040 2005-10-08  Martin Lambers  <marlam@marlam.de>
109041 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
109042 2007-01-16  Bruno Haible  <bruno@clisp.org>
109044         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
109045         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
109046         gl_FUNC_GETTIMEOFDAY.
109047         (Include): Add gettimeofday.h.
109048         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
109049         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
109050         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
109051         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
109052         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
109053         * lib/gettimeofday.h: New file.
109054         * lib/gettimeofday.c: Include <sys/timeb.h>.
109055         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
109056         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109057         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
109058         fall back on time().
109060         * tests/test-gettimeofday.c: New file.
109061         * modules/gettimeofday-tests: New file.
109063 2007-01-16  Eric Blake  <ebb9@byu.net>
109065         * modules/fnmatch (Depends-on): Depend on wchar.
109066         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
109067         * m4/fnmatch.m4: Likewise.
109068         * modules/mbchar (Makefile.am): Assume <wchar.h>.
109069         * m4/mbchar.m4: Likewise.
109070         * modules/mbswidth (Depends-on): Depend on wchar.
109071         * lib/mbswidth.c: Assume <wchar.h>.
109072         * m4/mbswidth.m4: Likewise.
109073         * modules/quotearg (Depends-on): Depend on wchar.
109074         * lib/quotearg.c: Assume <wchar.h>.
109075         * m4/quotearg.m4: Likewise.
109076         * modules/regex (Depends-on): Depend on wchar.
109077         * lib/regex_internal.h: Assume <wchar.h>.
109078         * m4/regex.m4: Likewise.
109079         * modules/stdint (Depends-on): Depend on wchar.
109080         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
109081         * m4/stdint.m4: Likewise.
109082         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
109083         * modules/strftime (Depends-on): Depend on wchar.
109084         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
109085         * modules/strtol (Depends-on): Depend on wchar.
109086         * lib/strtol.c: Assume <wchar.h>.
109087         * modules/wcwidth (Depends-on): Depend on wchar.
109088         * lib/wcwidth.h: Assume <wchar.h>.
109089         * m4/wcwidth.m4: Likewise.
109091 2007-01-16  Bruno Haible  <bruno@clisp.org>
109093         * modules/csharpexec-script: New, created from...
109094         * modules/csharpexec: ... this.
109096 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
109098         * modules/javaexec-script: New, created from...
109099         * modules/javaexec: ... this.
109101 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109103         * modules/poll (Dependencies): Add sys_select.
109105 2007-01-15  Jim Meyering  <jim@meyering.net>
109107         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
109108         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
109109         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
109110         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
109112 2007-01-15  Bruno Haible  <bruno@clisp.org>
109114         * modules/striconveh: New file.
109115         * lib/striconveh.h: New file.
109116         * lib/striconveh.c: New file.
109117         * MODULES.html.sh (Internationalization functions): Add striconveh.
109119         * modules/striconveh-tests: New file.
109120         * tests/test-striconveh.c: New file.
109122 2007-01-15  Bruno Haible  <bruno@clisp.org>
109124         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
109125         not from GNU libiconv or GNU libc.
109127 2007-01-15  Bruno Haible  <bruno@clisp.org>
109129         * doc/gnulib-intro.texi (Copyright): Explain the different license
109130         terms for module descriptions, autoconf macros, tests, documentation.
109132 2007-01-14  Bruno Haible  <bruno@clisp.org>
109134         * modules/striconv-tests: New file.
109135         * tests/test-striconv.c: New file.
109137 2007-01-14  Bruno Haible  <bruno@clisp.org>
109139         * modules/iconv-tests: New file.
109140         * tests/test-iconv.c: New file.
109142 2007-01-14  Bruno Haible  <bruno@clisp.org>
109144         * gnulib-tool (func_get_license): For test modules, use the license of
109145         the main module.
109147 2007-01-14  Bruno Haible  <bruno@clisp.org>
109149         * modules/iconv (Include): Clarify that <iconv.h> can only be included
109150         if iconv is found to exist.
109152 2007-01-14  Bruno Haible  <bruno@clisp.org>
109154         * modules/c-ctype-tests: New file.
109155         * tests/test-c-ctype.c: New file.
109157 2007-01-14  Bruno Haible  <bruno@clisp.org>
109159         * modules/binary-io-tests: New file.
109160         * tests/test-binary-io.sh: New file.
109161         * tests/test-binary-io.c: New file.
109163 2007-01-14  Bruno Haible  <bruno@clisp.org>
109165         * modules/array-oset-tests: New file.
109166         * tests/test-array_oset.c: New file.
109168 2007-01-14  Bruno Haible  <bruno@clisp.org>
109170         * modules/array-list-tests: New file.
109171         * tests/test-array_list.c: New file.
109173 2007-01-14  Bruno Haible  <bruno@clisp.org>
109175         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
109176         and make.
109177         Reported by Simon Josefsson in
109178         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
109180 2007-01-14  Bruno Haible  <bruno@clisp.org>
109182         * modules/allocsa-tests: New file.
109183         * tests/test-allocsa.c: New file.
109185 2007-01-14  Bruno Haible  <bruno@clisp.org>
109187         * modules/fchdir (Depends-on): Add absolute-header.
109188         * modules/unistd (Depends-on): Likewise.
109190 2006-12-30  Bruno Haible  <bruno@clisp.org>
109192         * modules/fchdir: New file.
109193         * modules/unistd (Files): Add lib/unistd_.h.
109194         (Makefile.am): Generate unistd.h from unistd_.h.
109195         * lib/fchdir.c: New file.
109196         * lib/dirent_.h: New file.
109197         * lib/unistd_.h: New file.
109198         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
109199         * m4/fchdir.m4: New file.
109200         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
109201         (gl_HEADER_UNISTD): Invoke it.
109202         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
109203         function.
109204         * lib/backupfile.c (opendir, closedir): Undefine.
109205         * lib/chown.c (open, close): Undefine.
109206         * lib/clean-temp.c (open, close): Undefine.
109207         * lib/copy-file.c (open, close): Undefine.
109208         * lib/execute.c (open, close): Undefine.
109209         * lib/fsusage.c (open, close): Undefine.
109210         * lib/gc-gnulib.c (open, close): Undefine.
109211         * lib/getcwd.c (opendir, closedir): Undefine.
109212         * lib/glob.c (opendir, closedir): Undefine.
109213         * lib/javacomp.c (open, close): Undefine.
109214         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
109215         * lib/openat-proc.c (open, close): Undefine.
109216         * lib/pagealign_alloc.c (open, close): Undefine.
109217         * lib/pipe.c (open, close): Undefine.
109218         * lib/progreloc.c (open, close): Undefine.
109219         * lib/savedir.c (opendir, closedir): Undefine.
109220         * lib/utime.c (open, close): Undefine.
109221         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
109223 2007-01-10  Bruno Haible  <bruno@clisp.org>
109225         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
109227 2007-01-12  Eric Blake  <ebb9@byu.net>
109229         Provide a robust <wchar.h>.  Further simplifications are now
109230         possible in other modules, but not included here.
109231         * modules/wchar: New module.
109232         * m4/wchar.m4: New file.
109233         * lib/wchar_.h: Likewise.
109234         * modules/mbchar (Depends-on): Depend on wchar, as the first use
109235         of the new module.
109236         * MODULES.html.sh (Extended multibyte and wide character utilities):
109237         New section.
109239 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
109241         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
109242         to a reasonable default for memory allocation.
109243         (xreadlink): Don't allocate a huge buffer, to work around a buggy
109244         file system that reports garbage st_size values for symlinks.
109245         Problem reported by Liyang Hu.
109247 2007-01-11  Simon Josefsson  <simon@josefsson.org>
109249         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
109250         Emacs .#* auto-save files).
109252 2007-01-11  Bruno Haible  <bruno@clisp.org>
109254         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
109255         directory.
109257 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
109259         Use @...@ consistently in lib/wctype_.h.
109260         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
109261         on it being set to 1 or 0.
109262         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
109263         go back to AC_SUBSTing it.
109264         * modules/wctype (Makefile.am): Undo previous change.
109266 2007-01-10  Eric Blake  <ebb9@byu.net>
109268         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
109269         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
109270         * modules/wctype (Makefile.am): Likewise.
109271         Reported by Chris McGuire.
109273 2007-01-10  Jim Meyering  <jim@meyering.net>
109275         fts.c: a small readability/maintainability improvement
109276         * lib/fts.c (fts_read): Make this code slightly more readable and
109277         maintainable by hoisting the "sp->fts_cur = p" assignments to
109278         immediately follow the statements that set P.  Derived from
109279         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
109281 2007-01-10  Eric Blake  <ebb9@byu.net>
109283         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
109284         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
109285         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
109286         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
109287         Reported by Chris McGuire.
109289 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109291         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
109292         in sed script.
109294 2007-01-09  Bruno Haible  <bruno@clisp.org>
109296         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
109297         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
109298         variables.
109299         (func_module): Use them.
109301 2007-01-09  Bruno Haible  <bruno@clisp.org>
109303         * modules/unistr/base: New file.
109304         * lib/unistr.h: New file.
109306         * modules/unistr/u8-to-u16: New file.
109307         * lib/unistr/u8-to-u16.c: New file.
109309         * modules/unistr/u8-to-u32: New file.
109310         * lib/unistr/u8-to-u32.c: New file.
109312         * modules/unistr/u16-to-u8: New file.
109313         * lib/unistr/u16-to-u8.c: New file.
109315         * modules/unistr/u16-to-u32: New file.
109316         * lib/unistr/u16-to-u32.c: New file.
109318         * modules/unistr/u32-to-u8: New file.
109319         * lib/unistr/u32-to-u8.c: New file.
109321         * modules/unistr/u32-to-u16: New file.
109322         * lib/unistr/u32-to-u16.c: New file.
109324         * modules/unistr/u8-check: New file.
109325         * modules/unistr/u16-check: New file.
109326         * modules/unistr/u32-check: New file.
109327         * lib/unistr/u8-check.c: New file.
109328         * lib/unistr/u16-check.c: New file.
109329         * lib/unistr/u32-check.c: New file.
109331         * modules/unistr/u8-chr: New file.
109332         * modules/unistr/u16-chr: New file.
109333         * modules/unistr/u32-chr: New file.
109334         * lib/unistr/u8-chr.c: New file.
109335         * lib/unistr/u16-chr.c: New file.
109336         * lib/unistr/u32-chr.c: New file.
109338         * modules/unistr/u8-cmp: New file.
109339         * modules/unistr/u16-cmp: New file.
109340         * modules/unistr/u32-cmp: New file.
109341         * lib/unistr/u8-cmp.c: New file.
109342         * lib/unistr/u16-cmp.c: New file.
109343         * lib/unistr/u32-cmp.c: New file.
109345         * modules/unistr/u8-cpy: New file.
109346         * modules/unistr/u16-cpy: New file.
109347         * modules/unistr/u32-cpy: New file.
109348         * lib/unistr/u8-cpy.c: New file.
109349         * lib/unistr/u16-cpy.c: New file.
109350         * lib/unistr/u32-cpy.c: New file.
109351         * lib/unistr/u-cpy.h: New file.
109353         * modules/unistr/u8-cpy-alloc: New file.
109354         * modules/unistr/u16-cpy-alloc: New file.
109355         * modules/unistr/u32-cpy-alloc: New file.
109356         * lib/unistr/u8-cpy-alloc.c: New file.
109357         * lib/unistr/u16-cpy-alloc.c: New file.
109358         * lib/unistr/u32-cpy-alloc.c: New file.
109359         * lib/unistr/u-cpy-alloc.h: New file.
109361         * modules/unistr/u8-endswith: New file.
109362         * modules/unistr/u16-endswith: New file.
109363         * modules/unistr/u32-endswith: New file.
109364         * lib/unistr/u8-endswith.c: New file.
109365         * lib/unistr/u16-endswith.c: New file.
109366         * lib/unistr/u32-endswith.c: New file.
109367         * lib/unistr/u-endswith.h: New file.
109369         * modules/unistr/u8-mblen: New file.
109370         * modules/unistr/u16-mblen: New file.
109371         * modules/unistr/u32-mblen: New file.
109372         * lib/unistr/u8-mblen.c: New file.
109373         * lib/unistr/u16-mblen.c: New file.
109374         * lib/unistr/u32-mblen.c: New file.
109376         * modules/unistr/u8-mbtouc: New file.
109377         * modules/unistr/u16-mbtouc: New file.
109378         * modules/unistr/u32-mbtouc: New file.
109379         * lib/unistr/u8-mbtouc.c: New file.
109380         * lib/unistr/u16-mbtouc.c: New file.
109381         * lib/unistr/u32-mbtouc.c: New file.
109383         * modules/unistr/u8-mbtouc-safe: New file.
109384         * modules/unistr/u16-mbtouc-safe: New file.
109385         * modules/unistr/u32-mbtouc-safe: New file.
109386         * lib/unistr/u8-mbtouc-safe.c: New file.
109387         * lib/unistr/u16-mbtouc-safe.c: New file.
109388         * lib/unistr/u32-mbtouc-safe.c: New file.
109390         * modules/unistr/u8-move: New file.
109391         * modules/unistr/u16-move: New file.
109392         * modules/unistr/u32-move: New file.
109393         * lib/unistr/u8-move.c: New file.
109394         * lib/unistr/u16-move.c: New file.
109395         * lib/unistr/u32-move.c: New file.
109396         * lib/unistr/u-move.h: New file.
109398         * modules/unistr/u8-next: New file.
109399         * modules/unistr/u16-next: New file.
109400         * modules/unistr/u32-next: New file.
109401         * lib/unistr/u8-next.c: New file.
109402         * lib/unistr/u16-next.c: New file.
109403         * lib/unistr/u32-next.c: New file.
109405         * modules/unistr/u8-prev: New file.
109406         * modules/unistr/u16-prev: New file.
109407         * modules/unistr/u32-prev: New file.
109408         * lib/unistr/u8-prev.c: New file.
109409         * lib/unistr/u16-prev.c: New file.
109410         * lib/unistr/u32-prev.c: New file.
109412         * modules/unistr/u8-set: New file.
109413         * modules/unistr/u16-set: New file.
109414         * modules/unistr/u32-set: New file.
109415         * lib/unistr/u8-set.c: New file.
109416         * lib/unistr/u16-set.c: New file.
109417         * lib/unistr/u32-set.c: New file.
109418         * lib/unistr/u-set.h: New file.
109420         * modules/unistr/u8-startswith: New file.
109421         * modules/unistr/u16-startswith: New file.
109422         * modules/unistr/u32-startswith: New file.
109423         * lib/unistr/u8-startswith.c: New file.
109424         * lib/unistr/u16-startswith.c: New file.
109425         * lib/unistr/u32-startswith.c: New file.
109426         * lib/unistr/u-startswith.h: New file.
109428         * modules/unistr/u8-stpcpy: New file.
109429         * modules/unistr/u16-stpcpy: New file.
109430         * modules/unistr/u32-stpcpy: New file.
109431         * lib/unistr/u8-stpcpy.c: New file.
109432         * lib/unistr/u16-stpcpy.c: New file.
109433         * lib/unistr/u32-stpcpy.c: New file.
109434         * lib/unistr/u-stpcpy.h: New file.
109436         * modules/unistr/u8-stpncpy: New file.
109437         * modules/unistr/u16-stpncpy: New file.
109438         * modules/unistr/u32-stpncpy: New file.
109439         * lib/unistr/u8-stpncpy.c: New file.
109440         * lib/unistr/u16-stpncpy.c: New file.
109441         * lib/unistr/u32-stpncpy.c: New file.
109442         * lib/unistr/u-stpncpy.h: New file.
109444         * modules/unistr/u8-strcat: New file.
109445         * modules/unistr/u16-strcat: New file.
109446         * modules/unistr/u32-strcat: New file.
109447         * lib/unistr/u8-strcat.c: New file.
109448         * lib/unistr/u16-strcat.c: New file.
109449         * lib/unistr/u32-strcat.c: New file.
109450         * lib/unistr/u-strcat.h: New file.
109452         * modules/unistr/u8-strchr: New file.
109453         * modules/unistr/u16-strchr: New file.
109454         * modules/unistr/u32-strchr: New file.
109455         * lib/unistr/u8-strchr.c: New file.
109456         * lib/unistr/u16-strchr.c: New file.
109457         * lib/unistr/u32-strchr.c: New file.
109459         * modules/unistr/u8-strcmp: New file.
109460         * modules/unistr/u16-strcmp: New file.
109461         * modules/unistr/u32-strcmp: New file.
109462         * lib/unistr/u8-strcmp.c: New file.
109463         * lib/unistr/u16-strcmp.c: New file.
109464         * lib/unistr/u32-strcmp.c: New file.
109466         * modules/unistr/u8-strcpy: New file.
109467         * modules/unistr/u16-strcpy: New file.
109468         * modules/unistr/u32-strcpy: New file.
109469         * lib/unistr/u8-strcpy.c: New file.
109470         * lib/unistr/u16-strcpy.c: New file.
109471         * lib/unistr/u32-strcpy.c: New file.
109472         * lib/unistr/u-strcpy.h: New file.
109474         * modules/unistr/u8-strcspn: New file.
109475         * modules/unistr/u16-strcspn: New file.
109476         * modules/unistr/u32-strcspn: New file.
109477         * lib/unistr/u8-strcspn.c: New file.
109478         * lib/unistr/u16-strcspn.c: New file.
109479         * lib/unistr/u32-strcspn.c: New file.
109480         * lib/unistr/u-strcspn.h: New file.
109482         * modules/unistr/u8-strdup: New file.
109483         * modules/unistr/u16-strdup: New file.
109484         * modules/unistr/u32-strdup: New file.
109485         * lib/unistr/u8-strdup.c: New file.
109486         * lib/unistr/u16-strdup.c: New file.
109487         * lib/unistr/u32-strdup.c: New file.
109488         * lib/unistr/u-strdup.h: New file.
109490         * modules/unistr/u8-strlen: New file.
109491         * modules/unistr/u16-strlen: New file.
109492         * modules/unistr/u32-strlen: New file.
109493         * lib/unistr/u8-strlen.c: New file.
109494         * lib/unistr/u16-strlen.c: New file.
109495         * lib/unistr/u32-strlen.c: New file.
109496         * lib/unistr/u-strlen.h: New file.
109498         * modules/unistr/u8-strmblen: New file.
109499         * modules/unistr/u16-strmblen: New file.
109500         * modules/unistr/u32-strmblen: New file.
109501         * lib/unistr/u8-strmblen.c: New file.
109502         * lib/unistr/u16-strmblen.c: New file.
109503         * lib/unistr/u32-strmblen.c: New file.
109505         * modules/unistr/u8-strmbtouc: New file.
109506         * modules/unistr/u16-strmbtouc: New file.
109507         * modules/unistr/u32-strmbtouc: New file.
109508         * lib/unistr/u8-strmbtouc.c: New file.
109509         * lib/unistr/u16-strmbtouc.c: New file.
109510         * lib/unistr/u32-strmbtouc.c: New file.
109512         * modules/unistr/u8-strncat: New file.
109513         * modules/unistr/u16-strncat: New file.
109514         * modules/unistr/u32-strncat: New file.
109515         * lib/unistr/u8-strncat.c: New file.
109516         * lib/unistr/u16-strncat.c: New file.
109517         * lib/unistr/u32-strncat.c: New file.
109518         * lib/unistr/u-strncat.h: New file.
109520         * modules/unistr/u8-strncmp: New file.
109521         * modules/unistr/u16-strncmp: New file.
109522         * modules/unistr/u32-strncmp: New file.
109523         * lib/unistr/u8-strncmp.c: New file.
109524         * lib/unistr/u16-strncmp.c: New file.
109525         * lib/unistr/u32-strncmp.c: New file.
109527         * modules/unistr/u8-strncpy: New file.
109528         * modules/unistr/u16-strncpy: New file.
109529         * modules/unistr/u32-strncpy: New file.
109530         * lib/unistr/u8-strncpy.c: New file.
109531         * lib/unistr/u16-strncpy.c: New file.
109532         * lib/unistr/u32-strncpy.c: New file.
109533         * lib/unistr/u-strncpy.h: New file.
109535         * modules/unistr/u8-strnlen: New file.
109536         * modules/unistr/u16-strnlen: New file.
109537         * modules/unistr/u32-strnlen: New file.
109538         * lib/unistr/u8-strnlen.c: New file.
109539         * lib/unistr/u16-strnlen.c: New file.
109540         * lib/unistr/u32-strnlen.c: New file.
109541         * lib/unistr/u-strnlen.h: New file.
109543         * modules/unistr/u8-strpbrk: New file.
109544         * modules/unistr/u16-strpbrk: New file.
109545         * modules/unistr/u32-strpbrk: New file.
109546         * lib/unistr/u8-strpbrk.c: New file.
109547         * lib/unistr/u16-strpbrk.c: New file.
109548         * lib/unistr/u32-strpbrk.c: New file.
109549         * lib/unistr/u-strpbrk.h: New file.
109551         * modules/unistr/u8-strrchr: New file.
109552         * modules/unistr/u16-strrchr: New file.
109553         * modules/unistr/u32-strrchr: New file.
109554         * lib/unistr/u8-strrchr.c: New file.
109555         * lib/unistr/u16-strrchr.c: New file.
109556         * lib/unistr/u32-strrchr.c: New file.
109558         * modules/unistr/u8-strspn: New file.
109559         * modules/unistr/u16-strspn: New file.
109560         * modules/unistr/u32-strspn: New file.
109561         * lib/unistr/u8-strspn.c: New file.
109562         * lib/unistr/u16-strspn.c: New file.
109563         * lib/unistr/u32-strspn.c: New file.
109564         * lib/unistr/u-strspn.h: New file.
109566         * modules/unistr/u8-strstr: New file.
109567         * modules/unistr/u16-strstr: New file.
109568         * modules/unistr/u32-strstr: New file.
109569         * lib/unistr/u8-strstr.c: New file.
109570         * lib/unistr/u16-strstr.c: New file.
109571         * lib/unistr/u32-strstr.c: New file.
109572         * lib/unistr/u-strstr.h: New file.
109574         * modules/unistr/u8-strtok: New file.
109575         * modules/unistr/u16-strtok: New file.
109576         * modules/unistr/u32-strtok: New file.
109577         * lib/unistr/u8-strtok.c: New file.
109578         * lib/unistr/u16-strtok.c: New file.
109579         * lib/unistr/u32-strtok.c: New file.
109580         * lib/unistr/u-strtok.h: New file.
109582         * modules/unistr/u8-uctomb: New file.
109583         * modules/unistr/u16-uctomb: New file.
109584         * modules/unistr/u32-uctomb: New file.
109585         * lib/unistr/u8-uctomb.c: New file.
109586         * lib/unistr/u16-uctomb.c: New file.
109587         * lib/unistr/u32-uctomb.c: New file.
109589         * MODULES.html.sh (Unicode string functions): Add the new modules.
109591 2007-01-08  Bruno Haible  <bruno@clisp.org>
109593         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
109594         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
109595         subdirectories.
109597 2007-01-08  Karl Berry  <karl@gnu.org>
109599         * doc/error.texi: mention that main() fns must set program_name
109600         when progname is used.
109602 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
109604         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
109605         WCTYPE_H is empty, for the benefit of builds from non-distclean
109606         directories.  Problem reported by Eric Blake in
109607         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
109609 2007-01-08  Bruno Haible  <bruno@clisp.org>
109611         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
109612         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
109613         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
109614         PROVIDE_CANONICALIZE_FILENAME_MODE.
109615         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
109617 2007-01-08  Bruno Haible  <bruno@clisp.org>
109619         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
109620         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
109621         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
109622         * lib/fts.c: Likewise.
109623         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
109625 2006-12-25  Bruno Haible  <bruno@clisp.org>
109627         * modules/utf8-ucs4-safe: New file.
109628         * lib/utf8-ucs4-safe.h: New file.
109629         * lib/unistr/utf8-ucs4-safe.c: New file.
109631         * modules/utf16-ucs4-safe: New file.
109632         * lib/utf16-ucs4-safe.h: New file.
109633         * lib/unistr/utf16-ucs4-safe.c: New file.
109635         * MODULES.html.sh (Unicode string functions): Add the new modules.
109637 2007-01-08  Bruno Haible  <bruno@clisp.org>
109639         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
109640         (Depends-on): Add unitypes.
109641         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
109642         (u8_mbtouc_aux): Move out to separate file.
109643         (u8_mbtouc): Use ucs4_t, uint8_t types.
109644         * lib/unistr/utf8-ucs4.c: New file.
109646         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
109647         (Depends-on): Add unitypes.
109648         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
109649         (u16_mbtouc_aux): Move out to separate file.
109650         (u16_mbtouc): Use ucs4_t, uint16_t types.
109651         * lib/unistr/utf16-ucs4.c: New file.
109653         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
109654         (Depends-on): Add unitypes.
109655         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
109656         (u8_uctomb_aux): Move out to separate file.
109657         (u8_uctomb): Use ucs4_t, uint8_t types.
109658         * lib/unistr/ucs4-utf8.c: New file.
109660         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
109661         (Depends-on): Add unitypes.
109662         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
109663         (u16_uctomb_aux): Move out to separate file.
109664         (u16_uctomb): Use ucs4_t, uint16_t types.
109665         * lib/unistr/ucs4-utf16.c: New file.
109667 2006-12-25  Bruno Haible  <bruno@clisp.org>
109669         * modules/unitypes: New file.
109670         * lib/unitypes.h: New file.
109671         * MODULES.html.sh (func_all_modules): New section "Unicode string
109672         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
109673         this section. Add unitypes.
109675 2007-01-08  Bruno Haible  <bruno@clisp.org>
109677         Avoid variable names that conflict with those from libtool.
109678         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
109679         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
109680         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
109681         library_names_spec to acl_library_names_spec, hardcode_* to
109682         acl_hardcode_*.
109683         Reported by Ralf Wildenhues.
109685 2007-01-08  Bruno Haible  <bruno@clisp.org>
109687         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
109688         definition.
109689         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
109690         definition.
109691         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
109692         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
109693         definition.
109694         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
109695         definition.
109696         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
109697         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
109698         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
109699         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
109700         definition.
109701         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
109702         definition.
109703         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
109704         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
109705         GC_USE_<algorithm>.
109706         * lib/gc-libgcrypt.c: Likewise.
109707         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
109708         * modules/gc-arctwo (configure.ac): Likewise.
109709         * modules/gc-des (configure.ac): Likewise.
109710         * modules/gc-hmac-md5 (configure.ac): Likewise.
109711         * modules/gc-hmac-sha1 (configure.ac): Likewise.
109712         * modules/gc-md2 (configure.ac): Likewise.
109713         * modules/gc-md4 (configure.ac): Likewise.
109714         * modules/gc-md5 (configure.ac): Likewise.
109715         * modules/gc-random (configure.ac): Likewise.
109716         * modules/gc-rijndael (configure.ac): Likewise.
109717         * modules/gc-sha1 (configure.ac): Likewise.
109719 2007-01-08  Bruno Haible  <bruno@clisp.org>
109721         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
109722         macro definition.
109723         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
109724         definition.
109725         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
109726         definition.
109727         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
109728         * modules/fcntl-safer (configure.ac): Likewise.
109729         * modules/fopen-safer (configure.ac): Likewise.
109730         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
109731         GNULIB_FWRITEERROR macro definition.
109733 2007-01-08  Bruno Haible  <bruno@clisp.org>
109735         * m4/gnulib-common.m4: New file.
109736         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
109737         (func_get_filelist): Add m4/gnulib-common.m4.
109739 2007-01-08  Bruno Haible  <bruno@clisp.org>
109741         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
109742         command.
109744 2007-01-08  Jim Meyering  <jim@meyering.net>
109746         Use a more robust test for a "can't happen" condition.
109747         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
109748         narrowed the st_size value.  Presuming the "can't happen" condition
109749         is true, that narrowing could conceivably convert an invalid st_size
109750         value into a valid one.  Instead, use a change based on Matthew
109751         Woehlke's original patch.
109753         Slight readability improvement: use an assert-like macro
109754         in place of literal "abort ()" uses.
109755         * lib/fts.c (fts_assert): Define.
109756         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
109757         Use this macro instead of a bare 'abort'.
109759 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
109761         Don't worry about using IRIX 5.3's wctype.h broken definitions;
109762         simply work around them.
109763         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
109764         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
109765         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
109766         declaring.
109767         Don't bother to define as macros, since the standard doesn't require it.
109768         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
109769         longer worry about IRIX 5.3.
109770         (HAVE_WCTYPE_CTMP_BUG): Remove.
109772 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
109774         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
109775         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
109776         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
109777         Problems reported by Georg Schwarz for IRIX 5.3.
109779         * gnulib-tool (autoconf_minversion): Take the maximum version number
109780         found, not the minimum.  Problem reported by James Youngman.
109782 2007-01-03  Karl Berry  <karl@gnu.org>
109784         * doc/error.texi: new file, explaining interaction with progname.
109785         * doc/gnulib.texi: include it.  Update copyright.
109787 2007-01-03  Simon Josefsson  <simon@josefsson.org>
109789         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
109790         AC_CANONICAL_HOST, to improve autobuild outputs.
109792 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
109793             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
109795         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
109796         sockets, server sockets, and other file descriptors.  Count errors
109797         to compute the return value.  Reorder the code a bit to be easier
109798         to follow.  Don't set event bits that were not requested (except
109799         POLLERR and POLLHUP).
109801 2007-01-01  Bruno Haible  <bruno@clisp.org>
109803         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
109805 2007-01-03  Jim Meyering  <jim@meyering.net>
109807         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
109809 2007-01-02  Bruno Haible  <bruno@clisp.org>
109811         * modules/settime (Include): Require timespec.h.
109812         * modules/nanosleep (Include): Likewise.
109814 2007-01-01  Bruno Haible  <bruno@clisp.org>
109816         * gnulib-tool (func_emit_copyright_notice): Bump year.
109817         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
109819 2007-01-01  Bruno Haible  <bruno@clisp.org>
109821         Improve support for OpenBSD.
109822         * build-aux/config.rpath (libname_spec): Export.
109823         (library_names_spec): New variable. Export.
109824         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
109825         library_names_spec from the config.rpath output. Locate shared library
109826         through the name pattern in library_names_spec.
109828 2007-01-01  Eric Blake  <ebb9@byu.net>
109830         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
109832 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
109834         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
109835         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
109836         assume the C locale, and avoid an "eval" that could cause trouble.
109837         Problem with SORT reported by Bob Proulx.
109839         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
109840         Define.  Trivial patch from Henning Nielsen Lund, originally
109841         sent to bug-grep@gnu.org today.
109843 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
109845         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
109846         struct stat.  Problem reported by Henning Nielsen Lund.
109847         * lib/acl.c: Include acl.h first, to check interface.  Don't
109848         bother to include sys/types.h and sys/stat.h again.
109850 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
109852         Import the following change from libc; problem reported by
109853         Sven Verdoolaege.
109855         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
109857         [BZ #1373]
109858         * lib/argp.h: Remove __NTH for __argp_usage inline function.
109860 2006-12-28  Jim Meyering  <jim@meyering.net>
109862         * build-aux/announce-gen: Do not assume that the package
109863         builds any of tar.gz, tar.bz2, and .xdelta files.
109864         Suggestion from Simon Josefsson.
109866 2006-12-28  Simon Josefsson  <simon@josefsson.org>
109868         * modules/announce-gen: New file.
109870 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
109872         * lib/mbchar.h: Just include <wctype.h>; the wctype module
109873         handles its gotchas now.
109874         * lib/mbswidth.c: Likewise.
109875         * lib/wcwidth.h: Likewise.
109876         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
109877         and iswcntrl; the wctype module does this stuff now.
109878         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
109879         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
109880         * modules/mbchar (Depends-on): Add wctype.
109881         * modules/mbswidth (Depends-on): Likewise.
109882         * modules/wcwidth (Depends-on): Likewise.
109884 2006-12-27  Eric Blake  <ebb9@byu.net>
109886         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
109887         module uses more than what <wctype.h> is required to provide.
109889 2006-12-26  Eric Blake  <ebb9@byu.net>
109891         * gnulib-tool (sed_extract_prog): Avoid space-tab.
109893 2006-12-26  Eric Blake  <ebb9@byu.net>
109895         * modules/absolute-header: New module.
109896         * modules/fcntl (Depends-on): Depend on it.
109897         * modules/inttypes (Depends-on): Likewise.
109898         * modules/stdint (Depends-on): Likewise.
109899         * modules/sys_stat (Depends-on): Likewise.
109900         * modules/wctype (Depends-on): Likewise.
109901         * MODULES.html.sh (Support for building libraries and
109902         executables): Document it.
109904 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
109906         * gnulib-tool (SED): Remove, undoing previous change.
109907         The problem was that it broke coreutils on Solaris, because
109908         "sed --posix" leaked into a makefile.
109909         (sed): New alias, if 'alias' and GNU sed.
109911 2006-12-24  Jim Meyering  <jim@meyering.net>
109913         Work around an fchownat bug in glibc-2.4:
109914         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
109915         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
109916         in spite of the -P option.
109917         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
109918         New macros.
109919         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
109920         * modules/openat (Files): Add lib/fchownat.c.
109921         * lib/openat.c (fchownat): Don't define here.  Move to...
109922         * lib/fchownat.c: ...this new file.
109924 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
109926         Fix bug reported by Bruno Haible in
109927         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
109928         where quotearg.c didn't compile on Mac OS X 10.2 because it
109929         lacks <wchar.h> and wint_t.
109930         * lib/wctype_.h (__wctype_wint_t): New type.
109931         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
109932         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
109933         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
109934         Arg is now of type __wctype_wint_t, not wint_t.
109935         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
109936         substitute HAVE_WINT_T.
109937         * modules/wctype (Files): Add m4/wint_t.m4.
109938         (wctype.h): Substitute HAVE_WINT_T.
109940 2006-12-23  Bruno Haible  <bruno@clisp.org>
109942         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
109944 2006-12-23  Bruno Haible  <bruno@clisp.org>
109946         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
109947         S_ISLNK.
109948         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
109949         mingw.
109951 2006-12-22  Bruno Haible  <bruno@clisp.org>
109953         * lib/copy-file.c: Include acl.h.
109954         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
109955         Close the file descriptors only after being done with copy_acl.
109956         * modules/copy-file (Depends-on): Add acl.
109958 2006-12-22  Bruno Haible  <bruno@clisp.org>
109960         * gnulib-tool (SED): New variable.
109961         Use $SED instead of sed everywhere.
109963 2006-12-22  Bruno Haible  <bruno@clisp.org>
109965         * modules/no-c++: New file.
109966         * m4/no-c++.m4: New file.
109967         * MODULES.html.sh (Support for building libraries and executables):
109968         Add no-c++.
109970 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
109972         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
109973         Include <limits.h>, and use its INT_MAX to rewrite the
109974         j loop so that it does not overflow 'int'.  Problem reported by
109975         Ralf Wildenhues in
109976         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
109977         Play it safe by shifting left by 1 rather than multiplying by 2,
109978         as GCC is less likely to optimize this away when the value
109979         is signed (when it assumes overflow leads to undefined behavior).
109980         Also, don't assume time_t uses two's complement.
109982 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
109984         * MODULES.html.sh: New module wctype.
109985         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
109986         * lib/fnmatch.c: Don't bother to include <wchar.h> before
109987         <wctype.h>, since the new wctype module should fix this.
109988         * lib/quotearg.c: Include <wctype.h> unconditionally, since
109989         the wctype module should arrange for it.
109990         * lib/regex_internal.h: Likewise.
109991         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
109992         since the wctype module should handle this now.
109993         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
109994         * modules/fnmatch (Depends-on): Add wctype.
109995         * modules/quotearg (Depends-on): Likewise.
109996         * modules/regex (Depends-on): Likewise.
109998 2006-12-19  Bruno Haible  <bruno@clisp.org>
110000         * lib/strdup.h [C++]: Wrap definitions in extern "C".
110001         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
110003 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110005         * modules/savewd (Depends-on): Fix dependency on fcntl.
110007 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110009         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
110010         conforms to C99, rather than relying on the user's environment
110011         setting of STDINT_H.
110013 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110014         and Eric Blake  <ebb9@byu.net>
110016         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
110017         This is more consistent with the other defines here.
110018         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
110019         Port to z/OS.  Problem reported by Paul Gilmartin.
110020         Change local vars to use gl_ prefix rather than ac_.
110021         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
110022         with other defines.
110023         * modules/double-slash-root: New module.
110024         * modules/dirname (Files): Remove m4/double-slash-root.m4.
110025         (Depends-on): Add double-slash-root.
110026         * MODULES.html.sh (File system functions): Mention new module.
110028 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
110030         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
110031         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
110032         This is for the benefit of gzip, which doesn't do i18n.
110034 2006-12-12  Jim Meyering  <jim@meyering.net>
110036         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
110037         Reported by Andreas Schwab <schwab@suse.de>.
110039 2006-12-12  Bruno Haible  <bruno@clisp.org>
110041         Merge these changes.
110042         2006-09-05  Bruno Haible  <bruno@clisp.org>
110043         * lib/iconvme.c (iconv_string): No need to save and restore errno when
110044         iconv_alloc succeeded.
110045         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
110046         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
110047         test for " && dest " at the end - dest is always != NULL there. Call
110048         iconv with 4xNULL arguments initially, to reset the state. Call iconv
110049         with 2xNULL arguments, also to flush the state storage. Handle the
110050         IRIX iconv behaviour. Realloc the final result, to throw away unused
110051         memory.
110053 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
110055         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
110056         and fchmodat unconditionally, since glibc 2.4 has them.
110057         Problem reported by Arkadiusz Miskiewicz.
110059 2006-12-10  Bruno Haible  <bruno@clisp.org>
110061         * gnulib-tool (func_import): Show the include files only for those
110062         modules that are copied and specified.
110063         Reported by Karl Berry.
110065 2006-12-08  Jim Meyering  <jim@meyering.net>
110067         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
110068         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
110070         * build-aux/announce-gen: Add two new options, both optional:
110071         --bootstrap-tools=TOOL_LIST
110072               a comma-separated list of tools, e.g.,
110073               autoconf,automake,bison,gnulib
110074         --gnulib-snapshot-date=DATE
110075               if gnulib is in the bootstrap tool list,
110076               then report this as the snapshot date.
110077               If not specified, use the current date/time.
110078               If you specify a date here, be sure it's UTC.
110080 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110082         * tests/test-argp-2.sh: Fix test to match actual output.
110083         (func_compare): Fix sed script to be portable.
110085 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
110087         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
110088         workaround for this case.  It is not autoconfigured now; offhand
110089         it's hard to see how to autoconfigure it.
110091 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
110093         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
110094         a directory that is about to be chowned.  Such a directory's
110095         initial file permissions should permit the owner only and this
110096         should not be changed until after the chown, since the group and
110097         other bits would be incorrect if they granted permission before
110098         the chown.
110100         Fix porting problem for iswctype reported by Georg Schwarz in:
110101         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
110102         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
110103         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
110104         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
110105         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
110107 2006-12-03  Jim Meyering  <jim@meyering.net>
110109         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
110110         p->fts_statp may not yet be defined.
110111         (fts_read): Instead, set it in the caller, once p->fts_statp is
110112         sure to be defined, and corresponds to a top-level directory.
110113         This bug made du -x fail.  Here's the coreutils test case:
110114         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
110115         Reported by Mike Frysinger.
110117 2006-12-01  Jim Meyering  <jim@meyering.net>
110119         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
110120         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
110121         Reported by Simon Josefsson.
110123 2006-11-30  Jim Meyering  <jim@meyering.net>
110125         * m4/warning.m4: Use the all-permissive copyright notice
110126         recommended by RMS (rather than LGPL).
110127         * m4/vararrays.m4: Likewise.
110128         * m4/flexmember.m4: Likewise.
110130 2006-11-29  Bruno Haible  <bruno@clisp.org>
110132         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110133         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
110134         using +=.
110135         Reported by Simon Josefsson <simon@josefsson.org>.
110137 2006-11-28  James Youngman  <jay@gnu.org>
110139         * README: Advise users that they might find the bug-gnulib@gnu.org
110140         and autotools-announce@gnu.org mailing lists useful.
110142 2006-11-28  Bruno Haible  <bruno@clisp.org>
110144         * m4/ptrdiff_max.m4: Remove file.
110146 2006-11-21  Bruno Haible  <bruno@clisp.org>
110148         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
110149         _AC_COMPUTE_INT.
110150         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110151         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
110152         _AC_COMPUTE_INT.
110153         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110154         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
110155         _AC_COMPUTE_INT.
110156         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110158 2006-11-28  Jim Meyering  <jim@meyering.net>
110160         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
110161         warning from "gcc -Wshadow" about shadowing the builtin.
110163 2006-11-27  Bruno Haible  <bruno@clisp.org>
110165         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
110166         _AC_COMPUTE_INT.
110167         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110169 2006-11-27  Bruno Haible  <bruno@clisp.org>
110170             Paul Eggert  <eggert@cs.ucla.edu>
110172         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
110174 2006-11-26  Bruno Haible  <bruno@clisp.org>
110176         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110177         noinst_LTLIBRARIES.
110179 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
110180             Bruno Haible  <bruno@clisp.org>
110182         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
110183         if compiling with "gcc -ansi".
110185 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
110187         Fix some incompatibilities with gcc -ansi -pedantic.
110188         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
110189         if compiling pedantically with GCC, unless it's C99 or later.
110190         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
110191         it mishandles gcc -ansi -pedantic as well.
110192         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
110193         if gcc -pedantic.
110194         * lib/regexec.c (check_node_accept_bytes): Don't use auto
110195         initializers for struct if -pedantic, unless it's C99 or later.
110197 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
110199         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
110200         Don't close an fd more than once. Identical atimes indicate
110201         success, not failure.
110203 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
110205         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
110207 2006-11-23  Jim Meyering  <jim@meyering.net>
110209         * build-aux/announce-gen: New file.  From coreutils.
110211 2006-11-22  Jim Meyering  <jim@meyering.net>
110213         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
110214         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
110215         (fts_read): Use a temporary to narrow the overused st_size member
110216         before using it in a switch statement.  Reported by Matthew Woehlke.
110218         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
110219         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
110221 2006-11-20  Bruno Haible  <bruno@clisp.org>
110223         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
110224         changequote instead of pairs of brackets.
110225         Reported by Andreas Schwab <schwab@suse.de>.
110227 2006-11-21  Jim Meyering  <jim@meyering.net>
110229         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
110230         so as to remain compatible with older compilers.
110231         Patch from Michael Deutschmann.
110233 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110235         * MODULES.html.sh (File system functions): Add openat.
110237         * lib/openat.h (rpl_fstatat): New macro, if
110238         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
110239         (fstatat): Define to rpl_fstatat under the same conditions,
110240         unless COMPILING_FSTATAT.
110241         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
110242         seems to have the bug.
110243         * lib/fstatat.c: New file.
110244         * modules/openat (Files): Add it.
110246 2006-11-20  Bruno Haible  <bruno@clisp.org>
110248         * Makefile: New file.
110250 2006-11-20  Jim Meyering  <jim@meyering.net>
110252         The beginnings of syntax-related checks for gnulib.
110253         * lib/Makefile: New file.
110254         * lib/t-idcache: New script.  Ensure that the two halves of
110255         idcache.c stay in sync.
110257         * lib/idcache.c: Adjust comments in user- and group- portions to
110258         be more accurate, and to be consistent with one another.
110260 2006-11-20  Jim Meyering  <jim@meyering.net>
110262         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
110263         continue using the flexible array member (thus, this module performs
110264         half as many malloc calls), with the addition that...
110265         (getgroup, getuser): Consistently record a non-match via an empty
110266         "name" string, and map an empty string match to a NULL return value.
110267         * modules/idcache (Depends-on): Re-add flexmember.
110269         * lib/idcache.c (getuser): Remove all uses of the register keyword.
110270         (getuidbyname, getgroup, getgidbyname): Likewise.
110272         Use cleaner syntax: NULL rather than 0.
110273         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
110275 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110277         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
110278         It mishandled the case where the group was missing.
110279         Problem reported by Greg Schafer.
110280         * modules/idcache: Likewise.
110282 2006-11-18  Jim Meyering  <jim@meyering.net>
110284         * check-module (%exempt_header): Add exception for some
110285         conditionally-included headers.
110287         * modules/i-ring (Depends-on): Add verify.
110288         (License): Change to LGPL.
110290 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
110292         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
110293         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
110294         and inttostr.h.  Use snprintf rather than uinttostr, so that
110295         LGPLed code doesn't depend on GPLed.
110297 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
110299         * modules/inline (License): Change from GPL to LGPL.
110301 2006-11-17  Jim Meyering  <jim@meyering.net>
110303         * modules/d-type (License): Switch to LGPL.
110305 2006-11-15  Bruno Haible  <bruno@clisp.org>
110307         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
110309 2006-11-15  Eric Blake  <ebb9@byu.net>
110311         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
110312         the module dependency.
110314 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110315             Bruno Haible  <bruno@clisp.org>
110317         * gnulib-tool (func_create_testdir): Add license consistency check.
110319 2006-11-15  Eric Blake  <ebb9@byu.net>
110321         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
110322         random "(cached)" in configure output.
110324 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110326         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
110327         test for conforming inttypes.h is both announced and cached.
110329         * MODULES.html.sh (seen_modules, seen_files): New variables.
110330         (func_module): Rewrite to use a few less gnulib-tool and sed
110331         invocations.  Avoid a couple of quadratic algorithms for ...
110332         (missed_modules, missed_files): ... these, with ...
110333         (func_append, func_tmpdir): ... these new functions, from
110334         gnulib-tool.  Analogously, install traps for cleanup.
110336         * tests/test-gc.c (main): Remove unused variables.
110337         * tests/test-read-file.c: Include stdlib.h, for 'free'.
110339 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
110341         * modules/inttostr (License): Change to LGPL.
110343 2006-11-14  Eric Blake  <ebb9@byu.net>
110345         * modules/tempname (License): Change to LGPL.
110347 2006-11-14  Eric Blake  <ebb9@byu.net>
110349         * doc/functions.texi (Function Portability): *printf functions on
110350         Cygwin now understand all POSIX size specifiers.
110352 2006-11-14  Bruno Haible  <bruno@clisp.org>
110354         * modules/c-ctype (License): Change to LGPL.
110356 2006-11-12  Bruno Haible  <bruno@clisp.org>
110358         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
110359         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
110360         for GNOME libraries, for which the include files are installed in
110361         subdirectories of $prefix/include.
110363 2006-11-12  Bruno Haible  <bruno@clisp.org>
110365         * m4/lib-link.m4: Require at least autoconf-2.54.
110366         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
110367         name to underscores for the --with option.
110369 2006-11-13  Bruno Haible  <bruno@clisp.org>
110371         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
110372         the tests directory.
110373         Reported by Ralf Wildenhues.
110375 2006-11-13  Bruno Haible  <bruno@clisp.org>
110377         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
110378         (func_emit_initmacro_end): Undo the override here.
110379         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
110380         Works around the famous automake error in coreutils.
110382 2006-11-13  Eric Blake  <ebb9@byu.net>
110384         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
110385         element, not its node.
110387 2006-11-12  Bruno Haible  <bruno@clisp.org>
110389         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
110390         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
110392 2006-11-12  Bruno Haible  <bruno@clisp.org>
110394         * gnulib-tool: New option --local-symlink.
110395         (func_usage): Document it.
110396         (lsymbolic): New variable.
110397         (func_import, func_create_testdir): If --symlink was not specified,
110398         test whether --local-symlink was specified and the file comes from
110399         the local_gnulib_dir.
110401 2006-11-12  Bruno Haible  <bruno@clisp.org>
110403         * gnulib-tool (func_ln): New function.
110404         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
110406 2006-11-12  Bruno Haible  <bruno@clisp.org>
110408         Finish support for source files in subdirectories.
110409         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
110410         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
110411         AUTOMAKE_OPTIONS.
110412         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
110414 2006-11-12  Bruno Haible  <bruno@clisp.org>
110416         * gnulib-tool (func_get_automake_snippet): Synthesize also an
110417         EXTRA_lib_SOURCES augmentation.
110418         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
110420 2006-11-12  Jim Meyering  <jim@meyering.net>
110422         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
110423         file descriptors.  This also averts a failure on systems with
110424         native openat support when a traversed directory lacks "x" access.
110425         * lib/fts_.h: Include "i-ring.h"
110426         (struct FTS) [fts_fd_ring]: New member.
110427         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
110428         (FCHDIR): Add parentheses.
110429         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
110430         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
110431         When descending, rather than simply closing the previous
110432         fts_cwd_fd value, push that file descriptor onto the ring.
110433         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
110434         (fts_open): Initialize the new fd_ring member.
110435         (fts_close): Clear the ring.
110436         (fts_safe_changedir): When possible, use our new fd_ring to skip
110437         the diropen and fstat and dev/ino comparison that would normally
110438         accompany a virtual `chdir ("..")'.
110440         * modules/fts (Depends-on): Add i-ring.
110441         * modules/i-ring: New module.
110442         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
110443         * m4/i-ring.m4: New file.
110445 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110447         * gnulib-tool (func_create_testdir): Fix replacement of
110448         `build-aux' in configure.ac.  Run autotools in gltests
110449         subdirectory.
110450         (func_create_testdir, func_create_megatestdir, test): There is
110451         no need for '--force' in most autotool invocations in a new
110452         tree.  Actually fail the whole test if any of the tools, or the
110453         configure or make stages fail.
110455         Sync from Automake.
110456         * build-aux/gnupload: Revert last change.  Add pointer to upload
110457         instructions of the GNU Maintenance Instructions.
110458         Suggestion by Karl Berry.
110460 2006-11-10  Jim Meyering  <jim@meyering.net>
110462         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
110464 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
110466         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
110467         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
110468         (bind_textdomain_codeset) [! ENABLE_NLS]:
110469         Evaluate all the arguments.  That way, callers get compatible behavior
110470         if the arguments have side effects.  Also, it avoids some GCC
110471         diagnostics in some cases; Joel E. Denny reported problems when Bison
110472         was configured with --enable-gcc-warnigs.
110474 2006-11-10  Jim Meyering  <jim@meyering.net>
110476         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
110477         relevant options in CFLAGS (like -O, -fno-inline) are taken into
110478         account.
110480 2006-11-10  Jim Meyering  <jim@meyering.net>
110482         * modules/inline: New file/module.
110483         * modules/xalloc (Files): Remove m4/inline.m4.
110484         (Depends-on): Add inline, instead.
110485         * modules/oset: Likewise.
110486         * modules/list: Likewise.
110488 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
110490         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
110491         Problem reported by Matthew Woehlke.
110493 2006-11-09  Bruno Haible  <bruno@clisp.org>
110495         * lib/tempname.c (gen_tempname): Remove variant that invokes
110496         __gen_tempname.
110497         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
110498         __gen_tempname.
110500 2006-11-08  Bruno Haible  <bruno@clisp.org>
110502         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
110503         to 'yes' instead of 'cross-compiling'.
110505 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
110507         * lib/quotearg.h (quotearg_free): New decl.
110508         * lib/quotearg.c (quotearg_free): New function.
110509         (slot0, nslots, slotvec0, slotvec):
110510         Now file-scope so that quotearg_free can get at them.
110512 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110514         Sync from Automake.
110515         * build-aux/gnupload: Add missing 'gnu' to example URL.
110516         Report by Karl Berry.
110518 2006-11-08  Bruno Haible  <bruno@clisp.org>
110520         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
110521         Suggested by Paul Eggert.
110523 2006-11-08  Jim Meyering  <jim@meyering.net>
110525         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
110526         It's already included if !_LIBC.
110527         (fts_safe_changedir): Add a comment.
110529 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
110531         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
110532         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
110533         Matthew Woehlke.
110535         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
110536         definitions up, to avoid colliding with change below.
110537         (static_inline) [HAVE_INLINE]: New macro.
110538         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
110539         Provide extern decls when !HAVE_INLINE.  Do not define unless
110540         static_inline is defined, either by us or by xmalloc.c.  Use
110541         static_inline rather than static inline.
110542         (XCALLOC): Optimize sizeof(T) = 1 case.
110543         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
110545 2006-11-07  Bruno Haible  <bruno@clisp.org>
110547         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
110548         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
110549         AC_C_INLINE.
110550         * modules/xalloc (Files): Add m4/inline.m4.
110552 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110554         * README: Fix typo.
110555         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
110556         (Miscellanous Notes): ...from this.
110558 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
110560         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
110561         Mention that offsetof should be used instead of sizeof.
110562         From Bruno Haible.
110564 2006-11-07  Bruno Haible  <bruno@clisp.org>
110566         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
110568 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
110570         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
110571         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
110572         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
110573         (gl_tree_add_before, gl_tree_add_after):
110574         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
110575         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
110576         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
110577         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
110578         (gl_linked_add_after, gl_linked_add_at): Likewise.
110579         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
110580         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
110581         (gl_tree_add_before, gl_tree_add_after): Likewise.
110582         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
110583         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
110584         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
110586 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110588         * lib/gl_oset.h: Use C comment style, not C++ comment style.
110590 2006-11-06  Bruno Haible  <bruno@clisp.org>
110592         * m4/inline.m4: New file.
110593         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
110594         * modules/list (Files): Add m4/inline.m4.
110595         * modules/oset (Files): Likewise.
110597 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
110599         * lib/idcache.c: Include <stddef.h>, for offsetof.
110600         (struct userid.name): Change from char * to a flexible array member.
110601         All uses changed.
110602         * modules/idcache (Depends-on): Add flexmember.
110604         * MODULES.html.sh (Core language properties): New module flexmember.
110605         * modules/flexmember, m4/flexmember.m4: New files.
110607         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
110608         inline functions that are identical with the old xnmalloc_inline,
110609         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
110610         that we can avoid some unnecessary integer multiplications and
110611         divisions in the common case where the element size is known at
110612         compile time.
110613         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
110614         needed.
110615         (xnboundedmalloc): Remove.
110616         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
110617         arguments, for consistency with rest of this header.
110618         (xcharalloc): Rewrite using XNMALLOC.
110619         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
110620         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
110621         versions have been moved to lib/xalloc.h and renamed to be the
110622         non-*_inline versions.
110623         (xmalloc, xrealloc): Implement without reference to the xnmalloc
110624         and xnrealloc functions, since those functions are now inline and
110625         now call us.
110626         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
110627         renaming described above.
110628         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
110629         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
110630         captures the dependency in AC_C_INLINE.
110632         New module canonicalize-lgpl, proposed by Charles Wilson in
110633         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
110634         with a few small changes afterwards.
110635         * MODULES.html.sh (File system functions): New module
110636         canonicalize-lgpl.
110637         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
110638         and canonicalize_file_name.
110639         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
110640         * modules/canonicalize-lgpl: New files.
110642 2006-11-05  Bruno Haible  <bruno@clisp.org>
110644         * gnulib-tool (func_import, func_create_testdir): Create directories
110645         also for files in subdirectories of lib/.
110647 2006-11-05  Bruno Haible  <bruno@clisp.org>
110649         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
110650         ANSI C compliant.
110652 2006-11-03  Bruno Haible  <bruno@clisp.org>
110654         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
110655         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
110656         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
110657         (xnboundedmalloc): New inline function.
110658         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
110659         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
110660         xmalloc.
110661         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
110662         xmalloc.
110663         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
110664         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
110665         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
110666         xmalloc.
110667         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
110668         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
110669         xmalloc.
110670         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
110671         gl_tree_add_after): Use XMALLOC instead of xmalloc.
110672         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
110673         xmalloc.
110674         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
110675         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
110676         gl_tree_add_after): Use XMALLOC instead of xmalloc.
110677         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
110678         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
110679         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
110680         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
110682 2006-11-03  Bruno Haible  <bruno@clisp.org>
110684         * lib/c-ctype.h [C++]: Define functions without name mangling.
110685         * lib/fwriteerror.h [C++]: Likewise.
110686         * lib/gcd.h [C++]: Likewise.
110687         * lib/linebreak.h [C++]: Likewise.
110689 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
110691         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
110692         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
110693         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
110694         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
110695         Check for functions and headers just once.
110696         Check for declaration of canonicalize_file_name.
110697         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
110699 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
110701         * gnulib-tool (func_import): Fix typo in actioncmd.
110703 2006-11-02  Bruno Haible  <bruno@clisp.org>
110705         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
110706         newline sequence in the Makefile.am snippet as a space, like "make"
110707         does.
110708         Reported by Roger Persson <perrog@gmail.com>.
110710 2006-11-01  Bruno Haible  <bruno@clisp.org>
110712         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
110713         already declared in <string.h>.
110714         * lib/strcase.h (strncasecmp): Don't declare it if yes.
110716 2006-11-01  Bruno Haible  <bruno@clisp.org>
110718         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
110719         * lib/strcase.h: Include <string.h>.
110720         (strcasecmp): Define to rpl_strcasecmp here.
110722 2006-11-01  Bruno Haible  <bruno@clisp.org>
110724         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
110726 2006-11-01  Eric Blake  <ebb9@byu.net>
110728         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
110730         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
110732 2006-10-29  Bruno Haible  <bruno@clisp.org>
110734         Make it compile in C++ mode.
110735         * lib/full-write.c (full_rw): Add a cast.
110737 2006-11-01  Bruno Haible  <bruno@clisp.org>
110739         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
110740         be POSIX compliant.
110741         Reported by Roger Persson <perrog@gmail.com>.
110743 2006-11-01  Eric Blake  <ebb9@byu.net>
110745         * lib/getopt_.h: Fix comments.
110747 2006-10-31  Eric Blake  <ebb9@byu.net>
110749         * modules/tmpdir (Depends-on): Add sys_stat.
110750         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
110751         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
110752         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
110753         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
110754         tempname.
110756 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
110758         Avoid some C++ diagnostics reported by Bruno Haible.
110759         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
110760         xmalloc.
110761         (quotearg_alloc): Use xcharalloc rather than xmalloc.
110762         (struct slotvec): Move to top level.
110763         (quotearg_n_options): Rewrite to avoid xmalloc.
110764         * lib/xalloc.h (xcharalloc): New function.
110765         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
110766         [defined __cplusplus]: Add function template that provides result
110767         type propagation.  This part of the change is from Bruno Haible.
110769 2006-10-29  Bruno Haible  <bruno@clisp.org>
110771         Make it compile in C++ mode.
110772         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
110773         * lib/strnlen1.c (strnlen1): Cast memchr result.
110774         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
110775         * lib/clean-temp.c (string_equals, string_hash): Add casts.
110776         (create_temp_dir): Rename local variable 'template'.
110777         (compile_csharp_using_sscli): Add cast.
110778         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
110779         * lib/findprog.c (find_in_path): Likewise.
110780         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
110781         * lib/wait-process.c (register_slave_subprocess): Likewise.
110783 2006-10-22  Bruno Haible  <bruno@clisp.org>
110785         * modules/tsearch: New file.
110786         * lib/tsearch.h: New file.
110787         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
110788         * m4/tsearch.m4: New file.
110789         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
110791 2006-10-29  Eric Blake  <ebb9@byu.net>
110793         * lib/arcfour.c: Assume config.h.
110794         * lib/arctwo.c: Likewise.
110795         * lib/base64.c: Likewise.
110796         * lib/check-version.c: Likewise.
110797         * lib/crc.c: Likewise.
110798         * lib/des.c: Likewise.
110799         * lib/gc-gnulib.c: Likewise.
110800         * lib/gc-libgcrypt.c: Likewise.
110801         * lib/gc-pbkdf2-sha1.c: Likewise.
110802         * lib/getaddrinfo.c: Likewise.
110803         * lib/getdelim.c: Likewise.
110804         * lib/getline.c: Likewise.
110805         * lib/hmac-md5.c: Likewise.
110806         * lib/hmac-sha1.c: Likewise.
110807         * lib/iconvme.c: Likewise.
110808         * lib/md2.c: Likewise.
110809         * lib/md4.c: Likewise.
110810         * lib/memxor.c: Likewise.
110811         * lib/read-file.c: Likewise.
110812         * lib/readline.c: Likewise.
110813         * lib/rijndael-alg-fst.c: Likewise.
110814         * lib/rijndael-api-fst.c: Likewise.
110815         * lib/xgetdomainname.c: Likewise.
110817 2006-10-28  Eric Blake  <ebb9@byu.net>
110819         * lib/xstrndup.c: Assume config.h.
110821 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
110823         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
110824         stat-macros.h is now for our own macros, whereas stat_h is for
110825         macros in the <sys/stat.h> name space.
110826         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
110827         (STAT_MACROS_H): Remove.
110828         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
110829         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
110830         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
110831         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
110832         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
110833         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
110834         Move these macros to ...
110835         * lib/stat_.h: here.  Don't include stat-macros.h.
110836         * lib/canonicalize.c: Don't include stat-macros.h.
110837         * lib/chown.c: Likewise.
110838         * lib/euidaccess.c: Likewise.
110839         * lib/file-type.c: Likewise.
110840         * lib/filemode.c: Likewise.
110841         * lib/glob.c: Likewise.
110842         * lib/isapipe.c: Likewise.
110843         * lib/lchown.c: Likewise.
110844         * lib/lstat.c: Likewise.
110845         * lib/mkdir-p.c: Likewise.
110846         * lib/rmdir.c: Likewise.
110847         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
110848         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
110849         unless mkdir isn't declared, to speed up 'configure'.
110850         Always create sys/stat.h, since it's unlikely any real sys/stat.h
110851         would define all the S_* symbols.
110852         * modules/canonicalize (Depends-on):
110853         Depend on sys_stat, not stat-macros.
110854         * modules/chown: Likewise.
110855         * modules/euidaccess: Likewise.
110856         * modules/filemode: Likewise.
110857         * modules/file-type: Likewise.
110858         * modules/glob: Likewise.
110859         * modules/isapipe: Likewise.
110860         * modules/lchown: Likewise.
110861         * modules/lstat: Likewise.
110862         * modules/mkancesdirs: Likewise.
110863         * modules/rmdir: Likewise.
110864         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
110865         * modules/modechange: Likewise.
110866         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
110867         (configure.ac): Remove gl_STAT_MACROS.
110868         * modules/sys_stat (Depends-on): Remove stat-macros.
110870 2006-10-27  Bruno Haible  <bruno@clisp.org>
110872         * m4/signed.m4: Remove file.
110873         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
110874         invocation.
110875         * modules/vasnprintf (Files): Remove m4/signed.m4.
110877 2006-10-27  Bruno Haible  <bruno@clisp.org>
110879         Update to GNU gettext 0.16.
110880         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
110881         m4/inttypes-h.m4, m4/signed.m4.
110882         * m4/gettext.m4: Update to GNU gettext 0.16.
110883         * m4/intl.m4: New file, from GNU gettext.
110884         * m4/intldir.m4: New file, from GNU gettext.
110885         * config/srclist.txt: Update
110887 2006-10-27  Eric Blake  <ebb9@byu.net>
110889         * MODULES.html.sh: Document tempname.
110890         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
110891         dependencies.
110892         (Files): Move lib/tempname.c...
110893         * modules/tempname: ...to this new module.
110894         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
110895         (gl_PREREQ_TEMPNAME): Move...
110896         * m4/tempname.m4: ...to this new file.
110897         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
110898         * modules/sys_stat (Depends-on): Add stat-macros.
110899         * lib/stat_.h (includes): Pick up stat macros.
110900         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
110901         if stat macros are broken.
110902         * lib/tempname.c (includes): No need to include "stat-macros.h".
110903         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
110904         (direxists, __path_search) [!_LIBC]: Don't compile these in
110905         gnulib; the tmpdir module covers that.
110906         * lib/tempname.h: New file.
110908 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
110910         * COPYING: Explain how gnulib-tool converts licence headers.
110911         Almost all wording by Eric Blake.
110913 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
110915         * lib/mbchar.h (is_basic_table): Make read-only.
110916         * lib/mbchar.c (is_basic_table): Likewise.
110917         Reported by John Darrington.
110919 2006-10-25  Bruno Haible  <bruno@clisp.org>
110921         * lib/progname.h (set_program_name): Undefine before defining.
110923 2006-10-25  Bruno Haible  <bruno@clisp.org>
110925         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
110926         false for non-gcc C++ compilers.
110927         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
110929 2006-10-24  Bruno Haible  <bruno@clisp.org>
110931         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
110932         iconv implementations like Irix iconv.
110934 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
110936         * modules/vararrays: New file.
110937         * m4/vararrays.m4: New file, taken from diffutils.
110938         * MODULES.html.sh: New module vararrays.
110940 2006-10-24  Karl Berry  <karl@gnu.org>
110942         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
110943         Don't call GNU Unix.
110945 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110947         * users.txt: Add Libtool.
110949         Sync from Libtool:
110951         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
110953         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
110954         to gnulib's policy of including config.h unconditionally.
110956 2006-10-24  Bruno Haible  <bruno@clisp.org>
110958         * modules/wcwidth (Files): Add m4/wint_t.m4.
110959         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
110960         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
110962 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
110964         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
110965         to pacify GCC with some -W flags enabled.  Problem reported by
110966         Bruno Haible.
110968 2006-10-24  Jim Meyering  <jim@meyering.net>
110970         * MODULES.html.sh: Remove uinttostr.  It's not a module.
110971         Reported by Karl Berry.
110973 2006-10-23  Bruno Haible  <bruno@clisp.org>
110975         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
110977 2006-10-24  Bruno Haible  <bruno@clisp.org>
110979         * lib/gl_list.h: Use C comment style, not C++ comment style.
110981 2006-10-23  Eric Blake  <ebb9@byu.net>
110983         * lib/getaddrinfo.c (includes): Add missing include.
110985 2006-10-23  Bruno Haible  <bruno@clisp.org>
110986             Paul Eggert  <eggert@cs.ucla.edu>
110988         Ability to rename obstack_free.
110989         * lib/obstack.h (__obstack_free): New macro. Declare instead of
110990         obstack_free.
110991         (obstack_free): Invoke the __obstack_free macro.
110992         * lib/obstack.c (obstack_free): Use __obstack_free macro.
110994 2006-10-23  Bruno Haible  <bruno@clisp.org>
110995             Paul Eggert  <eggert@cs.ucla.edu>
110997         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
110998         __argc, __argv from the declaration. (They are defined as macros on
110999         mingw.)
111001 2006-10-22  Bruno Haible  <bruno@clisp.org>
111003         * doc/gnulib-intro.texi: New file.
111004         * doc/gnulib.texi: Include it.
111006 2006-10-21  Bruno Haible  <bruno@clisp.org>
111008         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
111009         "Introduction", "Miscellanous Notes", "Particular Modules".
111011 2006-10-21  Bruno Haible  <bruno@clisp.org>
111013         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
111014         Change mostlyclean-local rule to avoid sh syntax error from bash
111015         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
111017 2006-10-23  Jim Meyering  <jim@meyering.net>
111019         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
111020         in place of snprintf.
111022         * modules/inttostr (Files): Add lib/uinttostr.c.
111023         * lib/uinttostr.c (inttostr): New file/function.
111024         * lib/inttostr.h (uinttostr): Declare.
111025         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
111026         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
111027         Add uinttostr.
111028         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
111030 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111032         * lib/canonicalize.c (ELOOP): Define if not already defined.
111033         Problem reported by Bruno Haible in
111034         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
111036 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111038         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
111039         Problem reported by Perry Smith and Ville Laurikari.
111041         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
111042         uses.
111044 2006-10-19  Bruno Haible  <bruno@clisp.org>
111046         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
111047         for mingw.
111049 2006-10-19  Bruno Haible  <bruno@clisp.org>
111051         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
111052         Needed for mingw.
111054 2006-10-19  Bruno Haible  <bruno@clisp.org>
111056         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
111058 2006-10-19  Bruno Haible  <bruno@clisp.org>
111060         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
111061         it.
111063 2006-10-19  Bruno Haible  <bruno@clisp.org>
111065         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
111066         invocation.
111068 2006-10-19  Bruno Haible  <bruno@clisp.org>
111070         * gnulib-tool (func_create_testdir): Don't include ftruncate and
111071         mountlist by default.
111073 2006-10-16  Bruno Haible  <bruno@clisp.org>
111075         * lib/c-strstr.c: Include c-strstr.h.
111077 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111079         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
111080         in a slash.
111082 2006-10-18  Bruno Haible  <bruno@clisp.org>
111084         * lib/lock.h [C++]: Wrap definitions in extern "C".
111086 2006-10-18  Bruno Haible  <bruno@clisp.org>
111088         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
111089         gl_LIBOBJS list.
111091 2006-10-18  Bruno Haible  <bruno@clisp.org>
111093         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
111095 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
111097         * lib/xstrtol.h: Include gettext.h.
111098         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
111099         Problem reported by Eric Blake.
111100         * modules/xstrtol (Depends-on): Add gettext-h.
111102 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
111104         * lib/strftime.c (advance): New macro.
111105         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
111106         incomplete type, so you can't add 0 to it.  Problem and patch
111107         reported by Eelco Dolstra for dietlibc.
111109 2006-10-18  Jim Meyering  <jim@meyering.net>
111111         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
111112         type for a local, and rename it: s/up/user_proc/.
111114 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
111116         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
111117         READ_UTMP_USER_PROCESS.
111118         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
111120 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
111122         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
111123         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
111125 2006-10-17  Eric Blake  <ebb9@byu.net>
111127         * lib/sigprocmask.c (sigprocmask): Fix typo.
111129         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
111131         * modules/clean-temp (Makefile.am): Don't add to make output...
111132         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
111133         config.h.
111135 2006-10-17  Bruno Haible  <bruno@clisp.org>
111137         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
111138         differently if DEFAULT_TEXT_DOMAIN is set.
111140 2006-10-16  Bruno Haible  <bruno@clisp.org>
111142         * lib/clean-temp.c: Include fwriteerror.h.
111144 2006-10-16  Bruno Haible  <bruno@clisp.org>
111146         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
111148 2006-10-16  Bruno Haible  <bruno@clisp.org>
111150         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
111151         * lib/sigprocmask.h: Include <sys/types.h>.
111152         (sigset_t): Use the system's definition if present.
111154 2006-10-17  Eric Blake  <ebb9@byu.net>
111156         * lib/xvasprintf.c (includes): Assume config.h.
111157         * lib/xasprintf.c (includes): Likewise.
111159 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
111161         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
111162         at least as wide as intmax_t.
111164 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
111166         (Imported from Automake.)
111167         * build-aux/gnupload: Update to version 1.1 of directive file.
111169 2006-10-16  Eric Blake  <ebb9@byu.net>
111171         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
111172         match Automake 1.10a.
111174 2006-10-14  Bruno Haible  <bruno@clisp.org>
111176         * modules/sigprocmask: New file.
111177         * lib/sigprocmask.h: New file.
111178         * lib/sigprocmask.c: New file.
111179         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
111180         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
111181         request sigprocmask.o.
111182         (gl_PREREQ_SIGPROCMASK): New macro.
111183         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
111184         (Depends-on): Add sigprocmask.
111185         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
111186         gt_SIGNALBLOCKING. Test for 'raise' only once.
111187         * lib/fatal-signal.c: Include sigprocmask.h.
111188         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
111189         unblock_fatal_signals): Define always.
111190         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
111191         sigprocmask.
111193 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
111195         Sync from Automake.
111196         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
111197         which incorrectly sets the mode of an existing destination
111198         directory.  In some cases the unpatched install-sh could do the
111199         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
111200         system.  We hope this is rare in practice, but it's clearly worth
111201         fixing.  Problem reported by Alex Unleashed in
111202         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
111203         Also, don't bother to check for -m bugs unless we're using -m;
111204         suggested by Stepan Kasal.
111206 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111208         Sync from Automake.
111209         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
111210         `-c' flag, so they appear at the same position as in %FASTDEP%
111211         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
111212         which ignores unknown options only after the first non-option.
111213         Bug report against M4 by Nelson H. F. Beebe.
111215 2006-10-13  Jim Meyering  <jim@meyering.net>
111217         Fix a bug in yesterday's change.
111218         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
111219         p->fts_statp->st_dev would be used uninitialized.
111220         Ensures that we always call fts_stat on the very first entry.
111221         Miklos Szeredi reported that find -xdev stopped working.
111223 2006-10-12  Bruno Haible  <bruno@clisp.org>
111225         * gnulib-tool (func_get_automake_snippet): Append an automatically
111226         computed EXTRA_DIST augmentation.
111227         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
111228         * modules/alloca-opt (Makefile.am): Likewise.
111229         * modules/allocsa (Makefile.am): Likewise.
111230         * modules/arcfour (Makefile.am): Likewise.
111231         * modules/arctwo (Makefile.am): Likewise.
111232         * modules/argmatch (Makefile.am): Likewise.
111233         * modules/argz (Makefile.am): Likewise.
111234         * modules/atexit (Makefile.am): Likewise.
111235         * modules/backupfile (Makefile.am): Likewise.
111236         * modules/byteswap (Makefile.am): Likewise.
111237         * modules/c-strtod (Makefile.am): Likewise.
111238         * modules/c-strtold (Makefile.am): Likewise.
111239         * modules/calloc (Makefile.am): Likewise.
111240         * modules/canon-host (Makefile.am): Likewise.
111241         * modules/canonicalize (Makefile.am): Likewise.
111242         * modules/chdir-long (Makefile.am): Likewise.
111243         * modules/chdir-safer (Makefile.am): Likewise.
111244         * modules/check-version (Makefile.am): Likewise.
111245         * modules/chown (Makefile.am): Likewise.
111246         * modules/cloexec (Makefile.am): Likewise.
111247         * modules/close-stream (Makefile.am): Likewise.
111248         * modules/closeout (Makefile.am): Likewise.
111249         * modules/crc (Makefile.am): Likewise.
111250         * modules/csharpexec (Makefile.am): Likewise.
111251         * modules/cycle-check (Makefile.am): Likewise.
111252         * modules/des (Makefile.am): Likewise.
111253         * modules/dev-ino (Makefile.am): Likewise.
111254         * modules/dirfd (Makefile.am): Likewise.
111255         * modules/dirname (Makefile.am): Likewise.
111256         * modules/dup2 (Makefile.am): Likewise.
111257         * modules/eealloc (Makefile.am): Likewise.
111258         * modules/error (Makefile.am): Likewise.
111259         * modules/euidaccess (Makefile.am): Likewise.
111260         * modules/exclude (Makefile.am): Likewise.
111261         * modules/exitfail (Makefile.am): Likewise.
111262         * modules/fcntl-safer (Makefile.am): Likewise.
111263         * modules/fcntl (Makefile.am): Likewise.
111264         * modules/file-type (Makefile.am): Likewise.
111265         * modules/fileblocks (Makefile.am): Likewise.
111266         * modules/filemode (Makefile.am): Likewise.
111267         * modules/filenamecat (Makefile.am): Likewise.
111268         * modules/fnmatch (Makefile.am): Likewise.
111269         * modules/fopen-safer (Makefile.am): Likewise.
111270         * modules/fpending (Makefile.am): Likewise.
111271         * modules/fprintftime (Makefile.am): Likewise.
111272         * modules/free (Makefile.am): Likewise.
111273         * modules/fsusage (Makefile.am): Likewise.
111274         * modules/ftruncate (Makefile.am): Likewise.
111275         * modules/fts (Makefile.am): Likewise.
111276         * modules/gc-arcfour (Makefile.am): Likewise.
111277         * modules/gc-des (Makefile.am): Likewise.
111278         * modules/gc-hmac-md5 (Makefile.am): Likewise.
111279         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
111280         * modules/gc-md4 (Makefile.am): Likewise.
111281         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111282         * modules/gc-sha1 (Makefile.am): Likewise.
111283         * modules/gc (Makefile.am): Likewise.
111284         * modules/getaddrinfo (Makefile.am): Likewise.
111285         * modules/getcwd (Makefile.am): Likewise.
111286         * modules/getdelim (Makefile.am): Likewise.
111287         * modules/getdomainname (Makefile.am): Likewise.
111288         * modules/getgroups (Makefile.am): Likewise.
111289         * modules/gethostname (Makefile.am): Likewise.
111290         * modules/gethrxtime (Makefile.am): Likewise.
111291         * modules/getline (Makefile.am): Likewise.
111292         * modules/getloadavg (Makefile.am): Likewise.
111293         * modules/getlogin_r (Makefile.am): Likewise.
111294         * modules/getndelim2 (Makefile.am): Likewise.
111295         * modules/getopt (Makefile.am): Likewise.
111296         * modules/getpagesize (Makefile.am): Likewise.
111297         * modules/getpass-gnu (Makefile.am): Likewise.
111298         * modules/getpass (Makefile.am): Likewise.
111299         * modules/getsubopt (Makefile.am): Likewise.
111300         * modules/gettime (Makefile.am): Likewise.
111301         * modules/gettimeofday (Makefile.am): Likewise.
111302         * modules/getugroups (Makefile.am): Likewise.
111303         * modules/getusershell (Makefile.am): Likewise.
111304         * modules/glob (Makefile.am): Likewise.
111305         * modules/group-member (Makefile.am): Likewise.
111306         * modules/hard-locale (Makefile.am): Likewise.
111307         * modules/hash (Makefile.am): Likewise.
111308         * modules/hmac-md5 (Makefile.am): Likewise.
111309         * modules/hmac-sha1 (Makefile.am): Likewise.
111310         * modules/human (Makefile.am): Likewise.
111311         * modules/idcache (Makefile.am): Likewise.
111312         * modules/imaxabs (Makefile.am): Likewise.
111313         * modules/imaxdiv (Makefile.am): Likewise.
111314         * modules/inet_ntop (Makefile.am): Likewise.
111315         * modules/inet_pton (Makefile.am): Likewise.
111316         * modules/intprops (Makefile.am): Likewise.
111317         * modules/inttostr (Makefile.am): Likewise.
111318         * modules/inttypes (Makefile.am): Likewise.
111319         * modules/isapipe (Makefile.am): Likewise.
111320         * modules/javaversion (Makefile.am): Likewise.
111321         * modules/lchmod (Makefile.am): Likewise.
111322         * modules/lchown (Makefile.am): Likewise.
111323         * modules/localcharset (Makefile.am): Likewise.
111324         * modules/long-options (Makefile.am): Likewise.
111325         * modules/lstat (Makefile.am): Likewise.
111326         * modules/malloc (Makefile.am): Likewise.
111327         * modules/mathl (Makefile.am): Likewise.
111328         * modules/mbchar (Makefile.am): Likewise.
111329         * modules/md2 (Makefile.am): Likewise.
111330         * modules/md4 (Makefile.am): Likewise.
111331         * modules/md5 (Makefile.am): Likewise.
111332         * modules/memcasecmp (Makefile.am): Likewise.
111333         * modules/memchr (Makefile.am): Likewise.
111334         * modules/memcmp (Makefile.am): Likewise.
111335         * modules/memcoll (Makefile.am): Likewise.
111336         * modules/memcpy (Makefile.am): Likewise.
111337         * modules/memmem (Makefile.am): Likewise.
111338         * modules/memmove (Makefile.am): Likewise.
111339         * modules/mempcpy (Makefile.am): Likewise.
111340         * modules/memrchr (Makefile.am): Likewise.
111341         * modules/memset (Makefile.am): Likewise.
111342         * modules/memxor (Makefile.am): Likewise.
111343         * modules/mkancesdirs (Makefile.am): Likewise.
111344         * modules/mkdir-p (Makefile.am): Likewise.
111345         * modules/mkdir (Makefile.am): Likewise.
111346         * modules/mkdtemp (Makefile.am): Likewise.
111347         * modules/mkstemp (Makefile.am): Likewise.
111348         * modules/mktime (Makefile.am): Likewise.
111349         * modules/modechange (Makefile.am): Likewise.
111350         * modules/mountlist (Makefile.am): Likewise.
111351         * modules/nanosleep (Makefile.am): Likewise.
111352         * modules/obstack (Makefile.am): Likewise.
111353         * modules/openat (Makefile.am): Likewise.
111354         * modules/pagealign_alloc (Makefile.am): Likewise.
111355         * modules/pathmax (Makefile.am): Likewise.
111356         * modules/physmem (Makefile.am): Likewise.
111357         * modules/poll (Makefile.am): Likewise.
111358         * modules/posixtm (Makefile.am): Likewise.
111359         * modules/posixver (Makefile.am): Likewise.
111360         * modules/putenv (Makefile.am): Likewise.
111361         * modules/quote (Makefile.am): Likewise.
111362         * modules/quotearg (Makefile.am): Likewise.
111363         * modules/raise (Makefile.am): Likewise.
111364         * modules/read-file (Makefile.am): Likewise.
111365         * modules/readline (Makefile.am): Likewise.
111366         * modules/readlink (Makefile.am): Likewise.
111367         * modules/readtokens (Makefile.am): Likewise.
111368         * modules/readutmp (Makefile.am): Likewise.
111369         * modules/realloc (Makefile.am): Likewise.
111370         * modules/regex (Makefile.am): Likewise.
111371         * modules/rename-dest-slash (Makefile.am): Likewise.
111372         * modules/rename (Makefile.am): Likewise.
111373         * modules/rijndael (Makefile.am): Likewise.
111374         * modules/rmdir (Makefile.am): Likewise.
111375         * modules/rpmatch (Makefile.am): Likewise.
111376         * modules/safe-read (Makefile.am): Likewise.
111377         * modules/safe-write (Makefile.am): Likewise.
111378         * modules/same-inode (Makefile.am): Likewise.
111379         * modules/same (Makefile.am): Likewise.
111380         * modules/save-cwd (Makefile.am): Likewise.
111381         * modules/savedir (Makefile.am): Likewise.
111382         * modules/setenv (Makefile.am): Likewise.
111383         * modules/settime (Makefile.am): Likewise.
111384         * modules/sha1 (Makefile.am): Likewise.
111385         * modules/sig2str (Makefile.am): Likewise.
111386         * modules/snprintf (Makefile.am): Likewise.
111387         * modules/stat-macros (Makefile.am): Likewise.
111388         * modules/stat-time (Makefile.am): Likewise.
111389         * modules/stdbool (Makefile.am): Likewise.
111390         * modules/stdint (Makefile.am): Likewise.
111391         * modules/stdlib-safer (Makefile.am): Likewise.
111392         * modules/stpcpy (Makefile.am): Likewise.
111393         * modules/stpncpy (Makefile.am): Likewise.
111394         * modules/strcase (Makefile.am): Likewise.
111395         * modules/strcasestr (Makefile.am): Likewise.
111396         * modules/strchrnul (Makefile.am): Likewise.
111397         * modules/strcspn (Makefile.am): Likewise.
111398         * modules/strdup (Makefile.am): Likewise.
111399         * modules/strerror (Makefile.am): Likewise.
111400         * modules/strftime (Makefile.am): Likewise.
111401         * modules/strndup (Makefile.am): Likewise.
111402         * modules/strnlen (Makefile.am): Likewise.
111403         * modules/strpbrk (Makefile.am): Likewise.
111404         * modules/strsep (Makefile.am): Likewise.
111405         * modules/strstr (Makefile.am): Likewise.
111406         * modules/strtod (Makefile.am): Likewise.
111407         * modules/strtoimax (Makefile.am): Likewise.
111408         * modules/strtok_r (Makefile.am): Likewise.
111409         * modules/strtol (Makefile.am): Likewise.
111410         * modules/strtoll (Makefile.am): Likewise.
111411         * modules/strtoul (Makefile.am): Likewise.
111412         * modules/strtoull (Makefile.am): Likewise.
111413         * modules/strtoumax (Makefile.am): Likewise.
111414         * modules/strverscmp (Makefile.am): Likewise.
111415         * modules/sys_socket (Makefile.am): Likewise.
111416         * modules/sys_stat (Makefile.am): Likewise.
111417         * modules/sysexits (Makefile.am): Likewise.
111418         * modules/time_r (Makefile.am): Likewise.
111419         * modules/timegm (Makefile.am): Likewise.
111420         * modules/timespec (Makefile.am): Likewise.
111421         * modules/tmpfile-safer (Makefile.am): Likewise.
111422         * modules/trim (Makefile.am): Likewise.
111423         * modules/unistd-safer (Makefile.am): Likewise.
111424         * modules/unlinkdir (Makefile.am): Likewise.
111425         * modules/unlocked-io (Makefile.am): Likewise.
111426         * modules/userspec (Makefile.am): Likewise.
111427         * modules/utime (Makefile.am): Likewise.
111428         * modules/utimecmp (Makefile.am): Likewise.
111429         * modules/utimens (Makefile.am): Likewise.
111430         * modules/vasnprintf (Makefile.am): Likewise.
111431         * modules/vasprintf (Makefile.am): Likewise.
111432         * modules/vsnprintf (Makefile.am): Likewise.
111433         * modules/xalloc (Makefile.am): Likewise.
111434         * modules/xgetcwd (Makefile.am): Likewise.
111435         * modules/xnanosleep (Makefile.am): Likewise.
111436         * modules/xreadlink (Makefile.am): Likewise.
111437         * modules/xstrtod (Makefile.am): Likewise.
111438         * modules/xstrtol (Makefile.am): Likewise.
111439         * modules/xstrtold (Makefile.am): Likewise.
111440         * modules/yesno (Makefile.am): Likewise.
111441         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
111443 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
111445         * modules/error (Makefile.am): Distribute files through
111446         EXTRA_DIST, not lib_SOURCES.
111448 2006-10-12  Eric Blake  <ebb9@byu.net>
111450         * modules/error (Makefile.am): Distribute files in /lib.
111451         * modules/obstack (Makefile.am): Likewise.
111453 2006-10-12  Bruno Haible  <bruno@clisp.org>
111455         * modules/acl (Makefile.am): Distribute all files in lib/ through
111456         EXTRA_DIST.
111457         * modules/arcfour (Makefile.am): Likewise.
111458         * modules/arctwo (Makefile.am): Likewise.
111459         * modules/argmatch (Makefile.am): Likewise.
111460         * modules/argz (Makefile.am): Likewise.
111461         * modules/atexit (Makefile.am): Likewise.
111462         * modules/backupfile (Makefile.am): Likewise.
111463         * modules/c-strtod (Makefile.am): Likewise.
111464         * modules/c-strtold (Makefile.am): Likewise.
111465         * modules/calloc (Makefile.am): Likewise.
111466         * modules/canon-host (Makefile.am): Likewise.
111467         * modules/canonicalize (Makefile.am): Likewise.
111468         * modules/chdir-long (Makefile.am): Likewise.
111469         * modules/chdir-safer (Makefile.am): Likewise.
111470         * modules/check-version (Makefile.am): Likewise.
111471         * modules/chown (Makefile.am): Likewise.
111472         * modules/cloexec (Makefile.am): Likewise.
111473         * modules/close-stream (Makefile.am): Likewise.
111474         * modules/closeout (Makefile.am): Likewise.
111475         * modules/crc (Makefile.am): Likewise.
111476         * modules/cycle-check (Makefile.am): Likewise.
111477         * modules/des (Makefile.am): Likewise.
111478         * modules/dirfd (Makefile.am): Likewise.
111479         * modules/dirname (Makefile.am): Likewise.
111480         * modules/dup2 (Makefile.am): Likewise.
111481         * modules/euidaccess (Makefile.am): Likewise.
111482         * modules/exclude (Makefile.am): Likewise.
111483         * modules/exitfail (Makefile.am): Likewise.
111484         * modules/fcntl-safer (Makefile.am): Likewise.
111485         * modules/file-type (Makefile.am): Likewise.
111486         * modules/fileblocks (Makefile.am): Likewise.
111487         * modules/filemode (Makefile.am): Likewise.
111488         * modules/filenamecat (Makefile.am): Likewise.
111489         * modules/fnmatch (Makefile.am): Likewise.
111490         * modules/fopen-safer (Makefile.am): Likewise.
111491         * modules/fpending (Makefile.am): Likewise.
111492         * modules/fprintftime (Makefile.am): Likewise.
111493         * modules/free (Makefile.am): Likewise.
111494         * modules/fsusage (Makefile.am): Likewise.
111495         * modules/ftruncate (Makefile.am): Likewise.
111496         * modules/fts (Makefile.am): Likewise.
111497         * modules/gc (Makefile.am): Likewise.
111498         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111499         * modules/getaddrinfo (Makefile.am): Likewise.
111500         * modules/getcwd (Makefile.am): Likewise.
111501         * modules/getdelim (Makefile.am): Likewise.
111502         * modules/getdomainname (Makefile.am): Likewise.
111503         * modules/getgroups (Makefile.am): Likewise.
111504         * modules/gethostname (Makefile.am): Likewise.
111505         * modules/gethrxtime (Makefile.am): Likewise.
111506         * modules/getline (Makefile.am): Likewise.
111507         * modules/getloadavg (Makefile.am): Likewise.
111508         * modules/getlogin_r (Makefile.am): Likewise.
111509         * modules/getopt (Makefile.am): Likewise.
111510         * modules/getpass (Makefile.am): Likewise.
111511         * modules/getpass-gnu (Makefile.am): Likewise.
111512         * modules/getsubopt (Makefile.am): Likewise.
111513         * modules/gettime (Makefile.am): Likewise.
111514         * modules/gettimeofday (Makefile.am): Likewise.
111515         * modules/getugroups (Makefile.am): Likewise.
111516         * modules/getusershell (Makefile.am): Likewise.
111517         * modules/glob (Makefile.am): Likewise.
111518         * modules/group-member (Makefile.am): Likewise.
111519         * modules/hard-locale (Makefile.am): Likewise.
111520         * modules/hash (Makefile.am): Likewise.
111521         * modules/hmac-md5 (Makefile.am): Likewise.
111522         * modules/hmac-sha1 (Makefile.am): Likewise.
111523         * modules/human (Makefile.am): Likewise.
111524         * modules/idcache (Makefile.am): Likewise.
111525         * modules/imaxabs (Makefile.am): Likewise.
111526         * modules/imaxdiv (Makefile.am): Likewise.
111527         * modules/inet_ntop (Makefile.am): Likewise.
111528         * modules/inet_pton (Makefile.am): Likewise.
111529         * modules/inttostr (Makefile.am): Likewise.
111530         * modules/isapipe (Makefile.am): Likewise.
111531         * modules/lchown (Makefile.am): Likewise.
111532         * modules/long-options (Makefile.am): Likewise.
111533         * modules/lstat (Makefile.am): Likewise.
111534         * modules/malloc (Makefile.am): Likewise.
111535         * modules/mathl (Makefile.am): Likewise.
111536         * modules/mbchar (Makefile.am): Likewise.
111537         * modules/md2 (Makefile.am): Likewise.
111538         * modules/md4 (Makefile.am): Likewise.
111539         * modules/md5 (Makefile.am): Likewise.
111540         * modules/memcasecmp (Makefile.am): Likewise.
111541         * modules/memchr (Makefile.am): Likewise.
111542         * modules/memcmp (Makefile.am): Likewise.
111543         * modules/memcoll (Makefile.am): Likewise.
111544         * modules/memcpy (Makefile.am): Likewise.
111545         * modules/memmem (Makefile.am): Likewise.
111546         * modules/memmove (Makefile.am): Likewise.
111547         * modules/mempcpy (Makefile.am): Likewise.
111548         * modules/memrchr (Makefile.am): Likewise.
111549         * modules/memset (Makefile.am): Likewise.
111550         * modules/memxor (Makefile.am): Likewise.
111551         * modules/mkancesdirs (Makefile.am): Likewise.
111552         * modules/mkdir (Makefile.am): Likewise.
111553         * modules/mkdir-p (Makefile.am): Likewise.
111554         * modules/mkdtemp (Makefile.am): Likewise.
111555         * modules/mkstemp (Makefile.am): Likewise.
111556         * modules/mktime (Makefile.am): Likewise.
111557         * modules/modechange (Makefile.am): Likewise.
111558         * modules/mountlist (Makefile.am): Likewise.
111559         * modules/nanosleep (Makefile.am): Likewise.
111560         * modules/openat (Makefile.am): Likewise.
111561         * modules/pagealign_alloc (Makefile.am): Likewise.
111562         * modules/physmem (Makefile.am): Likewise.
111563         * modules/poll (Makefile.am): Likewise.
111564         * modules/posixtm (Makefile.am): Likewise.
111565         * modules/posixver (Makefile.am): Likewise.
111566         * modules/putenv (Makefile.am): Likewise.
111567         * modules/quote (Makefile.am): Likewise.
111568         * modules/quotearg (Makefile.am): Likewise.
111569         * modules/raise (Makefile.am): Likewise.
111570         * modules/read-file (Makefile.am): Likewise.
111571         * modules/readline (Makefile.am): Likewise.
111572         * modules/readlink (Makefile.am): Likewise.
111573         * modules/readtokens (Makefile.am): Likewise.
111574         * modules/readutmp (Makefile.am): Likewise.
111575         * modules/realloc (Makefile.am): Likewise.
111576         * modules/regex (Makefile.am): Likewise.
111577         * modules/rename (Makefile.am): Likewise.
111578         * modules/rename-dest-slash (Makefile.am): Likewise.
111579         * modules/rijndael (Makefile.am): Likewise.
111580         * modules/rmdir (Makefile.am): Likewise.
111581         * modules/rpmatch (Makefile.am): Likewise.
111582         * modules/safe-read (Makefile.am): Likewise.
111583         * modules/safe-write (Makefile.am): Likewise.
111584         * modules/same (Makefile.am): Likewise.
111585         * modules/save-cwd (Makefile.am): Likewise.
111586         * modules/savedir (Makefile.am): Likewise.
111587         * modules/setenv (Makefile.am): Likewise.
111588         * modules/settime (Makefile.am): Likewise.
111589         * modules/sha1 (Makefile.am): Likewise.
111590         * modules/sig2str (Makefile.am): Likewise.
111591         * modules/snprintf (Makefile.am): Likewise.
111592         * modules/stdlib-safer (Makefile.am): Likewise.
111593         * modules/stpcpy (Makefile.am): Likewise.
111594         * modules/stpncpy (Makefile.am): Likewise.
111595         * modules/strcase (Makefile.am): Likewise.
111596         * modules/strcasestr (Makefile.am): Likewise.
111597         * modules/strchrnul (Makefile.am): Likewise.
111598         * modules/strcspn (Makefile.am): Likewise.
111599         * modules/strdup (Makefile.am): Likewise.
111600         * modules/strerror (Makefile.am): Likewise.
111601         * modules/strftime (Makefile.am): Likewise.
111602         * modules/strndup (Makefile.am): Likewise.
111603         * modules/strnlen (Makefile.am): Likewise.
111604         * modules/strpbrk (Makefile.am): Likewise.
111605         * modules/strsep (Makefile.am): Likewise.
111606         * modules/strstr (Makefile.am): Likewise.
111607         * modules/strtod (Makefile.am): Likewise.
111608         * modules/strtoimax (Makefile.am): Likewise.
111609         * modules/strtok_r (Makefile.am): Likewise.
111610         * modules/strtol (Makefile.am): Likewise.
111611         * modules/strtoll (Makefile.am): Likewise.
111612         * modules/strtoul (Makefile.am): Likewise.
111613         * modules/strtoull (Makefile.am): Likewise.
111614         * modules/strtoumax (Makefile.am): Likewise.
111615         * modules/strverscmp (Makefile.am): Likewise.
111616         * modules/time_r (Makefile.am): Likewise.
111617         * modules/timegm (Makefile.am): Likewise.
111618         * modules/tmpfile-safer (Makefile.am): Likewise.
111619         * modules/unistd-safer (Makefile.am): Likewise.
111620         * modules/unlinkdir (Makefile.am): Likewise.
111621         * modules/userspec (Makefile.am): Likewise.
111622         * modules/utime (Makefile.am): Likewise.
111623         * modules/utimecmp (Makefile.am): Likewise.
111624         * modules/utimens (Makefile.am): Likewise.
111625         * modules/vasnprintf (Makefile.am): Likewise.
111626         * modules/vasprintf (Makefile.am): Likewise.
111627         * modules/vsnprintf (Makefile.am): Likewise.
111628         * modules/xalloc (Makefile.am): Likewise.
111629         * modules/xgetcwd (Makefile.am): Likewise.
111630         * modules/xnanosleep (Makefile.am): Likewise.
111631         * modules/xreadlink (Makefile.am): Likewise.
111632         * modules/xstrtod (Makefile.am): Likewise.
111633         * modules/xstrtol (Makefile.am): Likewise.
111634         * modules/xstrtold (Makefile.am): Likewise.
111635         * modules/yesno (Makefile.am): Likewise.
111637 2006-10-12  Jim Meyering  <jim@meyering.net>
111639         * m4/getloadavg.m4: Revert the change below.
111641         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
111642         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
111643         fail with a symlink, which is what coreutils' ./bootstrap now
111644         creates by default.
111646 2006-10-12  Bruno Haible  <bruno@clisp.org>
111648         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
111649         mingw.
111650         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
111651         MSVC and mingw explicitly.
111653 2006-10-11  Simon Josefsson  <jas@extundo.com>
111654             Bruno Haible  <bruno@clisp.org>
111656         Add support for multiple gnulib-tool invocations in the scope of a
111657         single configure.ac file.
111658         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
111659         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
111660         with the same contents as the _LIBADD variable.
111661         (func_emit_initmacro_start, func_emit_initmacro_end,
111662         func_emit_initmacro_done): New functions.
111663         (func_import, func_create_testdir): Invoke them. Allow the identifiers
111664         gl_LIBOBJS and gl_LTLIBOBJS.
111666 2006-10-11  Bruno Haible  <bruno@clisp.org>
111668         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
111669         (func_create_testdir): Don't create po/Makefile.am, don't invoke
111670         autoreconf. Instead, invoke autopoint explicitly but move back the
111671         *.m4 files from gnulib.
111673 2006-10-11  Bruno Haible  <bruno@clisp.org>
111675         * gnulib-tool (func_usage): Make module names after --create-testdir
111676         optional.
111677         (func_create_testdir): If no module was specified, use nearly all
111678         modules.
111680 2006-10-12  Jim Meyering  <jim@meyering.net>
111682         Big performance improvement for fts-based tools that use FTS_NOSTAT.
111683         Avoid spurious inode-mismatch problems on non-POSIX file systems.
111684         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
111685         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
111686         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
111687         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
111688         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
111689         (fts_set_stat_required): New function.
111690         (fts_open): Defer the calls to fts_stat, if possible or requested.
111691         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
111692         into fts_stat itself.
111693         (fts_read): Perform any required (deferred) fts_stat call.
111694         (fts_build): Likewise, for the directory we're about to open and read.
111695         In the readdir loop, carefully decide whether each entry will require
111696         an eventual call to fts_stat, using dirent.d_type info if available.
111697         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
111698         a command line argument into this function.  Update all callers.
111699         Map a return value of FTS_DOT to FTS_D for a command line argument.
111700         * modules/fts (Depends-on): Add d-type.  Alphabetize.
111701         Thanks to Miklos Szeredi for his tenacity and for the initial
111702         bug report about "find" failing on a FUSE-based file system.
111704         * lib/fts.c (fts_open): Use consistent indentation.
111706 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
111708         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
111709         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
111710         reported by Jim Meyering.  All uses of cache variables renamed
111711         to match Autoconf's.
111712         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
111713         the other one.
111715         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
111716         Fix misspelling in diagnostic.
111718 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
111720         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
111721         defined.  Problem reported by Matthew Woehlke.
111723         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
111724         Add support for Tandem NonStop R series.
111725         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
111726         Use new macro.
111728         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
111729         (has_trailing_slash): Omit size arg; all callers changed.
111730         Omit 'inline', since it doesn't help performance and we'd
111731         need to configure it.
111732         Don't count //, ///, etc. as having a trailing slash.
111733         As a side effect, this removes a C99ism reported by Matthew Woehlke.
111734         (rpl_rename_dest_slash): On failure, use rename's errno rather
111735         than (in some cases) an incorrect or junk errno.
111736         Simplify code by removing need to compute length; this does
111737         cause it to make two passes instead of one over the file name,
111738         but it's worth it.
111740         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
111741         change, since Autoconf's version may no longer be appropriate now
111742         that we are using CVS Autoconf's version.  Add support for Tandem.
111744 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
111745             Bruno Haible  <bruno@clisp.org>
111747         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
111748         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
111749         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
111750         gl_AC_TYPE_LONG_LONG.
111752         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
111753         instead of HAVE_LONG_LONG.
111754         * lib/printf-args.c (printf_fetchargs): Likewise.
111755         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
111756         * lib/vasnprintf.c (VASNPRINTF): Likewise.
111757         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
111758         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
111759         gl_AC_TYPE_LONG_LONG.
111761 2006-10-11  Bruno Haible  <bruno@clisp.org>
111763         * m4/longlong.m4: Add comments.
111764         * m4/ulonglong.m4: Likewise.
111766 2006-10-10  Bruno Haible  <bruno@clisp.org>
111768         Make it possible to #define stpcpy, strdup to aliases.
111769         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
111770         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
111772 2006-10-10  Bruno Haible  <bruno@clisp.org>
111774         Make it possible to #define gcd to an alias.
111775         * lib/gcd.c: Include config.h.
111777 2006-10-10  Bruno Haible  <bruno@clisp.org>
111779         Make it possible to #define c_isascii to an alias.
111780         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
111781         defined. Undefine the macros before defining them, to avoid gcc
111782         warnings.
111783         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
111784         define NO_C_CTYPE_MACROS early.
111786 2006-10-10  Bruno Haible  <bruno@clisp.org>
111788         Make it possible to #define set_program_name to an alias.
111789         * lib/progname.c: Don't undefine set_program_name; instead, undefine
111790         ENABLE_RELOCATABLE early.
111792 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
111794         Port to Tandem NSK OSS, which has 64-bit signed int but at most
111795         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
111796         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
111797         More generally, don't assume that 64-bit signed int is available
111798         if unsigned int is, and vice versa.
111799         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
111800         unsigned symbols, not on their signed counterparts.
111801         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
111802         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
111803         (UINT64_C, UINTMAX_C):
111804         Likewise.
111805         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
111806         unsigned counterparts.
111807         (Have_long_long, Unsigned): New macros.
111808         (Int): Renamed from INT.
111809         (strtoimax): Use the new macros.
111810         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
111811         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
111812         * modules/inttypes (inttypes.h): Substitute
111813         HAVE_UNSIGNED_LONG_LONG_INT.
111814         * modules/stdint (stdint.h): Likewise.
111815         (Files): Add m4/ulonglong.m4.
111817 2006-10-10  Bruno Haible  <bruno@clisp.org>
111819         Fix a gcc -Wshadow warning.
111820         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
111821         to 'bucket'.
111822         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
111823         gl_linked_indexof_from_to): Likewise.
111824         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
111825         Likewise.
111826         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
111827         Likewise.
111828         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
111829         Reported by Eric Blake.
111831 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
111833         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
111834         for NetBSD.  Problem reported by Bruno Haible.
111836 2006-10-09  Jim Meyering  <jim@meyering.net>
111838         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
111839         Patch from Bruno Haible.
111841 2006-10-09  Jim Meyering  <jim@meyering.net>
111843         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
111844         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
111845         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
111847 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
111849         Don't include <config.h> twice; this doesn't work in some cases,
111850         e.g., when config.h has "#define intmax_t long long int" and
111851         we include <config.h>, <inttypes.h>, <config.h> in that order.
111852         Problem reported by Matthew Woehlke in:
111853         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
111854         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
111855         * lib/fts-cycle.c: Don't include config.h.
111856         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
111857         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
111858         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
111859         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
111860         inttypes.h.
111861         * lib/xstrtoumax.c: Likewise.
111862         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
111863         __strtol and the like, so that this module is more like its siblings.
111864         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
111865         Remove; no longer needed now that we assume gnulib inttypes.h.
111867 2006-10-08  Bruno Haible  <bruno@clisp.org>
111869         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
111870         option.
111872 2006-10-07  Jim Meyering  <jim@meyering.net>
111874         * modules/inttypes (inttypes.h): Revert what seems to have been
111875         an inadvertent part of today's change: use "|", not "/" in the
111876         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
111878 2006-10-07  Bruno Haible  <bruno@clisp.org>
111880         * modules/sublist: New file.
111882 2006-10-07  Bruno Haible  <bruno@clisp.org>
111884         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
111885         * modules/argz (argz.h): Likewise.
111886         * modules/arpa_inet (arpa/inet.h): Likewise.
111887         * modules/byteswap (byteswap.h): Likewise.
111888         * modules/configmake (configmake.h): Likewise.
111889         * modules/fcntl (fcntl.h): Likewise.
111890         * modules/fnmatch (fnmatch.h): Likewise.
111891         * modules/getopt (getopt.h): Likewise.
111892         * modules/glob (glob.h): Likewise.
111893         * modules/inttypes (inttypes.h): Likewise.
111894         * modules/netinet_in (netinet/in.h): Likewise.
111895         * modules/poll (poll.h): Likewise.
111896         * modules/stdbool (stdbool.h): Likewise.
111897         * modules/stdint (stdint.h): Likewise.
111898         * modules/sys_select (sys/select.h): Likewise.
111899         * modules/sys_socket (sys/socket.h): Likewise.
111900         * modules/sys_stat (sys/stat.h): Likewise.
111901         * modules/sysexits (sysexits.h): Likewise.
111902         * modules/unistd (unistd.h): Likewise.
111903         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
111904         Add a "DO NOT EDIT" comment to the generated file.
111905         (func_import): Likewise for gnulib-comp.m4.
111907 2006-10-07  Bruno Haible  <bruno@clisp.org>
111909         * lib/gl_sublist.h: New file.
111910         * lib/gl_sublist.c: New file.
111912 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
111914         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
111915         name (relative to the original working directory) and the file
111916         name component (relative to the temporary working directory).  All
111917         callers changed.
111918         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
111919         * lib/mkdir-p.c (make_dir_parents): Likewise.
111920         * lib/mkdir-p.h (make_dir_parents): Likewise.
111922 2006-10-06  Eric Blake  <ebb9@byu.net>
111924         Define several macros for use by the clean-temp module.
111925         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
111926         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
111927         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
111929         * lib/clean-temp.h (close_stream_temp): New declaration.
111930         * lib/clean-temp.c (includes): Pull in headers according to what
111931         other modules are in use.
111932         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
111934 2006-10-06  Bruno Haible  <bruno@clisp.org>
111936         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
111937         instead of fopen, fwriteerror.
111939 2006-10-06  Bruno Haible  <bruno@clisp.org>
111941         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
111942         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
111943         int.
111944         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
111945         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
111946         Return an error indicator.
111947         Suggested by Eric Blake.
111949 2006-10-06  Bruno Haible  <bruno@clisp.org>
111951         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
111952         Reported by Eric Blake.
111954 2006-10-06  Bruno Haible  <bruno@clisp.org>
111956         * modules/closeout (Description): Mention stderr too.
111958 2006-10-06  Bruno Haible  <bruno@clisp.org>
111959         and Paul Eggert  <eggert@cs.ucla.edu>
111961         * lib/closeout.c (close_stdout): Also close stderr.
111962         * lib/closeout.h: Update comment.
111964 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
111966         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
111967         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
111968         * lib/dirchownmod.c: Include lchown.h.
111969         * lib/lchown.c: Don't include files that lchown.h now includes.
111970         Don't declare chown, since lchown.h now does that.
111971         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
111972         (lchown): Define to rpl_chown if lchown is declared but
111973         does not exist.  Declare using a prototype if lchown is not
111974         declared.  Add a copyright notice.
111975         * lib/mkstemp.h: Include <unistd.h>.
111976         * lib/openat.c: Include lchown.h.
111978         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
111979         we now test for that separately.
111980         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
111981         rather than O_NOFOLLOW, when testing whether it's possible to
111982         avoid a race condition reliably.
111983         * lib/savewd.c (savewd_chdir): Likewise.
111985         Remove macros that are no longer needed now that stdint.h is
111986         reliable.
111987         * lib/fsusage.c (UINTMAX_MAX): Remove.
111988         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
111989         * lib/utimecmp.c (SIZE_MAX): Remove.
111991         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
111993         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
111994         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
111995         O_NOATIME works.
111997 2006-10-05  Bruno Haible  <bruno@clisp.org>
111999         * lib/gl_list.h (gl_sortedlist_search_from_to,
112000         gl_sortedlist_indexof_from_to): New declarations.
112001         (gl_list_implementation): New fields sortedlist_search_from_to,
112002         sortedlist_indexof_from_to.
112003         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
112004         inline functions.
112005         * lib/gl_list.c (gl_sortedlist_search_from_to,
112006         gl_sortedlist_indexof_from_to): New functions.
112007         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
112008         function.
112009         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
112010         (gl_array_sortedlist_search_from_to): New function.
112011         (gl_array_list_implementation): Update.
112012         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
112013         function.
112014         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
112015         (gl_carray_sortedlist_search_from_to): New function.
112016         (gl_carray_list_implementation): Update.
112017         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
112018         gl_linked_sortedlist_indexof_from_to): New functions.
112019         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112020         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112021         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
112022         gl_tree_sortedlist_indexof_from_to): New functions.
112023         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112024         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112025         Update.
112026         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112027         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
112028         Update.
112030 2006-10-05  Bruno Haible  <bruno@clisp.org>
112032         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
112033         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
112034         (struct gl_list_implementation): Add fields search_from_to,
112035         indexof_from_to. Remove fields search, indexof.
112036         (gl_list_search): Use the search_from_to method.
112037         (gl_list_search_from, gl_list_search_from_to): New functions.
112038         (gl_list_indexof): Use the indexof_from_to method.
112039         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112040         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
112041         (gl_list_search_from, gl_list_search_from_to): New functions.
112042         (gl_list_indexof): Use the indexof_from_to method.
112043         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112044         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
112045         gl_array_indexof. Add start_index, end_index arguments.
112046         (gl_array_search_from_to): Renamed from gl_array_search. Add
112047         start_index, end_index arguments.
112048         (gl_array_remove, gl_array_list_implementation): Update.
112049         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
112050         gl_carray_indexof. Add start_index, end_index arguments.
112051         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
112052         start_index, end_index arguments.
112053         (gl_carray_remove, gl_carray_list_implementation): Update.
112054         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
112055         gl_linked_search. Add start_index, end_index arguments.
112056         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
112057         start_index, end_index arguments.
112058         (gl_linked_remove): Update.
112059         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112060         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112061         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
112062         field to 'size_t'.
112063         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
112064         gl_tree_search. Add start_index, end_index arguments.
112065         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112066         start_index, end_index arguments.
112067         (gl_tree_remove): Update.
112068         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112069         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112070         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
112071         function.
112072         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
112073         gl_tree_search. Add start_index, end_index arguments.
112074         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112075         start_index, end_index arguments.
112076         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112077         Update.
112078         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
112080 2006-10-05  Bruno Haible  <bruno@clisp.org>
112082         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
112084         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
112085         fwriteerror_temp): New declarations.
112086         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
112087         (descriptors): New variable.
112088         (cleanup): First, close the descriptors.
112089         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
112090         fclose_temp, fwriteerror_temp): New functions.
112092 2006-10-04  Jim Meyering  <jim@meyering.net>
112094         * lib/fts.c (fts_open): Tiny comment change.
112096 2006-10-04  Bruno Haible  <bruno@clisp.org>
112098         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
112099         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
112100         gl_LOCK_BODY.
112101         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
112102         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
112103         gl_LOCK_EARLY_BODY.
112104         (gl_LOCK): Require gl_LOCK_BODY.
112106 2006-10-04  Bruno Haible  <bruno@clisp.org>
112108         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
112109         (gl_oset_search_atleast): New declaration.
112110         (struct gl_oset_implementation): Add field 'search_atleast'.
112111         (gl_oset_search_atleast): New inline function.
112112         * lib/gl_oset.c (gl_oset_search_atleast): New function.
112113         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
112114         (gl_array_oset_implementation): Update.
112115         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
112116         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
112117         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
112119 2006-10-04  Bruno Haible  <bruno@clisp.org>
112121         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
112123 2006-10-03  Bruno Haible  <bruno@clisp.org>
112125         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
112126         from gl_avltreehash_list_implementation.
112128 2006-10-03  Bruno Haible  <bruno@clisp.org>
112130         * lib/gl_oset.c (gl_oset_add): Fix return type.
112132 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
112134         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
112136 2006-10-02  Eric Blake  <ebb9@byu.net>
112138         * modules/strnlen (Depends-on): Add extensions.
112140 2006-10-02  Eric Blake  <ebb9@byu.net>
112142         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
112143         definition in 2.60+.
112145 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
112147         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
112148         checks.
112150 2006-10-02  Bruno Haible  <bruno@clisp.org>
112152         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
112153         to the AUTOMAKE_OPTIONS.
112154         Reported by Jim Meyering.
112156 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
112158         Work around bug in Solaris 10 /proc file system:
112159         /proc/self/fd/NNN/.. isn't the parent directory of
112160         the directory whose file descriptor is NNN.  This needs to
112161         be worked around at run time, not compile time, since a
112162         program might be built on Solaris 8, where things work, and
112163         run on Solaris 10.
112164         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
112165         to use the following interface instead:
112166         (OPENAT_BUFFER_SIZE): New macro.
112167         (openat_proc_name): New function.
112168         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
112169         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
112170         Likewise.
112171         * lib/openat-proc.c: New file.
112172         * modules/openat (Files): Add lib/openat-proc.c.
112173         (Depends-on): Add same-inode, stdbool.
112174         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
112176 2006-09-29  Bruno Haible  <bruno@clisp.org>
112178         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
112179         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
112180         argument. Set stdout_closed before testing for ferror, not after.
112181         (fwriteerror, fwriteerror_no_ebadf): New functions.
112183 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112185         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
112187 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
112189         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
112190         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
112192 2006-09-28  Jim Meyering  <jim@meyering.net>
112194         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
112195         Include <unistd.h>.
112197 2006-09-28  Bruno Haible  <bruno@clisp.org>
112199         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
112200         * modules/linkedhash-list (Depends-on): Likewise.
112201         * modules/rbtreehash-list (Depends-on): Likewise.
112203 2006-09-28  Bruno Haible  <bruno@clisp.org>
112205         * lib/strndup.h: Simplify the redefinition of strndup.
112206         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
112207         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
112209 2006-09-28  Bruno Haible  <bruno@clisp.org>
112211         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
112212         * lib/gl_linkedhash_list.c: Likewise.
112213         * lib/gl_rbtreehash_list.c: Likewise.
112215 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
112217         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
112218         getaddrinfo.
112220         * lib/__fpending.h: Don't include <stdio_ext.h> unless
112221         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
112222         it causes <stdio_ext.h> to cause a compile-time error.
112223         Problem reported by Nelson H. F. Beebe.
112224         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
112225         of HAVE_DECL___PENDING.
112227         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
112228         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
112229         declaration.
112231 2006-09-27  Jim Meyering  <jim@meyering.net>
112233         This file could end up with a definition for a function
112234         named __strndup, rather than rpl_strndup on a system with
112235         incomplete weak_alias support.
112236         * lib/strndup.c (strndup): Rename from __strndup.
112237         Remove #defines that used to map __strndup to strndup.
112238         Don't use K&R prototypes.
112239         Remove LIBC-related code, since this file is not sync'd with glibc.
112240         * lib/strndup.h: Revamp, accordingly.
112241         * m4/strndup.m4: Modernize.
112243 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
112245         * modules/savewd (Depends-on): Add 'raise'.
112246         * lib/savewd.c: Include <signal.h>, for 'raise'.
112248 2006-09-26  Jim Meyering  <jim@meyering.net>
112250         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
112251         when we detect Darwin 8.7.0's acl_get_file bug.
112252         Rearrange to perform the new (below) run-test while $LIBS
112253         contains any acl-related library.  Set USE_ACL at the end.
112254         (gl_ACL_GET_FILE): New function.
112256 2006-09-26  Eric Blake  <ebb9@byu.net>
112258         * lib/verror.c: Include <config.h> unconditionally.
112260 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
112262         * modules/clock-time (Maintainer): Add self.
112263         * modules/getlogin_r (Depends-on): Add extensions.
112265 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112267         * modules/clock-time: New module.
112268         * modules/nanosleep (Depends-on): Add clock-time.
112269         * modules/gethrxtime (Depends-on): Likewise.
112270         * modules/gettime (Depends-on): Likewise.
112271         * modules/settime (Depends-on): Likewise.
112273         * modules/fts-lgpl: Depend on openat.
112274         * modules/mkancesdirs: Depend on savewd.
112275         * modules/mkdir-p: Likewise.
112277 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112279         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
112281         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
112282         `gl_have_arbitrary_file_name_length_limit' to
112283         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
112284         actually works between configure runs.
112286 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112287             Bruno Haible  <bruno@clisp.org>
112289         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
112291 2006-09-25  Jim Meyering  <jim@meyering.net>
112293         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
112294         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
112296 2006-09-25  Eric Blake  <ebb9@byu.net>
112298         * gnulib-tool (func_import, func_create_testdir): Fix typos in
112299         exec's in 2006-09-18 patch when shuffling fds.
112301 2006-09-25  Bruno Haible  <bruno@clisp.org>
112303         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
112304         Reported by Jim Meyering.
112306 2006-09-24  Jim Meyering  <jim@meyering.net>
112308         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
112309         compare a pointer against a literal "0".  That caused failures with
112310         at least HP-UX's hpcc.
112312 2006-09-22  Simon Josefsson  <jas@extundo.com>
112314         * modules/gc-sha1:
112315         * modules/gc-md4:
112316         * modules/gc-hmac-sha1:
112317         * modules/gc-hmac-md5:
112318         * modules/gc-des:
112319         * modules/gc-arcfour: Distribute more files.
112321 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112323         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
112324         (gl_linked_iterator_from_to): Initialize struct completely.
112325         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
112326         (gl_tree_iterator_from_to): Likewise
112327         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
112328         * lib/gl_array_list.c [lint] (gl_array_iterator)
112329         (gl_array_iterator_from_to): Likewise.
112330         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
112331         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
112332         (gl_carray_iterator_from_to): Likewise.
112334         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
112335         * lib/md4.c (md4_process_block): Remove unused variable.
112336         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
112337         parentheses for clarity.
112339 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112341         * modules/bison-i18n (Depends-on): Add gettext.
112343 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112345         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
112346         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
112347         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
112348         also add missing comma that caused broken test.
112349         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
112350         stdlib.h, for `abort'.
112351         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
112352         variables.
112353         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
112354         include unistd.h if present, for `rmdir'.
112355         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
112356         variables.
112357         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
112358         in the process include standard headers for prototypes.
112359         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
112360         gets declared on GNU/Linux.
112361         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
112362         unistd.h, for `rmdir'.
112363         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
112365         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
112366         always true.
112367         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
112369         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
112371 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112373         * gnulib-tool (func_version): Create output all at once.  This
112374         may help avoid triggering unnecessary SIGPIPEs, and at any
112375         rate it doesn't hurt.
112377 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112378             Bruno Haible  <bruno@clisp.org>
112380         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
112381         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
112382         * m4/signed.m4 (bh_C_SIGNED): Likewise.
112384         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
112385         (gl_FUNC_VASPRINTF): Invoke it.
112387 2006-09-22  Bruno Haible  <bruno@clisp.org>
112389         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
112390         getloadavg.c as first argument.
112392 2006-09-22  Bruno Haible  <bruno@clisp.org>
112394         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
112395         at the beginning of the gl_INIT macro.
112396         * modules/getloadavg (configure.ac): Pass $gl_source_base to
112397         gl_GETLOADAVG.
112399 2006-09-22  Bruno Haible  <bruno@clisp.org>
112401         * gnulib-tool (func_create_megatestdir): Don't include the config-h
112402         module.
112403         Suggested by Ralf Wildenhues.
112405 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
112407         Import this patch from libc:
112409         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
112411         * lib/regex_internal.c (re_string_reconstruct): Handle
112412         offset < pstr->valid_raw_len && pstr->offsets_needed case.
112413         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
112414         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
112415         re_string_context_at.
112417         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
112418         now requires it.
112419         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
112420         gl_REGEX now does it for us.
112421         (gl_REGEX): Add test taken from
112422         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
112424         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
112425         Check that large offsets work.  Modernize Autoconf usages.
112426         Prefer "yes" to mean a good thing rather than a bad.
112427         Don't put "#define mkstemp" in config.h, as this might interfere
112428         with standard system headers that "#define mkstemp mkstemp64".
112430         * modules/mkstemp (Depends-on): Add extensions, so that
112431         mkstemp is visible on some platforms.
112432         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
112433         (Include): Change to "mkstemp.h" from <stdlib.h>.
112434         (Files): Add mkstemp.h.
112436         * lib/mkstemp.h: New file, since some standard headers
112437         #define mkstemp.
112438         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
112439         Include "mkstemp.h".
112440         Make the _LIBC code resemble glibc original more,
112441         e.g., use K&R style.
112442         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
112443         (mkstemp): Remove, since mkstemp.h does this for us.
112444         * lib/stdlib--.h: Include mkstemp.h.
112446         Import this patch from libc:
112448         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
112450         * lib/tempname.c (__gen_tempname): Change attempts_min
112451         into a macro.  Use preprocessor to decide how to initialize
112452         attempts [Coverity CID 67].
112454 2006-09-20  Bruno Haible  <bruno@clisp.org>
112456         * lib/mkdtemp.c: Import from libc.
112457         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
112458                 * sysdeps/posix/tempname.c (__gen_tempname): Change
112459                 attempts_min into a macro.  Use preprocessor to decide how to
112460                 initialize attempts [Coverity CID 67].
112461         2001-11-27  Paul Eggert  <eggert@twinsun.com>
112462                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
112463                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
112465 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112467         * gnulib-tool (func_exit): New function, to allow to pass the
112468         exit status portably through the trap.  Use everywhere.
112469         (--help, --version): Signal a write error.
112470         (trap): catch SIGPIPE, for write errors.
112471         Exit at the end of the trap, with the correct exit status.
112473 2006-09-19  Karl Berry  <karl@gnu.org>
112475         * doc/gnulib.texi: note about the license texinfo files.
112477 2006-09-19  Eric Blake  <ebb9@byu.net>
112479         * gnulib-tool: Avoid space-tab.
112481 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
112483         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
112484         that prevented coreutils 6.1 from building.  Problem reported
112485         by Petter Reinholdtsen.
112487 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
112489         * gnulib-tool (avoidlist): Fix typo that broke options like
112490         --avoid=lock that are used by coreutils bootstrap.
112492 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
112494         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
112495         more systematically.
112497 2006-09-18  Jim Meyering  <jim@meyering.net>
112499         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
112501 2006-09-18  Bruno Haible  <bruno@clisp.org>
112503         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
112505 2006-09-18  Bruno Haible  <bruno@clisp.org>
112507         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
112508         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
112509         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
112510         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
112511         * m4/gettext.m4: Require autoconf >= 2.52.
112512         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
112513         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
112514         of gl_cv_header_inttypes_h.
112516 2006-09-18  Bruno Haible  <bruno@clisp.org>
112518         * lib/javaversion.c: Include configmake.h.
112520 2006-09-18  Bruno Haible  <bruno@clisp.org>
112522         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
112523         avoid that the while loops be executed in a subshell.
112525 2006-09-18  Bruno Haible  <bruno@clisp.org>
112527         * MODULES.html.sh (func_module): Break long lines.
112528         Suggested by Bruce Korb <bkorb@gnu.org>.
112530 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112532         Speed up by a factor of 1.12.
112533         * gnulib-tool (nl): New variable.
112534         (func_import): Rewrite include directive extraction to only read each
112535         directive once.
112537 2006-09-17  Bruno Haible  <bruno@clisp.org>
112539         * modules/javaversion (Makefile.am): Remove DEFS setting.
112540         (Depends-on): Add configmake, for PKGDATADIR definition.
112542 2006-09-17  Bruno Haible  <bruno@clisp.org>
112544         * gnulib-tool (func_create_testdir): Rewrite all files at once.
112546 2006-09-17  Bruno Haible  <bruno@clisp.org>
112548         * gnulib-tool (func_append): New function, stolen from libtool.m4.
112549         (func_modules_transitive_closure, func_modules_add_dummy,
112550         func_modules_to_filelist, func_import, func_create_testdir,
112551         func_create_megatestdir, ...): Use it wherever possible.
112552         Suggested by Ralf Wildenhues.
112554 2006-09-16  Karl Berry  <karl@gnu.org>
112556         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
112557         to avoid sectioning errors.
112558         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
112559         [ifinfo]: blank line after @center-ed titles.
112560         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
112561         Spell FSF address consistently with others.
112562         (These changes approved by rms.)
112564 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112566         Speed up by a factor of 1.61.
112567         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
112568         already checked module names again.
112570 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112572         Speed up by a factor of 1.13.
112573         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
112574         for new_files, and the input to func_add_or_update.
112576 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112578         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
112579         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
112581 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112583         * modules/mkancesdirs (Depends-on): Add fcntl.
112584         * modules/savewd: New file.
112585         * MODULES.html.sh (File system functions): Add savewd.
112587         * modules/configmake (Makefile.am): Add support for the
112588         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
112590 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112592         * m4/savewd.m4: New file.
112594 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112596         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
112597         (dirchownmod): New arg FD.  All callers changed.
112598         Use FD rather than opening the directory ourself, as opening is
112599         now the caller's responsibility.
112600         * lib/dirchownmod.h: Likewise.
112601         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
112602         hosts that require <sys/types.h> before <sys/stat.h>.  Include
112603         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
112604         (test_dir): Remove.
112605         (mkancesdirs): Return length of prefix of FILE that has already
112606         been made, or -2 if there is a child doing the work.  Redo
112607         algorithm so that it is O(N) rather than O(N**2).  Optimize away
112608         ".", and treat ".." specially since it might stray back into
112609         already-created areas.  Use a subprocess if necessary.  New arg
112610         WD; all users changed.  MAKE_DIR function should now return 1
112611         if it creates a directory that is not readable.  Return -2 if
112612         a child process is spun off.
112613         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
112614         Adjust signature to match code.
112615         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
112616         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
112617         all users changed.
112618         * lib/savewd.c, lib/savewd.h: New files.
112620 2006-09-15  Jim Meyering  <jim@meyering.net>
112622         * modules/rename-dest-slash: New module.
112623         * MODULES.html.sh (posix_compat): Add it here.
112625         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
112627 2006-09-15  Jim Meyering  <jim@meyering.net>
112629         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
112630         file.
112632         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
112634 2006-09-15  Jim Meyering  <jim@meyering.net>
112636         * lib/rename-dest-slash.c (has_trailing_slash): Use
112637         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
112638         (rpl_rename_dest_slash): Perform the cheaper trailing slash
112639         test before testing whether SRC is a directory.
112640         Suggestions from Bruno Haible.
112642         Avoid a warning about an unused variable.
112643         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
112644         into the #ifdef block where it's used.
112646         * lib/rename-dest-slash.c: New file.
112648 2006-09-14  Bruno Haible  <bruno@clisp.org>
112650         * lib/allocsa.c: Include <config.h> unconditionally.
112651         * lib/asnprintf.c: Likewise.
112652         * lib/asprintf.c: Likewise.
112653         * lib/c-strcasecmp.c: Likewise.
112654         * lib/c-strcasestr.c: Likewise.
112655         * lib/c-strncasecmp.c: Likewise.
112656         * lib/c-strstr.c: Likewise.
112657         * lib/classpath.c: Likewise.
112658         * lib/clean-temp.c: Likewise.
112659         * lib/concatpath.c: Likewise.
112660         * lib/copy-file.c: Likewise.
112661         * lib/csharpcomp.c: Likewise.
112662         * lib/csharpexec.c: Likewise.
112663         * lib/execute.c: Likewise.
112664         * lib/fatal-signal.c: Likewise.
112665         * lib/findprog.c: Likewise.
112666         * lib/fwriteerror.c: Likewise.
112667         * lib/gl_array_list.c: Likewise.
112668         * lib/gl_array_oset.c: Likewise.
112669         * lib/gl_avltree_list.c: Likewise.
112670         * lib/gl_avltree_oset.c: Likewise.
112671         * lib/gl_avltreehash_list.c: Likewise.
112672         * lib/gl_carray_list.c: Likewise.
112673         * lib/gl_linked_list.c: Likewise.
112674         * lib/gl_linkedhash_list.c: Likewise.
112675         * lib/gl_list.c: Likewise.
112676         * lib/gl_oset.c: Likewise.
112677         * lib/gl_rbtree_list.c: Likewise.
112678         * lib/gl_rbtree_oset.c: Likewise.
112679         * lib/gl_rbtreehash_list.c: Likewise.
112680         * lib/imaxabs.c: Likewise.
112681         * lib/imaxdiv.c: Likewise.
112682         * lib/javacomp.c: Likewise.
112683         * lib/javaexec.c: Likewise.
112684         * lib/javaversion.c: Likewise.
112685         * lib/linebreak.c: Likewise.
112686         * lib/localcharset.c: Likewise.
112687         * lib/lock.c: Likewise.
112688         * lib/mbchar.c: Likewise.
112689         * lib/mbswidth.c: Likewise.
112690         * lib/mkdtemp.c: Likewise.
112691         * lib/pipe.c: Likewise.
112692         * lib/printf-args.c: Likewise.
112693         * lib/printf-parse.c: Likewise.
112694         * lib/progname.c: Likewise.
112695         * lib/progreloc.c: Likewise.
112696         * lib/readlink.c: Likewise.
112697         * lib/sh-quote.c: Likewise.
112698         * lib/stpcpy.c: Likewise.
112699         * lib/stpncpy.c: Likewise.
112700         * lib/strcasecmp.c: Likewise.
112701         * lib/strcasestr.c: Likewise.
112702         * lib/strcspn.c: Likewise.
112703         * lib/striconv.c: Likewise.
112704         * lib/strncasecmp.c: Likewise.
112705         * lib/strnlen1.c: Likewise.
112706         * lib/strstr.c: Likewise.
112707         * lib/strtok_r.c: Likewise.
112708         * lib/tls.c: Likewise.
112709         * lib/tmpdir.c: Likewise.
112710         * lib/unicodeio.c: Likewise.
112711         * lib/unsetenv.c: Likewise.
112712         * lib/vasnprintf.c: Likewise.
112713         * lib/vasprintf.c: Likewise.
112714         * lib/wait-process.c: Likewise.
112715         * lib/xallocsa.c: Likewise.
112716         * lib/xsetenv.c: Likewise.
112717         * lib/xstriconv.c: Likewise.
112719 2006-09-13  Simon Josefsson  <jas@extundo.com>
112721         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
112722         that internally, suggested by Ralf Wildenhues
112723         <Ralf.Wildenhues@gmx.de>.
112725 2006-09-13  Simon Josefsson  <jas@extundo.com>
112727         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
112728         @LIBOBJS@.
112729         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
112731 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
112733         * lib/_fpending.c: Include <config.h> unconditionally, since we no
112734         longer worry about uses that don't define HAVE_CONFIG_H.
112735         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
112736         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
112737         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
112738         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
112739         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
112740         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
112741         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
112742         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
112743         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
112744         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
112745         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
112746         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
112747         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
112748         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
112749         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
112750         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
112751         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
112752         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
112753         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
112754         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
112755         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
112756         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
112757         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
112758         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
112759         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
112760         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
112761         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
112762         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
112763         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
112764         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
112765         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
112766         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
112767         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
112768         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
112769         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
112770         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
112771         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
112772         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
112773         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
112774         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
112775         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
112776         Likewise.
112778 2006-09-13  Eric Blake  <ebb9@byu.net>
112780         * lib/getopt.c: Fix typo in last commit.
112782 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
112784         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
112785         dgettext.
112787 2006-09-12  Jim Meyering  <jim@meyering.net>
112789         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
112790         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
112791         Reported by Nelson H. F. Beebe.
112793 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
112795         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
112796         program_invocation_name and program_invocation_short_name are
112797         initialized.
112798         * lib/argp-namefrob.h: Move declarations of program_invocation_name
112799         and program_invocation_short_name to argp.h, so they are visible
112800         to user programs.
112801         * lib/argp.h: Likewise
112803 2006-09-10  Bruno Haible  <bruno@clisp.org>
112805         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
112806         m4/inttypes_h.m4, m4/uintmax_t.m4.
112808 2006-09-10  Bruno Haible  <bruno@clisp.org>
112810         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
112811         gl_AC_TYPE_UINTMAX_T.
112813 2006-09-10  Bruno Haible  <bruno@clisp.org>
112815         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
112817 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
112819         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
112820         convention.  Text proposed by Bruno Haible.
112821         (struct argp_option): Document the use of N_() wrappers.
112823         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
112824         '\v', and translate the two parts separately, instead of feeding
112825         the whole string to gettext.  This allows to exclude
112826         '\v' from the strings visible to the translator by writing doc
112827         strings as N_("..") "\v" N_("..").
112829 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
112831         * config/srclist.txt: Undo latest change; the bug was fixed.
112833 2006-09-09  Bruno Haible  <bruno@clisp.org>
112835         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
112836         assignments if building a library without libtool.
112837         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
112838         in func_emit_lib_Makefile_am.
112839         (func_import): When building a static library libfoo.a, arrange to
112840         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
112841         (func_create_testdir): Likewise.
112842         * modules/gc (configure.ac, Makefile.am): If building statically,
112843         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
112844         * modules/iconvme (configure.ac, Makefile.am): Likewise.
112845         * modules/striconv (configure.ac, Makefile.am): Likewise.
112846         Based on a suggestion by Ralf Wildenhues.
112848 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
112850         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
112851         Check for unistd.h too, since Autoconf doesn't assume POSIX.
112852         Also:
112854         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
112855         Add year_2050_test to catch glibc bug 2821
112856         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
112858         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
112859         Prefer #ifdef to #if.
112861         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
112862         Return from 'main' instead of calling 'exit'.
112864 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
112866         * lib/mktime.c (guess_time_tm): Fix bug where mktime
112867         returned the maximum time_t value rather than (time_t) -1.
112868         Problem originally reported by William Bardwell
112869         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
112871         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
112872         Moved to here ...
112873         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
112874         ... from here.
112876 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
112878         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
112879         2821 is fixed.
112881 2006-09-08  Jim Meyering  <jim@meyering.net>
112883         Don't make generated files read-only.  That would bother too many
112884         people.  However, do retain the ability to work when targets are
112885         read-only: remove the destination and temporary files before writing
112886         them (when generated via sed or echo), or by using the -f option for
112887         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
112888         * modules/alloca-opt, modules/argz, modules/arpa_inet:
112889         * modules/byteswap, modules/configmake, modules/fcntl:
112890         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
112891         * modules/localcharset, modules/netinet_in, modules/poll:
112892         * modules/stdbool, modules/stdint, modules/sys_select:
112893         * modules/sys_socket, modules/sys_stat, modules/sysexits:
112895 2006-09-08  Jim Meyering  <jim@meyering.net>
112897         Avoid new build failure on FreeBSD 6.0.
112898         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
112899         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
112900         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
112902 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112904         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
112906 2006-09-07  Jim Meyering  <jim@meyering.net>
112908         Fix global typo in last change: use chmod u-w, not chmod u-x.
112909         Spotted by Paul Eggert and Bruce Korb.
112910         * modules/alloca-opt, modules/argz, modules/arpa_inet:
112911         * modules/byteswap, modules/configmake, modules/fcntl:
112912         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
112913         * modules/localcharset, modules/netinet_in, modules/poll:
112914         * modules/stdbool, modules/stdint, modules/sys_select:
112915         * modules/sys_socket, modules/sys_stat, modules/sysexits:
112917 2006-09-06  Jim Meyering  <jim@meyering.net>
112919         Make generated files be read-only.
112920         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
112921         Ensure that each generated file is now read-only.
112922         * modules/argz: Likewise.
112923         * modules/arpa_inet: Likewise.
112924         * modules/byteswap: Likewise.
112925         * modules/configmake: Likewise.
112926         * modules/fcntl: Likewise.
112927         * modules/fnmatch: Likewise.
112928         * modules/getopt: Likewise.
112929         * modules/glob: Likewise.
112930         * modules/inttypes: Likewise.
112931         * modules/netinet_in: Likewise.
112932         * modules/poll: Likewise.
112933         * modules/stdbool: Likewise.
112934         * modules/stdint: Likewise.
112935         * modules/sys_select: Likewise.
112936         * modules/sys_socket: Likewise.
112937         * modules/sys_stat: Likewise.
112938         * modules/sysexits: Likewise.
112939         * modules/localcharset: Same as above, but continue using temporary
112940         file named "t-$@" (why different?) rather than the "$@-t" used
112941         everywhere else.
112943         * modules/sysexits (Makefile.am): Replace literal occurrences
112944         of "sysexit.h" more readable, and more consistent, "$@".
112946 2006-09-06  Bruno Haible  <bruno@clisp.org>
112948         * modules/striconv: New file.
112949         * modules/xstriconv: New file.
112950         * MODULES.html.sh (Internationalization functions): Add striconv,
112951         xstriconv.
112953 2006-09-06  Bruno Haible  <bruno@clisp.org>
112955         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
112956         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
112957         not using libtool correctly.
112959 2006-09-06  Bruno Haible  <bruno@clisp.org>
112961         * lib/striconv.h: New file.
112962         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
112963         iconvstring.c.
112964         * lib/xstriconv.h: New file.
112965         * lib/xstriconv.c: New file.
112967 2006-09-06  Bruno Haible  <bruno@clisp.org>
112969         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
112970         lib_..._LDFLAGS.
112972 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112974         * lib/argz_.h: Sync from Libtool.
112976         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
112977                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
112979         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
112981 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
112983         * modules/trim: New file.
112985 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
112987         * lib/trim.h: New file.
112988         * lib/trim.c: New file.
112990 2006-09-05  Bruno Haible  <bruno@clisp.org>
112992         * MODULES.html.sh (String handling): Add trim.
112994 2006-09-04  Karl Berry  <karl@gnu.org>
112996         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
112997         until next release.
112999 2006-09-03  Bruno Haible  <bruno@clisp.org>
113001         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
113002         correctly.
113004 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113006         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
113007         not gl_GETLOADAVG.  Omit unneeded semicolons.
113008         Problems reported by Ralf Wildenhues in
113009         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113010         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
113011         at the end, which is the usual gnulib style.
113013         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
113014         of doing all the work ourselves.
113015         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
113016         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
113018 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113020         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
113021         Problem reported by Ralf Wildenhues in
113022         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113024         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
113025         HAVE_STRUCT_STATFS_F_FSTYPENAME.
113027 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113029         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
113030         yesterday's patch by changing test -n to test -z.
113032 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113034         * modules/getloadavg (Files): Add m4/getloadavg.m4.
113035         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
113036         the former is now obsolescent.
113038         * modules/chdir-long (Depends-on): Add fcntl.
113040 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113042         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
113043         obsolescent, and programs should use gnulib instead.
113044         * m4/getloadavg.m4: New file, with contents taken from Autoconf
113045         but with prefixes changed.
113047 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113049         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
113050         or stdbool.h, because they might not exist while configuring.
113052         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
113053         Don't include unistd.h or limits.h; not needed, since chdir-long.h
113054         does that for us.
113055         (O_DIRECTORY): Remove.
113057 2006-08-31  Eric Blake  <ebb9@byu.net>
113059         * gnulib-tool: Don't let emacs change spaces to TAB.
113061 2006-08-31  Bruno Haible  <bruno@clisp.org>
113063         * gnulib-tool: When calling func_import more than once, do it in a
113064         subshell.
113065         Reported by Eric Blake <ebb9@byu.net>.
113067 2006-08-31  Bruno Haible  <bruno@clisp.org>
113069         * gnulib-tool (nl): Remove variable.
113070         (sed_transform_lib_file): Use more robust test for config-h module.
113071         (func_import): Fix typo in 2006-08-25 patch.
113073 2006-08-31  Bruno Haible  <bruno@clisp.org>
113075         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
113076         specified, augment Makefile.am variables instead of assigning them.
113078 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113080         Work around a bug in both the Linux and SunOS 64-bit kernels:
113081         nanosleep mishandles sleeps for longer than 2**31 seconds.
113082         Problem reported by Frank v Waveren in
113083         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113084         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
113085         Check for nanosleep bug.
113086         (LIB_NANOSLEEP): Append clock_gettime library if needed.
113088 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113090         Work around a bug in both the Linux and SunOS 64-bit kernels:
113091         nanosleep mishandles sleeps for longer than 2**31 seconds.
113092         Problem reported by Frank v Waveren in
113093         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113094         * lib/nanosleep.c (BILLION): New constant.
113095         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
113096         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
113097         implementation.
113099 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113101         * modules/nanosleep (Depends-on): Add gettime.
113103 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113104         and Simon Josefsson  <jas@extundo.com>
113105         and Oskar Liljeblad  <oskar@osk.mine.nu>
113107         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
113108         * gnulib-tool (func_import): New license type 'unmodifiable license
113109         text'.
113110         * modules/fdl: Use it.  Longer description.
113111         * module/gpl, module/lgpl: New files.
113113 2006-08-30  Jim Meyering  <jim@meyering.net>
113115         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
113116         shadowing the parameter.
113118 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113120         Sync from Libtool:
113122         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113124         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
113125         sharing with gnulib.  Report by Eric Blake.
113127 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113129         * modules/isapipe: New file.
113130         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
113132 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113134         * modules/configmake (Makefile.am): Add a comment, and omit
113135         the CONFIGMAKE_ prefix from generated macro names.  Suggested
113136         by Bruno Haible.
113138 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113140         * m4/isapipe.m4: New file.
113142 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113144         * lib/isapipe.c, lib/isapipe.h: New files.
113146 2006-08-29  Jim Meyering  <jim@meyering.net>
113148         * modules/configmake (Makefile.am): Make configmake.h depend on
113149         Makefile.  Otherwise, a stale configmake.h could hang around.
113151 2006-08-29  Eric Blake  <ebb9@byu.net>
113153         * lib/error.c (error_at_line, print_errno_message): Match libc, after
113154         resolution of upstream bug 3044.
113156 2006-08-29  Bruno Haible  <bruno@clisp.org>
113158         * modules/localcharset (Depends-on): Add configmake.
113159         (Makefile.am): Remove setting of LIBDIR through DEFS.
113161 2006-08-29  Bruno Haible  <bruno@clisp.org>
113163         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
113164         defined.
113166 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113168         * modules/fcntl: New file.
113169         * modules/chdir-safer (Depends-on): Add fcntl.
113170         * modules/fts: Likewise.
113171         * modules/mkdir-p: Likewise.
113173         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
113174         This undoes the most recent change, since we're now addressing the
113175         problem in a different way.
113177         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
113178         into output, since the output might be called Makefile.am even
113179         if $makefile_name is something different.
113180         (func_import): Use $makefile_am rather than
113181         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
113182         empty.
113184         * modules/inttypes (Files): Add m4/inttypes-h.m4.
113186 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113188         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
113189         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
113190         recent change to stdint.m4, since we're now addressing the problem in a
113191         different way.
113193 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113195         * m4/fcntl_h.m4: New file.
113197 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113199         * lib/fcntl_.h: New file.
113200         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
113201         the fcntl module.
113202         * lib/dirchownmod.c: Likewise.
113203         * lib/fts.c: Likewise.
113205         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
113206         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
113207         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
113208         just before including <inttypes.h>, to avoid circular inclusion.
113210 2006-08-28  Jim Meyering  <jim@meyering.net>
113212         * doc/visibility.texi: Actually read and correct the grammar of the
113213         sentence affected by yesterday's change.
113215 2006-08-28  Eric Blake  <ebb9@byu.net>
113217         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
113218         needs wrapper.
113220 2006-08-28  Eric Blake  <ebb9@byu.net>
113222         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
113224 2006-08-28  Eric Blake  <ebb9@byu.net>
113226         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
113228 2006-08-28  Bruno Haible  <bruno@clisp.org>
113230         * modules/c-strstr: New file, from GNU gettext.
113231         * MODULES.html.sh (String handling): Add c-strstr.
113233 2006-08-28  Bruno Haible  <bruno@clisp.org>
113235         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
113236         macros.
113237         Reported by Eric Blake.
113239 2006-08-28  Bruno Haible  <bruno@clisp.org>
113241         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
113242         (VASNPRINTF): Return a string of length > INT_MAX without failing.
113243         * lib/vasprintf.c: Include errno.h, limits.h.
113244         (EOVERFLOW): New fallback definition.
113245         (vasprintf): Test here whether the string length is > INT_MAX.
113246         * lib/vsnprintf.c: Include errno.h, limits.h.
113247         (EOVERFLOW): New fallback definition.
113248         (vsnprintf): Fix bug when generated string was too long for the buffer.
113249         Test here whether the string length is > INT_MAX.
113251 2006-08-28  Bruno Haible  <bruno@clisp.org>
113253         * lib/inttypes_.h (SCNX*): Remove definitions.
113254         Reported by Eric Blake.
113256 2006-08-28  Bruno Haible  <bruno@clisp.org>
113258         * lib/c-strstr.h: New file, from GNU gettext.
113259         * lib/c-strstr.c: New file, from GNU gettext.
113261 2006-08-28  Bruno Haible  <bruno@clisp.org>
113263         * gnulib-tool: Reorder some statements.
113265 2006-08-28  Bruno Haible  <bruno@clisp.org>
113267         * gnulib-tool: New option --makefile-name.
113268         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
113269         $makefile_name.
113270         (func_import): Write $makefile_name to the cache file, and read it from
113271         there unless explicitly specified. Use $makefile_name as file name
113272         instead of Makefile.am. Adjust the recommendations accordingly.
113274 2006-08-28  Bruno Haible  <bruno@clisp.org>
113276         * gnulib-tool (func_verify_module): Check against misapplying patch.
113278 2006-08-28  Bruno Haible  <bruno@clisp.org>
113280         * gnulib-tool (func_relativize, func_relconcat): New functions.
113281         Give an error if --local-dir is given with --update.
113282         Remove trailing slashes from $local_gnulib_dir.
113283         (func_import): Store the relativized $local_gnulib_dir in
113284         gnulib-cache.m4, and read it from there if not specified explicitly.
113286 2006-08-28  Bruno Haible  <bruno@clisp.org>
113288         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
113289         is the current directory. Respect also $local_gnulib_dir.
113291 2006-08-28  Bruno Haible  <bruno@clisp.org>
113292             Simon Josefsson  <jas@extundo.com>
113294         BeOS portability.
113295         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
113297 2006-08-27  Jim Meyering  <jim@meyering.net>
113299         * doc/visibility.texi: Remove duplicate word: "pointer".
113301 2006-08-26  Bruno Haible  <bruno@clisp.org>
113303         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
113304         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
113305         (Makefile.am): Create inttypes.h from inttypes_.h.
113306         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
113308         * modules/imaxabs: New file.
113310         * modules/imaxdiv: New file.
113312 2006-08-26  Bruno Haible  <bruno@clisp.org>
113314         * m4/inttypes.m4: New file.
113315         * m4/_inttypes_h.m4: Remove file.
113316         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
113317         PRI_MACROS_BROKEN.
113318         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
113320         * m4/imaxabs.m4: New file.
113322         * m4/imaxdiv.m4: New file.
113324 2006-08-26  Bruno Haible  <bruno@clisp.org>
113326         * lib/inttypes_.h: New file.
113327         * lib/inttypes.h: Remove file.
113328         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
113330         * lib/imaxabs.c: New file.
113332         * lib/imaxdiv.c: New file.
113334 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
113336         New config-h module, so that "make" output needn't be cluttered
113337         by -DHAVE_CONFIG_H.
113338         * MODULES.html.sh (Support for building libraries and executables):
113339         Add config-h.
113340         * modules/config-h: New file.
113341         * gnulib-tool (nl, sed_transform_lib_file): New vars.
113342         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
113343         the config-h module is used.
113345         New configmake module, so that "make" output needn't be cluttered
113346         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
113347         * MODULES.html.sh (Support for building libraries and executables):
113348         Add configmake.
113349         * modules/configmake: New file.
113351 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
113353         * m4/config-h.m4: New file.
113355 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
113357         * config/srclist.txt: Add elisp-comp.
113359 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
113361         * MODULES.html.sh (Support for building libraries and executables):
113362         Add elisp-comp.
113363         * build-aux/elisp-comp: New file.
113364         * modules/elisp-comp: New file.
113366 2006-08-24  Bruno Haible  <bruno@clisp.org>
113368         * gnulib-tool (func_create_testdir): Use non-default values of
113369         sourcebase and m4base.
113371 2006-08-24  Bruno Haible  <bruno@clisp.org>
113373         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
113374         HTML structure.
113376 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
113378         * modules/openat (Depends-on): Add lchown.
113380 2006-08-23  Bruno Haible  <bruno@clisp.org>
113382         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
113383         of gl_LOCK_EARLY instead of gl_LOCK.
113385 2006-08-23  Bruno Haible  <bruno@clisp.org>
113387         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
113388         on OSF/1 to no.
113389         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
113391 2006-08-23  Bruno Haible  <bruno@clisp.org>
113393         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
113394         as unusable.
113396         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
113397         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
113398         (gl_LOCK): New macro.
113400 2006-08-22  Simon Josefsson  <jas@extundo.com>
113402         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
113403         to md5 module.
113405 2006-08-22  Simon Josefsson  <jas@extundo.com>
113407         * MODULES.html.sh: Add "Support for maintaining and release
113408         projects".
113410         * build-aux/gnupload: New file, from coreutils.
113412 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113414         Avoid the need for AC_LIBSOURCES in m4 macros.
113415         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
113416         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
113417         * modules/check-version (EXTRA_DIST): Add check-version.h.
113418         * modules/crc (EXTRA_DIST): Add crc.h.
113419         * modules/des (EXTRA_DIST): Add des.h.
113420         * modules/gc (EXTRA_DIST): Add gc.h.
113421         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
113422         * modules/getline (EXTRA_DIST): Add getline.h.
113423         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
113424         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
113425         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
113426         * modules/md2 (EXTRA_DIST): Add md2.h.
113427         * modules/md4 (EXTRA_DIST): Add md4.h.
113428         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
113429         * modules/read-file (EXTRA_DIST): Add read-file.h.
113430         * modules/readline (EXTRA_DIST): Add readline.h.
113431         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
113432         rijndael-api-fst.h.
113434 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113436         * m4/rijndael.m4 (gl_ARCFOUR):
113437         * m4/arctwo.m4 (gl_ARCTWO):
113438         * m4/check-version.m4 (gl_CHECK_VERSION):
113439         * m4/crc.m4 (gl_CRC):
113440         * m4/des.m4 (gl_DES):
113441         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
113442         * m4/gc.m4 (gl_GC):
113443         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
113444         * m4/getline.m4 (gl_FUNC_GETLINE):
113445         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
113446         * m4/hmac-md5.m4 (gl_HMAC_MD5):
113447         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
113448         * m4/md2.m4 (gl_MD2):
113449         * m4/md4.m4 (gl_MD4):
113450         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
113451         * m4/read-file.m4 (gl_FUNC_READ_FILE):
113452         * m4/readline.m4 (gl_FUNC_READLINE):
113453         * m4/rijndael.m4 (gl_RIJNDAEL):
113454         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
113455         to get the necessary .h files and whatnot.
113457 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113459         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
113460         gnulib rather than the other way around.
113461         * config/srclistvars.sh (COREUTILS): Remove.
113463 2006-08-22  Jim Meyering  <jim@meyering.net>
113465         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
113467         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
113469 2006-08-22  Eric Blake  <ebb9@byu.net>
113471         * modules/regexprops-generic: New file.
113472         * MODULES.html.sh (Support for building documentation): List it.
113474 2006-08-22  Eric Blake  <ebb9@byu.net>
113476         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
113477         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
113478         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
113479         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
113481 2006-08-22  Bruno Haible  <bruno@clisp.org>
113483         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
113484         and lib_LTLIBRARIES like the other lib_* variables.
113486 2006-08-22  Bruno Haible  <bruno@clisp.org>
113488         * build-aux/x-to-1.in: New file, from GNU gettext.
113490 2006-08-22  Bruno Haible  <bruno@clisp.org>
113492         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
113493         <utmpx.h> exists.
113495 2006-08-22  Bruno Haible  <bruno@clisp.org>
113497         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
113498         <utmpx.h> exists.
113500 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113502         BeOS portability.
113503         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
113504         exist.
113505         Problem reported by Bruno Haible.
113507 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113509         Avoid the need for AC_LIBSOURCES in m4 macros.
113510         * modules/acl (EXTRA_DIST): Add acl.h.
113511         * modules/argmatch (Files): Add m4/argmatch.m4.
113512         (configure.ac): Add gl_ARGMATCH.
113513         (EXTRA_DIST): Renamed from lib_SOURCES, for
113514         consistency with the other modules.  Remove argmatch.c.
113515         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
113516         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
113517         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
113518         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
113519         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
113520         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
113521         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
113522         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
113523         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
113524         * modules/closeout (EXTRA_DIST): Add closeout.h.
113525         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
113526         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
113527         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
113528         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
113529         dirname.h; remove basename.c and stripslash.c.
113530         * modules/exclude (EXTRA_DIST): Add exclude.h.
113531         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
113532         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
113533         * modules/file-type (EXTRA_DIST): Add file-type.h.
113534         * modules/filemode (EXTRA_DIST): Add filemode.h.
113535         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
113536         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
113537         * modules/fpending (EXTRA_DIST): Add __fpending.h.
113538         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
113539         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
113540         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
113541         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
113542         * modules/getdate (EXTRA_DIST): Add getdate.c.
113543         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
113544         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
113545         * modules/getpass (EXTRA_DIST): Add getpass.h.
113546         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
113547         * modules/group-member (EXTRA_DIST): Add group-member.h.
113548         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
113549         * modules/hash (EXTRA_DIST): Add hash.h.
113550         * modules/human (EXTRA_DIST): Add human.h.
113551         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
113552         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
113553         * modules/lchown (EXTRA_DIST): Add lchown.h.
113554         * modules/long-options (EXTRA_DIST): Add long-options.h.
113555         * modules/lstat (EXTRA_DIST): Add lstat.h.
113556         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
113557         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
113558         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
113559         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
113560         * modules/memxor (EXTRA_DIST): Add memxor.h.
113561         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
113562         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
113563         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
113564         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
113565         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
113566         * modules/physmem (EXTRA_DIST): Add physmem.h.
113567         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
113568         * modules/posixver (EXTRA_DIST): Add posixver.h.
113569         * modules/quote (EXTRA_DIST): Add quote.h.
113570         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
113571         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
113572         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
113573         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
113574         regex_internal.h regexec.c.
113575         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
113576         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
113577         * modules/same (EXTRA_DIST): Add same.h.
113578         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
113579         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
113580         * modules/savedir (EXTRA_DIST): Add savedir.h.
113581         * modules/sha1 (EXTRA_DIST): Add sha1.h.
113582         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
113583         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
113584         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
113585         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
113586         * modules/strdup (EXTRA_DIST): Add strdup.h.
113587         * modules/strftime (EXTRA_DIST): Add strftime.h.
113588         * modules/strndup (EXTRA_DIST): Add strndup.h.
113589         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
113590         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
113591         * modules/time_r (EXTRA_DIST): Add time_r.h.
113592         * modules/timespec (EXTRA_DIST): Add timespec.h.
113593         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
113594         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
113595         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
113596         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
113597         * modules/userspec (EXTRA_DIST): Add userspec.h.
113598         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
113599         * modules/utimens (EXTRA_DIST): Add utimens.h.
113600         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
113601         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
113602         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
113603         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
113604         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
113605         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
113606         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
113607         * modules/yesno (EXTRA_DIST): Add yesno.h.
113609 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113611         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
113613         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
113614         * m4/dev-ino.m4, same-inode.m4: Remove.
113616         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
113617         * m4/acl.m4 (AC_FUNC_ACL):
113618         * m4/backupfile.m4 (gl_BACKUPFILE):
113619         * m4/c-strtod.m4 (gl_C99_STRTOLD):
113620         * m4/canon-host.m4 (gl_CANON_HOST):
113621         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
113622         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
113623         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
113624         * m4/cloexec.m4 (gl_CLOEXEC):
113625         * m4/close-stream.m4 (gl_CLOSE_STREAM):
113626         * m4/closeout.m4 (gl_CLOSEOUT):
113627         * m4/dirfd.m4 (gl_FUNC_DIRFD):
113628         * m4/dirname.m4 (gl_DIRNAME):
113629         * m4/exclude.m4 (gl_EXCLUDE):
113630         * m4/exitfail.m4 (gl_EXITFAIL):
113631         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
113632         * m4/file-type.m4 (gl_FILE_TYPE):
113633         * m4/filemode.m4 (gl_FILEMODE):
113634         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
113635         * m4/fpending.m4 (gl_FUNC_FPENDING):
113636         * m4/fprintftime.m4 (gl_FPRINTFTIME):
113637         * m4/fts.m4 (gl_FUNC_FTS):
113638         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
113639         * m4/getdate.m4 (gl_GETDATE):
113640         * m4/gethrxtime.m4 (gl_GETHRXTIME):
113641         * m4/getpagesize.m4 (gl_GETPAGESIZE):
113642         * m4/getpass.m4 (gl_FUNC_GETPASS):
113643         * m4/gettime.m4 (gl_GETTIME):
113644         * m4/getugroups.m4 (gl_GETUGROUPS):
113645         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
113646         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
113647         * m4/hard-locale.m4 (gl_HARD_LOCALE):
113648         * m4/hash.m4 (gl_HASH):
113649         * m4/idcache.m4 (gl_IDCACHE):
113650         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
113651         * m4/lchown.m4 (gl_FUNC_LCHOWN):
113652         * m4/long-options.m4 (gl_LONG_OPTIONS):
113653         * m4/lstat.m4 (gl_FUNC_LSTAT):
113654         * m4/md5.m4 (gl_MD5):
113655         * m4/memcasecmp.m4 (gl_MEMCASECMP):
113656         * m4/memcoll.m4 (gl_MEMCOLL):
113657         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
113658         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
113659         * m4/memxor.m4 (gl_MEMXOR):
113660         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
113661         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
113662         * m4/modechange.m4 (gl_MODECHANGE):
113663         * m4/mountlist.m4 (gl_MOUNTLIST):
113664         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
113665         * m4/openat.m4 (gl_FUNC_OPENAT):
113666         * m4/pathmax.m4 (gl_PATHMAX):
113667         * m4/physmem.m4 (gl_PHYSMEM):
113668         * m4/posixtm.m4 (gl_POSIXTM):
113669         * m4/posixver.m4 (gl_POSIXVER):
113670         * m4/quote.m4 (gl_QUOTE):
113671         * m4/quotearg.m4 (gl_QUOTEARG):
113672         * m4/readtokens.m4 (gl_READTOKENS):
113673         * m4/readutmp.m4 (gl_READUTMP):
113674         * m4/regex.m4 (gl_REGEX):
113675         * m4/safe-read.m4 (gl_SAFE_READ):
113676         * m4/safe-write.m4 (gl_SAFE_WRITE):
113677         * m4/same.m4 (gl_SAME):
113678         * m4/save-cwd.m4 (gl_SAVE_CWD):
113679         * m4/savedir.m4 (gl_SAVEDIR):
113680         * m4/settime.m4 (gl_SETTIME):
113681         * m4/sha1.m4 (gl_SHA1):
113682         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
113683         * m4/stat-macros.m4 (gl_STAT_MACROS):
113684         * m4/stat-time.m4 (gl_STAT_TIME):
113685         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
113686         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
113687         * m4/strdup.m4 (gl_FUNC_STRDUP):
113688         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
113689         * m4/strndup.m4 (gl_FUNC_STRNDUP):
113690         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
113691         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
113692         * m4/time_r.m4 (gl_TIME_R):
113693         * m4/timespec.m4 (gl_TIMESPEC):
113694         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
113695         * m4/unlinkdir.m4 (gl_UNLINKDIR):
113696         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
113697         * m4/userspec.m4 (gl_USERSPEC):
113698         * m4/utimecmp.m4 (gl_UTIMECMP):
113699         * m4/utimens.m4 (gl_UTIMENS):
113700         * m4/xalloc.m4 (gl_XALLOC):
113701         * m4/xgetcwd.m4 (gl_XGETCWD):
113702         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
113703         * m4/xreadlink.m4 (gl_XREADLINK):
113704         * m4/xstrtod.m4 (gl_XSTRTOD):
113705         * m4/yesno.m4 (gl_YESNO):
113706         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
113707         to get the necessary .h files and whatnot.
113709 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
113710             Bruno Haible  <bruno@clisp.org>
113712         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
113713         /bin/sh understanding of '!' conditional negation.
113715 2006-08-21  Jim Meyering  <jim@meyering.net>
113717         * modules/openat (Depends-on): Really alphabetize.
113719         * modules/acl (Depends-on): Add error and quote.
113721         * check-module (find_included_lib_files): Add at-func.c to the
113722         ok-to-include-more-than-once white list.
113724         * modules/openat (Depends-on): Add lstat.  Alphabetize.
113726 2006-08-21  Bruno Haible  <bruno@clisp.org>
113728         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113729         Emit a pkgdata_DATA variable only if some snippets add contents to it.
113730         Reported by Martin Lambers <marlam@marlam.de>.
113732 2006-08-21  Bruno Haible  <bruno@clisp.org>
113734         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
113735         specify an installation location, don't emit a noinst_LIBRARIES or
113736         noinst_LTLIBRARIES assignment.
113738 2006-08-21  Bruno Haible  <bruno@clisp.org>
113740         BeOS portability.
113741         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
113742         BeOS has mbrtowc() but no <wctype.h>.
113744 2006-08-21  Bruno Haible  <bruno@clisp.org>
113746         BeOS portability.
113747         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
113748         exist.
113750 2006-08-21  Bruno Haible  <bruno@clisp.org>
113752         BeOS portability.
113753         * lib/mbchar.h: Include <wctype.h> only if it exists.
113755 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
113757         Remove files that are no longer needed by their respective modules.
113758         * m4/obstack.m4: Remove.
113759         * m4/strerror_r.m4: Remove.
113760         * m4/uint32_t.m4: Remove.
113761         * m4/uintptr_t.m4: Remove.
113762         * m4/ullong_max.m4: Remove.
113763         * m4/xstrtoimax.m4: Remove.
113764         * m4/xstrtoumax.m4: Remove.
113766         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
113767         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
113768         dependencies now capture this.
113770         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
113771         Do not use AC_LIBSOURCES, since gnulib modules now do this.
113772         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
113773         * m4/human.m4 (gl_HUMAN): Likewise.
113774         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
113775         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
113777         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
113779         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
113780         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
113781         stdint.
113782         * m4/human.m4 (gl_HUMAN): Likewise.
113783         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
113784         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
113785         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
113786         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
113787         * m4/xstrtol (gl_XSTRTOL): Likewise.
113789         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
113790         AC_TYPE_LONG_LONG_INT.
113791         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
113792         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
113793         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
113794         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
113796         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
113797         on stdbool.
113799         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
113800         (gl_PREREQ_XSTRTOUL): Remove.
113802         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
113804         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
113805         mode.
113807 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
113809         Add and change modules to make it easier for coreutils to use
113810         gnulib-tool.
113811         * modules/backupfile (Files): Remove m4/d-ino.m4.
113812         (Depends-on): Add d-ino.
113813         * modules/cycle-check (Depends-on): Add stdint.
113814         (lib_SOURCES): Add cycle-check.h.
113815         * modules/d-ino: New module.
113816         * modules/d-type: New module.
113817         * modules/error (Files): Remove m4/strerror_r.m4.
113818         * modules/filemode (Files): Add m4/st_dm_mode.m4.
113819         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
113820         m4/inttypes_h.m4, m4/uintmax_t.m4.
113821         (Depends-on): Add stdint.
113822         (lib_SOURCES): Add fsusage.h.
113823         * modules/getcwd (Files): Remove d-ino.m4.
113824         (Depends-on): Add d-ino.
113825         * modules/getndelim2 (Depends-on): Add stdint.
113826         * modules/glob (Files): Remove m4/d-type.m4.
113827         (Depends-on): Add d-type.
113828         * modules/host-os: New module.
113829         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
113830         m4/inttypes_h.m4, m4/uintmax_t.m4.
113831         * Depends-on: Add stdint.
113832         (lib_SOURCES): Add human.h.
113833         * modules/inttostr (Files): Remove m4/intmax_t.m4,
113834         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
113835         m4/uintmax_t.m4, m4/ulonglong.m4.
113836         (Depends-on): Add stdint.
113837         (EXTRA_DIST): Add inttostr.h.
113838         * modules/lchmod: New module.
113839         * modules/link-follow: New module.
113840         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
113841         (Depends-on): Add lchmod.
113842         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
113843         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
113844         (Depends-on): Add stdint.
113845         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
113846         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
113847         (Depends-on): Add stdint.
113848         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
113849         * modules/perl: New module.
113850         * modules/regex (Depends-on): Add stdint.
113851         * modules/rmdir-errno: New module.
113852         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
113853         m4/intmax_t.m4.
113854         (Depends-on): Add stdint.
113855         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
113856         m4/uintmax_t.m4.
113857         (Depends-on): Add stdint.
113858         * modules/unlink-busy: New module.
113859         * modules/utimecmp (Depends-on): Add stdint.
113860         * modules/uptime: New module.
113861         * modules/winsz-ioctl: New module.
113862         * modules/winsz-termios: New module.
113863         * modules/xnanosleep (Depends-on): Add nanosleep.
113864         * modules/ullong_max: Remove.
113865         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
113866         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
113867         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
113868         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
113869         (Depends-on): Add inttypes.
113870         (lib_SOURCES): Add xstrtol.h.
113871         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
113872         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
113873         * MODULES.html.sh: Move 'assert' into the assert section.
113874         Move 'dummy' into the linking section.
113875         Remove ullong_max.
113876         Add section for compatibility checks for POSIX:2001 functions,
113877         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
113878         winsz-ioctl, and winsz-termios into it.
113879         Add lchmod.
113880         Add top-level Misc section and put host-os, perl, and uptime
113881         into it.
113883 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
113885         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
113886         now assume the stdint module.  Do not include inttypes.h.
113887         * lib/fsusage.h: Likewise.
113888         * lib/getndelim2.c: Likewise.
113889         * lib/human.h: Likewise.
113890         * lib/inttostr.h: Likewise.
113891         * lib/obstack.c: Likewise.
113892         * lib/regex_internal.h: Likewise.
113893         * lib/tempname.c: Likewise.
113894         * lib/utimecmp.c: Likewise.
113895         * lib/xstrtol.h: Likewise.
113897         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
113899         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
113900         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
113901         * lib/xtime.h: Likewise.
113903 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
113905         * modules/openat (Files): Add lib/fchmodat.c.
113906         Fixes problem reported by Jay Youngman.
113908 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
113910         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
113911         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
113913 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
113914             Bruno Haible  <bruno@clisp.org>
113916         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
113917         and is a script that invokes bison. Tighten the code. Add comments.
113919 2006-08-18  Jim Meyering  <jim@meyering.net>
113921         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
113922         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
113923         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
113924         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
113926 2006-08-18  Bruno Haible  <bruno@clisp.org>
113928         * modules/bison-i18n: New file.
113929         * MODULES.html.sh (Internationalization functions): Add it.
113931 2006-08-18  Bruno Haible  <bruno@clisp.org>
113933         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
113934         sys/statvfs.h. When getmntinfo was found, check its declaration and
113935         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
113937 2006-08-18  Bruno Haible  <bruno@clisp.org>
113939         * m4/bison-i18n.m4: New file, from bison.
113941 2006-08-18  Bruno Haible  <bruno@clisp.org>
113943         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
113944         (ME_DUMMY): Treat "kernfs" as a dummy.
113945         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
113947 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
113949         Update from coreutils.
113951         2006-08-15  Jim Meyering  <jim@meyering.net>
113953         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
113955         2006-01-17  Jim Meyering  <jim@meyering.net>
113957         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
113959         2006-01-11  Jim Meyering  <jim@meyering.net>
113961         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
113962         Check for the lchmod function.
113964 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
113966         Update from coreutils.
113968         * lib/__fpending.h: Add copyright notice.
113969         * lib/fprintftime.h: Likewise.
113970         * lib/savedir.c: Use (C) in copyright notice.
113971         * lib/savedir.h: Likewise.
113973         2006-08-15  Jim Meyering  <jim@meyering.net>
113975         * lib/at-func.c: New file, with the logic of all emulated at-functions.
113976         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
113977         in support of the EXPECTED_ERRNO macro.
113978         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
113979         definitions.  Instead, define the appropriate symbols and include
113980         "at-func.c".
113981         * lib/mkdirat.c (mkdirat): Likewise.
113982         * lib/fchmodat.c (fchmodat): Likewise.
113983         (ENOSYS): Remove definition.
113984         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
113985         it.  Don't include "unistd--.h" -- it wasn't ever used.
113987         2006-01-17  Jim Meyering  <jim@meyering.net>
113989         Rewrite fts.c not to change the current working directory,
113990         by using openat, fstatat, fdopendir, etc..
113992         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
113993         (HAVE_OPENAT_SUPPORT): Define.
113994         [_LIBC] (fchdir): Don't undef or define; no longer used.
113995         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
113996         Now, this `function' always succeeds, and consumes its file descriptor
113997         parameter -- so callers must not close such FDs.  Update callers.
113998         (diropen_fd, opendirat, cwd_advance_fd): New functions.
113999         (diropen): Add parameter, SP.  Adjust all callers.
114000         Implement using diropen_fd, rather than open.
114001         (fts_open): Initialize new member, fts_cwd_fd.
114002         Remove fts_rft-setting code.
114003         (fts_close): Close fts_cwd_fd, if necessary.
114004         (__opendir2): Define in terms of opendir or opendirat,
114005         depending on whether the FST_NOCHDIR flag is set.
114006         (fts_build): Since fts_safe_changedir consumes its FD, and since
114007         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
114008         and close the dup'd file descriptor upon failure.
114009         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
114010         (fts_safe_changedir): Tweak semantics to reflect that this function
114011         now calls cwd_advance_fd and hence consumes its FD argument.
114012         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
114013         [struct FTS] (fts_rft): Remove now-unused member.
114014         [struct FTS] (fts_cycle.state): Improve comment.
114016         * lib/openat.c (openat_needs_fchdir): New function.
114017         * lib/openat.h (openat_needs_fchdir): Declare it.
114019 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
114021         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
114022         Problem and fix reported by Pádraig Brady in
114023         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
114025 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114027         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
114029 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114031         * lib/memcoll.c (memcoll): Optimize for the common case where the
114032         arguments are bytewise equal.
114034 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114036         * doc/regexprops-generic.texi: Add a copyright notice.
114038 2006-08-15  Bruno Haible  <bruno@clisp.org>
114040         * modules/tmpdir (License): Change to LGPL.
114042 2006-08-15  Bruno Haible  <bruno@clisp.org>
114044         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
114045         module.
114047 2006-08-14  Simon Josefsson  <jas@extundo.com>
114049         * config/srclist.txt: Add gnupload.
114051 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114053         Change copyright notice from LGPL 2 to GPL 2, since that's the
114054         standard form used in the gnulib repository.
114055         * tests/test-lock.c: Likewise.
114056         * tests/test-stdint.c: Likewise.
114057         * tests/test-tls.c: Likewise.
114059         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
114060         prelude-manager.  User shorter URLs for GNU projects, without '?'.
114061         Add copyright notice.
114063         * check-module: Add copyright notice.  Output a copyright
114064         notice if "--version" is specified.
114065         * modules/COPYING: New file.
114066         * tests/test-getaddrinfo.c: Add copyright notice.
114067         * tests/test-verify.c: Likewise.
114069 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114071         Change copyright notice from LGPL 2 to GPL 2, since that's the
114072         standard form used in the gnulib repository.
114073         * lib/lock.c: LGPL -> GPL.
114074         * lib/lock.h: Likewise.
114075         * lib/strnlen1.c: Likewise.
114076         * lib/strnlen1.h: Likewise.
114077         * lib/tls.c: Likewise.
114078         * lib/tls.h: Likewise.
114079         * lib/tmpdir.c: Likewise.
114081         * lib/TODO: Remove; this belongs only in coreutils.
114083 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114085         Add copyright notices to long-enough files that lack them, since
114086         otherwise the files aren't clearly free.  Use the same notice that
114087         getdate.texi already uses.
114088         * doc/alloca-opt.texi: Add copyright notice.
114089         * doc/alloca.texi: Likewise.
114090         * doc/ctime.texi: Likewise.
114091         * doc/functions.texi: Likewise.
114092         * doc/gcd.texi: Likewise.
114093         * doc/gnulib-tool.texi: Likewise.
114094         * doc/inet_ntoa.texi: Likewise.
114095         * doc/visibility.texi: Likewise.
114097         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
114098         * doc/quote.texi: Add copyright notice.
114100         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
114101         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
114102         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
114103         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
114104         is now obsolete, and give a pointer to the Sun list.
114105         Add copyright notice.
114107 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114109         * config/srclistvars.sh: Add copyright notice.
114111 2006-08-14  Eric Blake  <ebb9@byu.net>
114113         Import the following change from libc:
114115         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
114117         Upstream bug 2997.
114118         * lib/misc/error.c: Add space between program name and message if file
114119         name is missing.
114121 2006-08-12  Karl Berry  <karl@gnu.org>
114123         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
114124         remove, these originate in gnulib now.
114126 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114128         * doc/Makefile (standards.info standards.html standards.dvi):
114129         Also depend on make-stds.texi.
114131 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
114133         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
114134         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
114136         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
114137         in wchar_t.  Problem reported by Eric Blake.
114139         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
114140         LEN is smaller than SIZE.  Suggested by Bruno Haible.
114141         Also, help the compiler to keep LEN in a register.
114143 2006-08-11  Eric Blake  <ebb9@byu.net>
114145         * users.txt: Sort.  Add tar.
114147 2006-08-11  Bruno Haible  <bruno@clisp.org>
114149         * users.txt: New file.
114151 2006-08-11  Bruno Haible  <bruno@clisp.org>
114153         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
114154         before <wchar.h>. Needed for OSF/1 and BSD/OS.
114156 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
114158         * modules/snprintf (Depends-on): Remove minmax.
114159         (Maintainer): Add self and Bruno.
114161 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
114163         * lib/.cppi-disable: Add snprintf.h, socket_.h.
114164         * lib/snprintf.c: Include <errno.h> and <limits.h>.
114165         (EOVERFLOW): Define if the system does not.
114166         Do not include "minmax.h"; it wasn't used.
114167         (snprintf): Don't assume size_t promotes to an unsigned type.
114168         Fix bug when generated string was too long for the buffer: the
114169         buffer's contents are supposed to be the initial prefix of the
114170         output.  Don't assume vasnprintf returns EOVERFLOW if the size
114171         exceeds INT_MAX; do the check ourselves.
114173         Import the following changes from libc:
114175         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
114177         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
114178         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
114179         set wc to the byte which couldn't be converted.
114180         (re_string_reconstruct): Don't clear valid_raw_len before calling
114181         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
114182         tip_context using re_string_context_at.
114184         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
114186         * lib/posix/regex.h: g++ still cannot handled [restrict].
114188         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
114190         * lib/posix/regex.h: Remove special handling for VMS.
114192 2006-08-10  Jim Meyering  <jim@meyering.net>
114194         * modules/same-inode: New module.
114195         * modules/dev-ino: New module.
114196         * modules/cycle-check: Depend on these modules, rather than simply
114197         including their .h files.
114198         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
114199         required via m4/cycle-check.m4.
114200         * modules/same: Depend on new same-inode module, rather than
114201         including same-inode.h.
114202         * modules/chdir-safer: New file.
114204         * modules/chown (Depends-on): Add stat-macros.
114206 2006-08-10  Jim Meyering  <jim@meyering.net>
114208         * m4/cycle-check.m4: New file.
114209         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
114210         * m4/dev-ino.m4, m4/same-inode.m4: New files.
114212 2006-08-10  Eric Blake  <ebb9@byu.net>
114214         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
114215         in from original proposal.
114217 2006-08-10  Eric Blake  <ebb9@byu.net>
114218         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114220         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
114221         namespace.
114223 2006-08-10  Bruno Haible  <bruno@clisp.org>
114225         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
114226         as well.
114228 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114230         Sync from coreutils.
114232         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
114234         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
114235         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
114237 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114239         * modules/restrict: Remove; no longer needed now that we assume
114240         Autoconf 2.59 or later.
114241         * MODULES.html.sh: Remove 'restrict'.
114242         * modules/argp (Depends-on): Remove 'restrict'.
114243         * modules/base64 (Depends-on): Likewise.
114244         * modules/gc (Depends-on): Likewise.
114245         * modules/getaddrinfo (Depends-on): Likewise.
114246         * modules/glob (Depends-on): Likewise.
114247         * modules/inet_ntop (Depends-on): Likewise.
114248         * modules/inet_pton (Depends-on): Likewise.
114249         * modules/memxor (Depends-on): Likewise.
114250         * modules/regex (Depends-on): Likewise.
114251         * modules/strtok_r (Depends-on): Likewise.
114252         * modules/time_r (Depends-on): Likewise.
114254 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114256         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
114257         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
114258         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
114259         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
114260         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
114261         * m4/memxor.m4 (gl_MEMXOR): Likewise.
114262         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
114263         gl_C_RESTRICT replaced by AC_C_RESTRICT.
114265         Merge from coreutils.
114266         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
114267         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
114268         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
114269         * m4/time_r.m4 (gl_TIME_R): Likewise.
114271 2006-08-09  Karl Berry  <karl@gnu.org>
114273         * config/srclist.txt: no more gettext-tools, per Bruno.
114275 2006-08-08  Eric Blake  <ebb9@byu.net>
114277         * modules/verror: New module.
114278         * MODULES.html.sh: Document it.
114280 2006-08-08  Eric Blake  <ebb9@byu.net>
114282         * lib/verror.h, lib/verror.c: New files.
114284 2006-08-08  Eric Blake  <ebb9@byu.net>
114286         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
114287         verror_at_line output complies with GNU Coding Standards even when
114288         file is NULL.
114290 2006-08-07  Bruno Haible  <bruno@clisp.org>
114292         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
114293         versions of AIX.
114294         Reported by Ralf Wildenhues.
114296 2006-08-07  Bruno Haible  <bruno@clisp.org>
114298         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
114299         in an AC_DEFUN. Needed so that the autoconf snippets can use
114300         AC_REQUIRE.
114302 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114304         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114305         Initialize pkgdata_DATA.
114306         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
114307         overriding it.
114309 2006-08-06  Eric Blake  <ebb9@byu.net>
114311         * lib/error.h: Fold in some upstream changes from glibc.
114312         * lib/error.c: Likewise.
114314 2006-08-04  Bruno Haible  <bruno@clisp.org>
114316         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114317         Make the mostlyclean-local rule depend on mostlyclean-generic.
114318         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
114320 2006-07-31  Bruno Haible  <bruno@clisp.org>
114322         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
114323         <stdlib.h>, <string.h>.
114325 2006-07-30  Bruno Haible  <bruno@clisp.org>
114327         * modules/readlink (License): Change to LGPL.
114329 2006-07-30  Bruno Haible  <bruno@clisp.org>
114331         * modules/javaversion (Makefile.am): Distribute javaversion.java and
114332         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
114333         set PKGDATADIR to point to it.
114335 2006-07-30  Bruno Haible  <bruno@clisp.org>
114337         * modules/csharpexec (configure.ac): Comment out macro invocation.
114338         * modules/javaexec (configure.ac): Likewise.
114339         * modules/javacomp-script (configure.ac): Likewise.
114341         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
114343 2006-07-30  Bruno Haible  <bruno@clisp.org>
114345         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
114346         linked-list.
114348 2006-07-30  Bruno Haible  <bruno@clisp.org>
114350         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
114352 2006-07-30  Bruno Haible  <bruno@clisp.org>
114354         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114355         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
114356         get removed.
114358 2006-07-29  Bruno Haible  <bruno@clisp.org>
114360         Make it possible for gnulib-tool to work with locally modified or
114361         augmented gnulib repositories.
114362         * gnulib-tool (func_usage): Document --local-dir option.
114363         (local_gnulib_dir): New variable.
114364         Handle --local-dir option.
114365         (func_lookup_file): New function.
114366         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
114367         (func_get_description, func_get_filelist, func_get_description,
114368         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
114369         func_get_automake_snippet, func_get_include_directive,
114370         func_get_license, func_get_maintainer): Use func_lookup_file.
114371         (func_import, func_create_testdir): Use func_lookup_file.
114373 2006-07-29  Bruno Haible  <bruno@clisp.org>
114375         * modules/setenv (Depends-on): Add unistd.
114377 2006-07-29  Bruno Haible  <bruno@clisp.org>
114379         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
114381 2006-07-29  Bruno Haible  <bruno@clisp.org>
114383         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
114385 2006-07-29  Bruno Haible  <bruno@clisp.org>
114387         * gnulib-tool (import, update): If there is no Makefile.am, look at
114388         aclocal.m4, instead of bailing out.
114390 2006-07-29  Bruno Haible  <bruno@clisp.org>
114392         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
114393         Categorize the options by when they are useful.
114395 2006-07-29  Bruno Haible  <bruno@clisp.org>
114397         * gnulib-tool (func_usage): Document option --no-libtool.
114398         Handle option --no-libtool.
114399         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
114400         for changed semantics of $libtool variable.
114401         (func_import): Likewise. If libtool is not used, show this through
114402         an option --no-libtool.
114403         (func_create_testdir): Update.
114405 2006-07-29  Bruno Haible  <bruno@clisp.org>
114407         * gnulib-tool (func_import): Extend error message about missing
114408         --doc-base.
114410 2006-07-29  Bruno Haible  <bruno@clisp.org>
114412         * gnulib-tool (func_import): Don't create the $docbase directory if
114413         there is no file to store there.
114415 2006-07-29  Bruno Haible  <bruno@clisp.org>
114417         * gnulib-tool (autoconf_minversion): If a --dir option is given and
114418         relevant, look for configure.ac there, not in the current directory.
114419         Also use a simple search for AC_PREREQ, not "autoconf --trace".
114421 2006-07-29  Bruno Haible  <bruno@clisp.org>
114423         * gnulib-tool (SORT): New variable.
114424         (func_usage): Undocument --assume-autoconf option.
114425         Remove --assume-autoconf option handling.
114426         (autoconf_minversion): Determine from the contents of configure.ac.
114427         (func_import): Remove autoconf_minversion handling.
114428         Suggested by Eric Blake.
114430 2006-07-29  Bruno Haible  <bruno@clisp.org>
114432         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
114434 2006-07-29  Bruno Haible  <bruno@clisp.org>
114436         * config/srclist.txt (*setenv.[ch]): Remove rules.
114438 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114440         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
114442 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114444         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
114445         arpa/inet.h.
114447 2006-07-28  Simon Josefsson  <jas@extundo.com>
114449         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
114450         * modules/inet_pton (Depends-on): Likewise.
114452 2006-07-28  Simon Josefsson  <jas@extundo.com>
114454         * m4/netinet_in_h.m4: New file.
114456 2006-07-28  Simon Josefsson  <jas@extundo.com>
114458         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
114459         #include's.
114461 2006-07-28  Simon Josefsson  <jas@extundo.com>
114463         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
114464         #include's.
114466 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
114468         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
114469         setgid on directories only if they set these bits.
114470         * lib/modechange.h: Remove obsolete comment about masks.
114472 2006-07-28  Eric Blake  <ebb9@byu.net>
114474         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
114475         macro expansion.
114477 2006-07-28  Bruno Haible  <bruno@clisp.org>
114479         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
114481 2006-07-28  Bruno Haible  <bruno@clisp.org>
114483         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
114485 2006-07-28  Bruno Haible  <bruno@clisp.org>
114487         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
114488         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
114489         Define fallbacks.
114490         Avoids link error on FreeBSD 4.x.
114491         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
114493         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
114494         encoding.
114495         * lib/mbswidth.c (iswcntrl): Likewise.
114497 2006-07-27  Bruno Haible  <bruno@clisp.org>
114499         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
114500         test.
114502 2006-07-27  Bruno Haible  <bruno@clisp.org>
114504         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
114505         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
114506         defined.
114508 2006-07-26  Eric Blake  <ebb9@byu.net>
114510         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
114512 2006-07-26  Eric Blake  <ebb9@byu.net>
114514         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
114515         like mingw that lack mkstemp.
114516         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
114517         avoid compilation warning on mingw.
114519 2006-07-26  Bruno Haible  <bruno@clisp.org>
114521         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
114522         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
114523         INT_FAST*_MIN, INTPTR_MIN.
114525 2006-07-25  Bruno Haible  <bruno@clisp.org>
114527         * modules/version-etc (Depends-on): Add stdarg.
114529 2006-07-25  Bruno Haible  <bruno@clisp.org>
114531         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
114532         complex commands.
114534 2006-07-25  Bruno Haible  <bruno@clisp.org>
114536         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
114537         defined in <stdarg.h> or config.h.
114539 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
114541         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
114542         (gl_STDIO_SAFER): Remove.
114544 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
114546         * MODULES.html.sh (File stream based Input/Output):
114547         Add fopen-safer, tmpfile-safer; remove stdio-safer.
114548         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
114549         * modules/fopen-safer, modules/tmpfile-safer: New files.
114550         * modules/stdio-safer: Remove.
114552 2006-07-24  Bruno Haible  <bruno@clisp.org>
114554         * modules/tmpdir: New file.
114555         * MODULES.html.sh (File system functions): Add it.
114557 2006-07-24  Bruno Haible  <bruno@clisp.org>
114559         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
114560         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
114562 2006-07-24  Bruno Haible  <bruno@clisp.org>
114564         * modules/clean-temp: New file.
114566 2006-07-24  Bruno Haible  <bruno@clisp.org>
114568         * m4/tmpdir.m4: New file, from GNU gettext.
114570 2006-07-24  Bruno Haible  <bruno@clisp.org>
114572         * lib/tmpdir.h: New file, from GNU gettext.
114573         * lib/tmpdir.c: New file, from GNU gettext.
114575 2006-07-24  Bruno Haible  <bruno@clisp.org>
114577         * lib/clean-temp.h: New file, from GNU gettext.
114578         * lib/clean-temp.c: New file, from GNU gettext.
114580 2006-07-23  Eric Blake  <ebb9@byu.net>
114582         * modules/stdio-safer (Files): Add tmpfile-safer.c.
114583         (Depends-on): Add binary-io.
114585 2006-07-23  Eric Blake  <ebb9@byu.net>
114587         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
114589 2006-07-23  Eric Blake  <ebb9@byu.net>
114591         * lib/tmpfile-safer.c: New file.
114592         * lib/stdio-safer.h (fopen_safer): Add prototype.
114593         * lib/stdio--.h (tmpfile): Make safer.
114595 2006-07-23  Bruno Haible  <bruno@clisp.org>
114597         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
114598         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
114599         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
114600         gl_linked_remove_at): Use it.
114602 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114603         and Simon Josefsson <jas@extundo.com>
114605         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
114607         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
114609 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114611         * modules/close-stream: New file.
114612         * modules/closeout (Description): Make it clear that it exits
114613         with a diagnostic on error.
114614         (Depends-on): Add close-stream.  Remove fpending, stdbool.
114615         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
114617 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114619         * m4/close-stream.m4: New file.
114621 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114623         * lib/close-stream.c, lib/close-stream.h: New files.
114625 2006-07-22  Bruno Haible  <bruno@clisp.org>
114627         Merge from GNU gettext 0.15.
114629         2006-05-01  Bruno Haible  <bruno@clisp.org>
114631                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
114633         2006-07-22  Bruno Haible  <bruno@clisp.org>
114635                 * modules/javaversion: New file.
114636                 * MODULES.html.sh (Java): Add javaversion.
114638         2006-03-12  Bruno Haible  <bruno@clisp.org>
114640                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
114642         2005-12-04  Bruno Haible  <bruno@clisp.org>
114644                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
114645                 (untested).
114647         2006-06-21  Bruno Haible  <bruno@clisp.org>
114649                 Avoid warnings from recent versions of mcs.
114650                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
114651                 -o, -L, -r any more. Use options documented since mcs-1.0
114652                 instead. Similarly for -g.
114654         2005-12-04  Bruno Haible  <bruno@clisp.org>
114656                 * build-aux/csharpcomp.sh.in: Suffix for resources is
114657                 .resources, not .resource.
114659         2005-07-09  Bruno Haible  <bruno@clisp.org>
114661                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
114662                 add a .dll suffix.
114663                 Reported by Mark Junker <mjscod@gmx.de>.
114665         2006-07-22  Bruno Haible  <bruno@clisp.org>
114667                 * modules/gettext: Upgrade to gettext-0.15.
114668                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
114669                 m4/visibility.m4.
114670                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
114672 2006-07-22  Bruno Haible  <bruno@clisp.org>
114674         Merge from GNU gettext 0.15.
114676         2006-03-25  Bruno Haible  <bruno@clisp.org>
114678                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
114680         2006-07-21  Bruno Haible  <bruno@clisp.org>
114682                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
114683                 "1.1".
114685         2006-05-09  Bruno Haible  <bruno@clisp.org>
114687                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
114688                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
114689                 for the conftestver execution.
114691         2006-05-01  Bruno Haible  <bruno@clisp.org>
114693                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
114694                 optional target-version argument. Verify that the compiler
114695                 groks source of the specified source-version, or add -source
114696                 option as necessary. Verify that the compiler produces
114697                 bytecode in the specified target-version, or add -target and
114698                 -source options as necessary. Make the result of the test
114699                 available as variable CONF_JAVAC. Also log error output in
114700                 config.log.
114702         2006-03-11  Bruno Haible  <bruno@clisp.org>
114704                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
114706         2006-05-09  Bruno Haible  <bruno@clisp.org>
114708                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
114709                 CLASSPATH_SEPARATOR to a semicolon.
114711         2006-03-12  Bruno Haible  <bruno@clisp.org>
114713                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
114714                 available as variable CONF_JAVA, for subsequent autoconf
114715                 tests. Also log error output in config.log.
114717         2006-07-19  Bruno Haible  <bruno@clisp.org>
114719                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
114720                 that getline works on glibc2 systems. Needed to avoid trouble
114721                 in relocatable.c.
114722                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
114724         2005-12-04  Bruno Haible  <bruno@clisp.org>
114726                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
114727                 launcher (untested).
114729         2005-12-04  Bruno Haible  <bruno@clisp.org>
114731                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
114733         2006-07-22  Bruno Haible  <bruno@clisp.org>
114735                 * gettext.m4: Update from GNU gettext-0.15.
114736                 * nls.m4: Likewise.
114737                 * po.m4: Likewise.
114738                 * inttypes-pri.m4: Likewise.
114739                 * inttypes-h.m4: Renamed from inttypes.m4.
114740                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
114742 2006-07-22  Bruno Haible  <bruno@clisp.org>
114744         Merge from GNU gettext 0.15.
114746         2005-07-05  Bruno Haible  <bruno@clisp.org>
114748                 * printf-args.c (printf_fetchargs): Work around broken
114749                 definition of wint_t on mingw.
114751         2005-02-12  Bruno Haible  <bruno@clisp.org>
114753                 * xallocsa.h: Add extern "C" for C++.
114755         2006-05-17  Bruno Haible  <bruno@clisp.org>
114757                 Cygwin portability.
114758                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
114760         2006-04-30  Bruno Haible  <bruno@clisp.org>
114762                 * progreloc.c: Include <mach-o/dyld.h> if available.
114763                 (find_executable): Use _NSGetExecutablePath when possible.
114765         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
114767                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
114768                 function.
114770         2005-12-29  Bruno Haible  <bruno@clisp.org>
114772                 * progreloc.c (set_program_name_and_installdir): Fix
114773                 compilation error.
114775         2005-12-04  Bruno Haible  <bruno@clisp.org>
114777                 Cygwin portability.
114778                 * progreloc.c: Include <windows.h> also on Cygwin.
114779                 (find_executable): Add support for Cygwin.
114780                 (set_program_name_and_installdir): Handle also platforms with
114781                 nonempty EXEEXT.
114783         2006-07-11  Bruno Haible  <bruno@clisp.org>
114785                 * javacomp.c: Fix a comment.
114786                 Reported by Jim Meyering.
114788         2006-04-30  Bruno Haible  <bruno@clisp.org>
114790                 * javacomp.h (compile_java_class): Add source_version,
114791                 target_version arguments.
114792                 * javacomp.c: Rewritten to choose only a compiler that
114793                 respects the specified source_version and target_version.
114795         2006-06-27  Bruno Haible  <bruno@clisp.org>
114797                 Assume correct S_ISDIR macro.
114798                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
114800         2006-07-22  Bruno Haible  <bruno@clisp.org>
114802                 * javaversion.h: New file, from GNU gettext.
114803                 * javaversion.c: New file, from GNU gettext.
114804                 * javaversion.java: New file, from GNU gettext.
114805                 * javaversion.class: New file, from GNU gettext.
114807         2006-05-17  Bruno Haible  <bruno@clisp.org>
114809                 Cygwin portability.
114810                 * javaexec.c (execute_java_class): Test for jview program
114811                 also on Cygwin.
114813         2006-04-09  Bruno Haible  <bruno@clisp.org>
114815                 * fatal-signal.c: Don't include string.h.
114816                 (at_fatal_signal): Use a copying loop instead of memcpy.
114818         2005-12-04  Bruno Haible  <bruno@clisp.org>
114820                 * csharpexec.c: Add support for 'clix' launcher (untested).
114821                 (execute_csharp_using_sscli): New function.
114822                 (execute_csharp_program): Call it.
114824         2006-06-21  Bruno Haible  <bruno@clisp.org>
114826                 Avoid warnings from recent versions of mcs.
114827                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
114828                 -o, -L, -r any more. Use options documented since mcs-1.0
114829                 instead. Similarly for -g.
114831         2005-07-09  Bruno Haible  <bruno@clisp.org>
114833                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
114834                 add a .dll suffix.
114835                 Reported by Mark Junker <mjscod@gmx.de>.
114837         2006-06-17  Bruno Haible  <bruno@clisp.org>
114839                 * config.charset: Update for NetBSD 3.0.
114841         2006-05-17  Bruno Haible  <bruno@clisp.org>
114843                 Cygwin portability.
114844                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
114846         2006-05-16  Bruno Haible  <bruno@clisp.org>
114848                 * localcharset.c [CYGWIN]: Include <windows.h>.
114849                 (get_charset_aliases): For Cygwin, return the same CPxxx
114850                 aliases list as under WIN32.
114851                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
114852                 the environment variables. Fall back to GetACP().
114854         2006-04-05  Bruno Haible  <bruno@clisp.org>
114856                 * config.charset: Update Juan Manuel Guerrero's address.
114858         2005-02-12  Bruno Haible  <bruno@clisp.org>
114860                 * allocsa.h: Add extern "C" for C++.
114862         2005-02-10  Bruno Haible  <bruno@clisp.org>
114864                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
114865                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
114867         2006-07-22  Bruno Haible  <bruno@clisp.org>
114869                 * gettext.h: Update to GNU gettext-0.15.
114871 2006-07-22  Bruno Haible  <bruno@clisp.org>
114873         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
114874         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
114875         lib-prefix.m4, longdouble.m4, ssize_t.m4.
114877 2006-07-21  Eric Blake  <ebb9@byu.net>
114879         * modules/stdlib-safer: New file.
114880         * MODULES.html.sh (File stream based Input/Output): Add
114881         stdlib-safer.
114883 2006-07-21  Eric Blake  <ebb9@byu.net>
114885         * lib/stdlib-safer.h: New file from coreutils, required by
114886         stdlib--.h.
114888 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
114890         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
114892 2006-07-20  Bruno Haible  <bruno@clisp.org>
114894         * gnulib-tool: Recognize new option --assume-autoconf.
114895         (autoconf_minversion): New variable.
114896         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
114898 2006-07-20  Bruno Haible  <bruno@clisp.org>
114900         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
114902 2006-07-19  Derek R. Price  <derek@ximbiot.com>
114904         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
114905         Reindent and repaginate.
114907 2006-07-19  Derek Price  <derek@ximbiot.com>
114909         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
114910         Correct grammar.
114912 2006-07-17  Bruno Haible  <bruno@clisp.org>
114914         * modules/list: New file.
114915         * modules/array-list: New file.
114916         * modules/carray-list, modules/carray-list-tests: New files.
114917         * modules/linked-list, modules/linked-list-tests: New files.
114918         * modules/avltree-list, modules/avltree-list-tests: New files.
114919         * modules/rbtree-list, modules/rbtree-list-tests: New files.
114920         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
114921         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
114922         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
114923         * modules/oset: New file.
114924         * modules/array-oset: New file.
114925         * modules/avltree-oset, modules/avltree-oset-tests: New files.
114926         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
114927         * tests/test-carray_list.c: New file.
114928         * tests/test-linked_list.c: New file.
114929         * tests/test-avltree_list.c: New file.
114930         * tests/test-rbtree_list.c: New file.
114931         * tests/test-linkedhash_list.c: New file.
114932         * tests/test-avltreehash_list.c: New file.
114933         * tests/test-rbtreehash_list.c: New file.
114934         * tests/test-avltree_oset.c: New file.
114935         * tests/test-rbtree_oset.c: New file.
114936         * MODULES.html.sh (Container data structures): New section.
114938 2006-07-17  Bruno Haible  <bruno@clisp.org>
114940         * m4/gl_list.m4: New file.
114942 2006-07-17  Bruno Haible  <bruno@clisp.org>
114944         * lib/gl_list.h: New file.
114945         * lib/gl_list.c: New file.
114946         * lib/gl_array_list.h: New file.
114947         * lib/gl_array_list.c: New file.
114948         * lib/gl_carray_list.h: New file.
114949         * lib/gl_carray_list.c: New file.
114950         * lib/gl_linked_list.h: New file.
114951         * lib/gl_linked_list.c: New file.
114952         * lib/gl_anylinked_list1.h: New file.
114953         * lib/gl_anylinked_list2.h: New file.
114954         * lib/gl_avltree_list.h: New file.
114955         * lib/gl_avltree_list.c: New file.
114956         * lib/gl_anyavltree_list1.h: New file.
114957         * lib/gl_anyavltree_list2.h: New file.
114958         * lib/gl_rbtree_list.h: New file.
114959         * lib/gl_rbtree_list.c: New file.
114960         * lib/gl_anyrbtree_list1.h: New file.
114961         * lib/gl_anyrbtree_list2.h: New file.
114962         * lib/gl_anytree_list1.h: New file.
114963         * lib/gl_anytree_list2.h: New file.
114964         * lib/gl_linkedhash_list.h: New file.
114965         * lib/gl_linkedhash_list.c: New file.
114966         * lib/gl_anyhash_list1.h: New file.
114967         * lib/gl_anyhash_list2.h: New file.
114968         * lib/gl_avltreehash_list.h: New file.
114969         * lib/gl_avltreehash_list.c: New file.
114970         * lib/gl_rbtreehash_list.h: New file.
114971         * lib/gl_rbtreehash_list.c: New file.
114972         * lib/gl_anytreehash_list1.h: New file.
114973         * lib/gl_anytreehash_list2.h: New file.
114975         * lib/gl_oset.h: New file.
114976         * lib/gl_oset.c: New file.
114977         * lib/gl_array_oset.h: New file.
114978         * lib/gl_array_oset.c: New file.
114979         * lib/gl_avltree_oset.h: New file.
114980         * lib/gl_avltree_oset.c: New file.
114981         * lib/gl_rbtree_oset.h: New file.
114982         * lib/gl_rbtree_oset.c: New file.
114983         * lib/gl_anytree_oset.h: New file.
114985 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
114987         * m4/mkancesdirs.m4: New file.
114988         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
114989         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
114990         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
114991         it.
114993 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
114995         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
114996         * lib/mkancesdirs.h: New files.
114997         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
114998         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
114999         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
115000         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
115001         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
115002         callers changed.  Revamp internals significantly, by not
115003         attempting to create directories that are temporarily more
115004         permissive than the final results.  Do not attempt to use
115005         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
115006         This removes some race conditions, fixes some bugs, and simplifies
115007         things.  Use new dirchownmod function to do owner and mode changes.
115008         * lib/mkdir-p.h: Likewise.
115009         * lib/modechange.c (octal_to_mode): New function.
115010         (struct mode_change): New member mentioned.
115011         (make_node_op_equals): New arg mentioned.  All callers changed.
115012         (mode_compile): Keep track of which mode bits the user has explicitly
115013         mentioned.
115014         (mode_adjust): New arg DIR, so that we implement the X op correctly.
115015         New arg PMODE_BITS, to keep track of which mode bits the user
115016         mentioned; it treats S_ISUID and S_ISGID speciall.
115017         All callers changed.
115018         * lib/modechange.h: Likewise.
115020 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115022         * MODULES.html.sh: Add mkancestors.
115023         * modules/mkancesdirs: New module.
115024         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
115025         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
115026         The chdir-safer and afs files are now orphans; I'll remove them
115027         unless someone speaks up.
115028         Add lib/dirchownmod.c, lib/dirchownmod.h.
115029         (Depends-on): Remove alloca, chown, save-cwd, dirname.
115030         Add lchown, mkancesdirs.
115031         (Maintainer): Add self.
115033 2006-07-15  Karl Berry  <karl@gnu.org>
115035         * gnulib-tool: help message wording/arrangement.
115037 2006-07-14  Simon Josefsson  <jas@extundo.com>
115039         * doc/gnulib.texi (Libtool and Windows): New section.
115041 2006-07-12  Simon Josefsson  <jas@extundo.com>
115043         * modules/gendocs (License): Fix license, approved by Karl.
115045 2006-07-12  Eric Blake  <ebb9@byu.net>
115047         * MODULES.html.sh: Add gendocs.
115049 2006-07-11  Eric Blake  <ebb9@byu.net>
115051         * modules/fdl: New module, to install doc/fdl.texi.
115052         * MODULES.html.sh: Add new section for documentation modules.
115053         * gnulib-tool: Avoid space-tab.
115054         (--doc-base): New option, to manage files from doc.
115056 2006-07-11  Eric Blake  <ebb9@byu.net>
115058         * m4/absolute-header.m4: Fix comments to match recent change.
115060 2006-07-11  Eric Blake  <ebb9@byu.net>
115062         * gnulib-tool: List --doc-base before --tests-base.
115064 2006-07-11  Derek R. Price  <derek@ximbiot.com>
115066         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
115068 2006-07-11  Bruno Haible  <bruno@clisp.org>
115070         * README: Mention where to put documentation.
115072 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115074         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
115076 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115078         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
115079         to stdint.m4.
115081 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115083         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
115084         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
115085         "no/such/file/stdint.h" when there is no such file, so that
115086         the resulting C code can be parsed by dodgy compilers.
115087         Problems reported by Bob Proulx.
115089 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115091         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
115092         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115093         macros into the GNU _D_EXACT_NAMLEN.
115094         * lib/savedir.c:  Likewise.
115095         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
115097 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115098         and Paul Eggert  <eggert@cs.ucla.edu>
115100         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
115101         * m4/savedir.m4:
115102         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115103         macros into the GNU _D_EXACT_NAMLEN.
115105 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115107         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
115108         around the absolute name, to work around a problem with the HP-UX
115109         11.23 native C compiler, reported by Bob Proulx.
115111 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115113         * doc/maintain.texi, make-stds.texi: Sync from
115114         <http://savannah.gnu.org/projects/gnustandards>.
115116 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115118         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
115120 2006-07-09  Jim Meyering  <jim@meyering.net>
115122         * m4/glob.m4: Remove a doubled word in a comment.
115124 2006-07-09  Jim Meyering  <jim@meyering.net>
115126         * lib/argp-pv.c: Remove a doubled word in a comment.
115127         * lib/check-version.c (check_version): Likewise.
115128         * lib/javacomp.c (compile_java_class): Likewise.
115130 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
115132         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
115133         for the benefit of people using Autoconf 2.60.  If you want to
115134         support older Autoconf versions you can copy m4/onceonly_2_57.m4
115135         (or m4/onceonly.m4, if pre-2.57) manually.
115137 2006-07-08  Jim Meyering  <jim@meyering.net>
115139         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
115140         comment.
115141         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
115142         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
115143         comment.
115145 2006-07-08  Jim Meyering  <jim@meyering.net>
115147         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
115149 2006-07-07  Simon Josefsson  <jas@extundo.com>
115151         * tests/test-crc.c: Change expected crc value, the test vector
115152         were probably computed using the old broken crc.c?
115154 2006-07-06  Simon Josefsson  <jas@extundo.com>
115156         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
115157         now the canonical place for the M4 file).
115159         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
115160         from the sys_socket dependency now.
115162         * modules/inet_pton (Files): Ditto.
115164         * modules/inet_ntop (Files): Ditto.
115166 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
115168         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
115169         not gl_PREREQ_GETUSERSHELL.
115171 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115173         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
115174         with only one argument, for Autoconf 2.60.
115175         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
115176         expand to nothing, so add a shell command to avoid syntax error.
115177         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
115179 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115181         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
115183 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115185         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
115186         no longer needed.  Check for isblank decl.
115187         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
115188         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
115189         of existence.
115191 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115193         * lib/getloadavg.c: Use __VMS, not VMS.
115194         * lib/getopt.c: Likewise.
115195         * lib/getpagesize.h: Likewise.
115196         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
115197         and probably does not work.
115199 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115201         * lib/.cppi-disable: Add wcwidth.
115202         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
115203         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
115204         (ISGRAPH): Remove.  All uses changed to isgraph.
115205         (FOLD) [!defined _LIBC]: Remove special case.
115206         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
115207         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
115208         HAVE_ISBLANK.
115209         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
115210         case.
115212 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
115214         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
115215         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
115216         brackets.  Other minor changes to suppress some compiler
115217         warnings.
115219 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115220         and Paul Eggert  <eggert@cs.ucla.edu>
115222         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
115223         of invoking obsolescent AC_HEADER_DIRENT macro.
115224         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
115225         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
115226         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
115227         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
115228         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
115229         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115230         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
115231         * m4/readdir.m4: Remove; no longer needed.
115233 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115234         and Paul Eggert  <eggert@cs.ucla.edu>
115236         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
115237         Don't worry about this obsolete case any more.
115238         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
115239         directories.
115240         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
115241         worry about this obsolete case any more.
115242         * lib/fts.c: Likewise.
115243         * lib/getcwd.c: Likewise.
115244         * lib/glob.h: Likewise.
115245         * lib/savedir.c: Likewise.
115247 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115249         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
115250         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
115251         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
115252         needed.
115253         All uses removed.
115254         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115255         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115256         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
115257         needed.
115258         * m4/getdate.m4 (gl_GETDATE): Likewise.
115259         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115260         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115261         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115262         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115263         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115264         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115265         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
115266         needed.
115268 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115270         * lib/memcasecmp.c: Include <limits.h>.
115271         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
115272         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
115273         Don't assume isdigit succeeds only on '0' through '9'.
115275 2006-07-05  Eric Blake  <ebb9@byu.net>
115277         * modules/getaddrinfo (Depends-on): Add snprintf.
115279 2006-07-05  Eric Blake  <ebb9@byu.net>
115281         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
115282         to avoid 'header present but could not be compiled' on cygwin.
115284 2006-07-05  Eric Blake  <ebb9@byu.net>
115286         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
115287         missing from netdb.h.
115288         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
115290 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115292         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
115293         no longer needed.
115294         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
115295         * m4/getdate.m4 (gl_GETDATE): Likewise.
115296         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115297         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115298         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115299         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115300         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115302 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115304         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
115305         All uses of is_space replaced by isspace.
115306         * lib/exit.h: Don't talk about STDC_HEADERS.
115307         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
115308         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
115309         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
115310         replaced by isprint etc.
115311         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
115312         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115313         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
115314         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
115315         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
115316         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115318 2006-07-05  Bruno Haible  <bruno@clisp.org>
115320         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
115321         the function exists, before testing against AIX.
115322         Reported by Martin Lambers <marlam@marlam.de>.
115324 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115326         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
115327         From Mark D. Baushke.
115329 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115331         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
115332         to the absolute name, not just one, to bypass Sun C 5.8's
115333         "warning: #include of /usr/include/... may be non-portable".
115335 2006-07-04  Eric Blake  <ebb9@byu.net>
115337         * modules/dirname-tests: New test module.
115338         * tests/test-dirname.c: New file, replacing dirname.c
115339         TEST_DIRNAME section that was recently deleted.
115341 2006-07-04  Bruno Haible  <bruno@clisp.org>
115343         Assume ANSI C header files and <ctype.h> functions.
115344         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
115345         (mbsnwidth): Use isprint, iscntrl instead.
115347 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115349         Merge from coreutils.
115350         * MODULES.html.sh: Add xstrtold.
115351         * modules/xstrtold: New file.
115352         * modules/cycle-check (Files): Add lib/same-inode.h.
115353         * modules/dirname (Files): Add m4/double-slash-root.m4.
115354         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
115355         * modules/mkdir-p (Files): Add lib/same-inode.h.
115356         * modules/same (Files): Add lib/same-inode.h.
115358 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115360         * m4/absolute-header.m4: Renamed from full-header-path.m4.
115361         This is to keep the terminology clean; POSIX talks about
115362         "absolute pathnames", not "full pathnames", but the GNU
115363         Coding Standards say to use "path" for something else;
115364         so use "absolute" to keep both sides happy.
115365         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
115366         Set gl_absolute_header, not gl_full_header_path.
115367         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
115368         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
115369         All uses changed.
115371         Merge from coreutils.
115373         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
115375         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
115376         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
115377         want to require the building of c-strtod.o.
115378         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
115379         needs -lm directly.
115380         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
115382         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
115384         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
115385         --as-needed option if available.  Problem reported by Albert Chin in
115386         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
115387         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
115388         cc merely issues a bunch of annoying warnings for --as-needed
115389         (this problem was reported by Bob Proulx).  Also, try linking with
115390         -lm to detect a bug in binutils 2.16 (this problem was reported
115391         by Ralf Wildenhues).
115393         2006-06-18  Jim Meyering  <jim@meyering.net>
115395         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
115396         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
115397         macro.
115398         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
115399         also check for glibc-2.4's abort-inducing bug.
115401         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
115402         Low-probability clean-up should be to use rmdir to get rid of
115403         the just-created directory, not unlink.
115405         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
115406         configure fail, and request a bug report to inform us about it.
115407         Add a comment that, barring reports to the contrary, in 2007 we'll
115408         assume ftruncate is universally available.
115410         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
115412         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
115414         2006-03-12  Jim Meyering  <jim@meyering.net>
115416         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
115417         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
115418         * m4/same.m4 (gl_SAME): Likewise.
115419         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
115421         2006-03-11  Eric Blake  <ebb9@byu.net>
115423         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
115424         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
115425         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
115426         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
115428 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115430         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
115431         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
115432         reported by Mark D. Baushke, one in
115433         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
115435         Merge from coreutils.
115437         * lib/.cppi-disable: Add stdint_.h.
115438         * lib/.cvsignore: Add stdint.h.
115440         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
115442         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
115443         both double and long double versions.
115444         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
115445         * lib/xstrtold.c: New file.
115446         * lib/xstrtod.h (xstrtold): New decl.
115448         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
115450         * lib/filemode.c (setst): Remove.
115451         (strmode): Rewrite to avoid setst.  This makes the code shorter,
115452         (arguably) clearer, and the generated code is a bit smaller on my
115453         Debian GNU/Linux stable x86 host.
115455         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
115457         * lib/filemode.c: Include "filemode.h" first, to test the interface.
115458         Assume that filemode.h includes sys/types.h and sys/stat.h.
115459         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
115460         (ftypelet): Reorder to put common cases first, for efficiency.
115461         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
115462         to do 'M'.
115463         (strmode): Renamed from mode_string, and now stores 12 bytes instead
115464         of 10, for compatibility with FreeBSD.  All callers changed.
115465         (filemodestring): Now stores 12 bytes instead of 10, and sets file
115466         types that can't be deduced solely from st_mode.  First arg is now a
115467         const pointer.
115468         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
115469         (strmode): Renamed from mode_string.
115470         (filemodestring): New decl.
115471         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
115472         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
115473         needed.
115474         (S_ISPORT, S_ISWHT): New macros, if not already defined.
115476         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
115478         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
115479         fsusage.h now does that.  Include fsusage.h first, to test interface.
115480         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
115481         at most one method (the old code could have generated decls that
115482         didn't conform to C89, not that this was ever exercised).
115483         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
115485         2006-03-19  Jim Meyering  <jim@meyering.net>
115487         Work even in a chroot where d_ino values for entries in "/"
115488         don't match the stat.st_ino values for the same names.
115489         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
115490         number, iterate through all entries again, using lstat instead.
115491         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
115492         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
115494         * lib/getcwd.c (__getcwd): Clarify a comment.
115495         Use memcpy in place of a call to strcpy.
115497         2006-03-12  Jim Meyering  <jim@meyering.net>
115499         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
115500         matches that of the current directory (which we're about to chdir ".."
115501         out of), then save the dev-ino of the parent, instead.
115503         * lib/same-inode.h (SAME_INODE): New file/macro.
115504         * lib/chdir-safer.c (SAME_INODE): Remove definition.
115505         Include "same-inode.h", instead.
115506         * lib/same.c: Likewise.
115507         * lib/cycle-check.h: Include "same-inode.h".
115508         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
115509         * lib/cycle-check.c (SAME_INODE): Remove definition.
115510         * lib/root-dev-ino.h: Include "same-inode.h".
115512         2006-03-11  Eric Blake  <ebb9@byu.net>
115514         * lib/same.c (same_name): s/base_name/last_component/
115515         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
115516         * lib/filenamecat.c (file_name_concat): Likewise.
115518         2006-03-11  Eric Blake  <ebb9@byu.net>,
115519                     Paul Eggert  <eggert@cs.ucla.edu>
115521         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
115522         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
115523         drive prefix.
115524         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
115525         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
115526         (last_component): New method.
115527         * lib/dirname.c (dir_len): Determine when drive letters need a
115528         subsequent slash.  Preserve // when it is special.
115529         (dir_name): Don't append dot when drive letter is absolute.
115530         [TEST_DIRNAME]: Move into a full-blown gnulib test.
115531         * lib/basename.c (base_name): New semantics - malloc the result.
115532         Preserve // when it is special.  Preserve relative files that look
115533         like drive letters.
115534         (base_len): Preserve // when it is special.
115535         (last_component): New method, similar to old base_name semantics.
115536         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
115537         base_name.  Strip redundant slashes from ///.
115539 2006-07-03  Jim Meyering  <jim@meyering.net>
115541         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
115542         macro is used before the first cycle_check call.
115544 2006-07-03  Eric Blake  <ebb9@byu.net>
115546         * modules/dirname (Depends-on): Add xstrndup.
115548 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
115550         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
115551         test cases, so that config.log is a bit easier to follow.
115553 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
115555         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
115556         both are 64 bits, since this seems to be the tradition, and this
115557         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
115558         we ever run into a host that prefers long long to long in this
115559         case, we'll need another configure-time test.  Problem reported by
115560         Jim Meyering.
115562 2006-07-02  Eric Blake  <ebb9@byu.net>
115564         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
115566 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115568         * modules/inttypes (Depends-on): No longer depends on stdint.
115569         * modules/stdint (Description): Say more about assumptions.
115570         Say that the fast types might differ.  Say macros are used.
115571         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
115572         (Makefile.am): Revise list of substituted symbols to match
115573         new stdint.m4.
115574         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
115575         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
115576         * tests/test-stdint.c (verify_same_types)
115577         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
115578         the code conforms to C99/C89.
115579         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
115580         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
115582 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115584         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
115585         but fix a bug, by requiring at least 64 bits.
115586         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
115587         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
115588         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
115589         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115591         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
115592         changes.  Make 2.59 a prerequisite.  Check and substitute for
115593         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
115594         inttypes.h.  Do not use special include files; just use the
115595         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
115596         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
115597         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
115598         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
115599         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
115600         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
115601         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
115602         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
115603         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
115604         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
115605         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
115606         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
115607         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
115608         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
115609         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
115610         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
115611         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
115612         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
115613         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
115614         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
115615         WINT_MAX.  Check for C99 conformance more strictly, by detecting
115616         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
115617         not check for things that C99 does not require, e.g., int8_t.  If
115618         a test isn't needed unless <stdint.h> isn't working, and is
115619         unlikely to be needed for any other reason, then don't do it
115620         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
115621         size_t, since we assume C89 freestanding at least.  Do not check
115622         for sig_atomic_t, wchar_t, or wint_t, since the code now does
115623         the right thing even if the types are not defined.  Instead use:
115624         (gl_STDINT_TYPE_PROPERTIES): New macro.
115625         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
115626         testing whether <sys/types.h> clashes, as Autoconf does this for
115627         us now.  All uses removed.
115628         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
115629         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
115630         (gl_CHECK_TYPE_SAME):
115631         Remove; no longer needed.
115632         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
115633         exists, since we'll return 0 anyway in that case.
115634         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
115636 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115638         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
115639         possible collision with system files.
115640         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
115641         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
115642         WCHAR_MIN and WCHAR_MAX in this case.
115643         (<stddef.h>): Do not include; no longer needed.
115644         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
115645         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
115646         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
115647         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
115648         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
115649         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
115650         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
115651         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
115652         !defined(__c99))]: Include in this case too, since it's harmless
115653         now.
115654         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
115655         dangerous to do so.
115656         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
115657         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
115658         (_STDINT_MIN, _STDINT_MAX): New macros.
115659         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
115660         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
115661         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
115662         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
115663         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
115664         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
115665         macros, not typedefs; this simplifies things quite a bit.
115666         Use long int for all types narrower than int64_t.
115667         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
115668         Define in terms of long long int or int64_t or long int,
115669         not int64_t or int32_t.  This saves some compile-time testing.
115670         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
115671         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
115672         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
115673         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
115674         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
115675         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
115676         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
115677         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
115678         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
115679         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
115680         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
115681         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
115682         undef any previous version and define our own version, for
115683         simplicity and consistency with the new macros for types.
115684         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
115685         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
115686         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
115687         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
115688         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
115689         @WINT_T_SUFFIX@ to keep things simple here.
115690         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
115691         Simplify by assuming typical 8/16/32/64 host, since we're
115692         already doing that elsewhere anyway.
115693         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
115694         and assume long long int is 64 bits if available.  This
115695         speeds up 'configure'.
115697 2006-07-01  Eric Blake  <ebb9@byu.net>
115699         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
115700         Reported by Andreas Buening.
115702 2006-07-01  Eric Blake  <ebb9@byu.net>
115704         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
115706 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
115708         * lib/getaddrinfo.c: fixed typo
115710 2006-06-29  Jim Meyering  <jim@meyering.net>
115712         * modules/strftime (Maintainer): Add my name, since with the
115713         FPRINTFTIME changes strftime.c has forked from glibc.
115715 2006-06-29  Eric Blake  <ebb9@byu.net>
115717         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
115719 2006-06-29  Eric Blake  <ebb9@byu.net>
115721         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
115723 2006-06-29  Eric Blake  <ebb9@byu.net>
115725         * lib/stat_.h: New file.
115727 2006-06-29  Eric Blake  <ebb9@byu.net>
115729         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
115730         unused static function.
115732 2006-06-29  Eric Blake  <ebb9@byu.net>
115734         * doc/functions.texi (Function Portability): Document missing lstat
115735         on mingw.
115737 2006-06-29  Eric Blake  <ebb9@byu.net>
115739         * MODULES.html.sh: Add sys_stat.
115740         * modules/sys_stat: New module.
115741         * modules/mkstemp (Depends-on): Add sys_stat.
115743 2006-06-29  Derek R. Price  <derek@ximbiot.com>
115745         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
115747 2006-06-29  Derek R. Price  <derek@ximbiot.com>
115749         * m4/c-bs-a.m4: Removed.
115751 2006-06-29  Derek R. Price  <derek@ximbiot.com>
115753         * lib/strftime.c: Assume strftime() exists.
115755 2006-06-29  Derek Price  <derek@ximbiot.com>
115757         * modules/c-bs-a: Removed - \a is C89.
115758         * MODULES.html.sh: Remove c-bs-a.
115760 2006-06-29  Bruno Haible  <bruno@clisp.org>
115762         * modules/wcwidth (License): Change to LGPL.
115764 2006-06-28  Simon Josefsson  <jas@extundo.com>
115766         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
115767         on _WIN32.
115769         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
115770         getnameinfo.
115772 2006-06-28  Simon Josefsson  <jas@extundo.com>
115774         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
115776 2006-06-28  Simon Josefsson  <jas@extundo.com>
115778         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
115779         functions there.  It will succeed on Windows XP, but on Windows
115780         2000 and (presumably) earlier, it will fail, and use the internal
115781         re-implementation.
115782         (use_win32_p): New function.
115783         (getaddrinfo): Use strtoul on servname, to support numeric ports.
115784         Support AI_NUMERICSERV to disable getservbyname.
115785         (getnameinfo): New function, only supports
115786         NI_NUMERICHOST|NI_NUMERICSERV for now.
115788         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
115789         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
115790         getnameinfo.
115792 2006-06-28  Eric Blake  <ebb9@byu.net>
115794         * modules/wcwidth: New file.
115795         * modules/mbchar (Depends-on): Add wcwidth.
115796         * modules/mbswidth (Depends-on): Add wcwidth.
115797         * MODULES.html.sh: Add wcwidth.
115799 2006-06-28  Eric Blake  <ebb9@byu.net>
115801         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
115802         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
115804 2006-06-28  Eric Blake  <ebb9@byu.net>
115806         * lib/xvasprintf.h: Fix comments.
115808 2006-06-28  Eric Blake  <ebb9@byu.net>
115810         * lib/mbchar.h (wcwidth): Include wcwidth.h.
115811         * lib/mbswidth.c (wcwidth): Move from here...
115812         * lib/wcwidth.h: ...to this new file.
115814 2006-06-28  Derek R. Price  <derek@ximbiot.com>
115816         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
115818         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
115819         it's obsolete.
115820         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
115822 2006-06-28  Derek R. Price  <derek@ximbiot.com>
115824         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
115825         Autoconf 2.60 says this stuff was obsolete.
115827 2006-06-28  Bruno Haible  <bruno@clisp.org>
115829         * modules/wcwidth (Files): Add m4/wchar_t.m4.
115831 2006-06-28  Bruno Haible  <bruno@clisp.org>
115833         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
115834         gt_TYPE_WCHAR_T.
115836 2006-06-28  Bruno Haible  <bruno@clisp.org>
115838         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
115839         declaration for wcwidth.
115840         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
115842 2006-06-28  Bruno Haible  <bruno@clisp.org>
115844         * lib/mkdtemp.c [MINGW]: Include <io.h>.
115845         (mkdir): Define using _mkdir.
115847 2006-06-28  Bruno Haible  <bruno@clisp.org>
115849         * lib/getaddrinfo.h: Fix POSIX URL.
115850         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
115851         _WIN32.
115852         (use_win32_p): Make static.
115853         (getaddrinfo): Reject service name if it is empty or does not consist
115854         solely of decimal digits, or if its value is > 65535.
115855         (getnameinfo): Remove useless casts.
115857 2006-06-27  Simon Josefsson  <jas@extundo.com>
115859         * modules/sys_select: New file, suggested by Bruno Haible, Paul
115860         Eggert and Martin Lambers.
115862 2006-06-27  Simon Josefsson  <jas@extundo.com>
115864         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
115865         Eggert and Martin Lambers.
115867 2006-06-27  Bruno Haible  <bruno@clisp.org>
115869         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
115870         result to 0, not to empty.
115871         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
115873 2006-06-27  Bruno Haible  <bruno@clisp.org>
115875         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
115877 2006-06-26  Simon Josefsson  <jas@extundo.com>
115879         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
115880         present.
115882 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
115884         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
115885         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
115886         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
115888 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
115890         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
115892 2006-06-26  Bruno Haible  <bruno@clisp.org>
115894         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
115896 2006-06-26  Bruno Haible  <bruno@clisp.org>
115898         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
115900 2006-06-26  Bruno Haible  <bruno@clisp.org>
115902         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
115903         SGI C compiler in pre-C99 mode.
115904         Suggested by Mark D. Baushke and Larry Jones.
115906 2006-06-26  Bruno Haible  <bruno@clisp.org>
115908         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
115909         WCHAR_MAX.
115910         Reported by Mark D. Baushke and Larry Jones.
115912 2006-06-26  Bruno Haible  <bruno@clisp.org>
115914         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
115915         in pre-C99 mode.
115916         Suggested by Mark D. Baushke and Larry Jones.
115918 2006-06-23  Simon Josefsson  <jas@extundo.com>
115919             Bruno Haible  <bruno@clisp.org>
115921         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
115922         Emit mostlyclean-local rule.
115923         (func_emit_tests_Makefile_am): Likewise.
115924         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
115926 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
115928         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
115930 2006-06-23  Bruno Haible  <bruno@clisp.org>
115932         * tests/test-stdint.c: Update to match ISO C 99 Technical
115933         Corrigendum 1.
115935 2006-06-23  Bruno Haible  <bruno@clisp.org>
115937         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
115939 2006-06-23  Bruno Haible  <bruno@clisp.org>
115941         * lib/stdint_.h: Treat IRIX like OpenBSD.
115943 2006-06-23  Bruno Haible  <bruno@clisp.org>
115945         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
115946         ISO C 99 Technical Corrigendum 1.
115948 2006-06-22  Simon Josefsson  <jas@extundo.com>
115950         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
115951         MinGW.
115953 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
115955         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
115956         needed.  Some compiler complained about some of them.  Problem reported
115957         by Larry Jones in
115958         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
115960 2006-06-21  Simon Josefsson  <jas@extundo.com>
115962         * tests/test-getaddrinfo.c: New file.
115964         * modules/getaddrinfo-tests: New file.
115966         * MODULES.html.sh: Add inet_pton.
115968         * modules/inet_pton: New file.
115970 2006-06-21  Simon Josefsson  <jas@extundo.com>
115972         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
115973         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
115974         of using the (limited) gnulib implementation on Windows XP.
115976         * m4/inet_pton.m4: New file.
115978 2006-06-21  Simon Josefsson  <jas@extundo.com>
115980         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
115981         variable.
115983         * lib/socket_.h: Don't define WINVER.
115985         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
115986         slightly modified to work in gnulib.
115988 2006-06-21  Simon Josefsson  <jas@extundo.com>
115990         * doc/gnulib.texi (Windows sockets): Add.
115992 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
115994         * lib/read-file.c (fread_file): Start with buffer allocation of
115995         0 bytes rather than 1 byte; this simplifies the code.
115996         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
115997         code to free buffer and save/restore errno.
115998         (internal_read_file): Remove unused local.
116000 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
116002         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
116003         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
116004         Problem reported by Denis Excoffier in
116005         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
116007 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116009         * modules/sys_socket, modules/socklen: Include sys/types since
116010         FreeBSD 4.x's sys/socket.h needs it.
116012 2006-06-19  Simon Josefsson  <jas@extundo.com>
116014         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
116016 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116018         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
116020 2006-06-19  Bruno Haible  <bruno@clisp.org>
116022         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
116023         and FULL_PATH_INTTYPES_H in angle brackets.
116024         Reported by Mark D. Baushke <mdb@gnu.org>.
116026 2006-06-17  Eric Blake  <ebb9@byu.net>
116028         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
116029         errno.
116031 2006-06-17  Bruno Haible  <bruno@clisp.org>
116033         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
116034         <sys/inttypes.h>.
116036 2006-06-17  Bruno Haible  <bruno@clisp.org>
116038         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
116039         whether errno is declared. Assume <errno.h> declares errno.
116041 2006-06-17  Bruno Haible  <bruno@clisp.org>
116043         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
116045 2006-06-17  Bruno Haible  <bruno@clisp.org>
116047         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
116048         problem on Solaris 2.5.1.
116050 2006-06-16  Eric Blake  <ebb9@byu.net>
116052         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
116053         * lib/unicodeio.c [!defined errno]: Likewise.
116054         * lib/strtol.c [!defined errno]: Likewise.
116055         * lib/strtod.c [!defined errno]: Likewise.
116057 2006-06-15  Eric Blake  <ebb9@byu.net>
116059         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
116061 2006-06-15  Eric Blake  <ebb9@byu.net>
116063         * config/srclist.txt (ssize_t.m4): Lose sync.
116065 2006-06-15  Bruno Haible  <bruno@clisp.org>
116067         * modules/stdint (Files): Include m4/full-header-path.m4,
116068         m4/size_max.m4, m4/wchar_t.m4.
116069         (Makefile.am): Many more substitutions.
116070         * modules/stdint-tests: New file.
116071         * tests/test-stdint.c: New file.
116073 2006-06-15  Bruno Haible  <bruno@clisp.org>
116075         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
116076         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
116077         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
116078         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
116079         gl_CHECK_TYPE_SAME): New macros.
116081 2006-06-15  Bruno Haible  <bruno@clisp.org>
116083         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
116085 2006-06-15  Bruno Haible  <bruno@clisp.org>
116087         * lib/stdint_.h: Rewritten to be fully auto-configured.
116088         Fixes bug on HP-UX/IA64.
116090 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
116092         * lib/getdate.y (__attribute__): Don't define if already defined.
116093         Problem reported by Larry Jones.
116094         * lib/utimens.c (__attribute__): Likewise.
116096 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
116098         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
116099         reported by Andreas Schwab.
116101 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116102             Bruno Haible  <bruno@clisp.org>
116104         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
116105         check for the declaration of strnlen and a run test that exposes the
116106         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
116107         rpl_strndup.
116109 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116110             Bruno Haible  <bruno@clisp.org>
116112         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
116114 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116116         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
116117         compile test, for Tru64 4.0D.
116119 2006-05-28  Karl Berry  <karl@gnu.org>
116121         * config/srclist.txt (printf-args.c): lose sync.
116123 2006-05-26  Martin Lambers  <marlam@marlam.de>
116125         * lib/getpass.c: Updates the test for the native W32 API, and adds
116126         missing includes, thus fixing compilation warnings.
116128 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
116130         * lib/exclude.c (exclude_fnmatch): New function.
116131         (excluded_file_name): Call exclude_fnmatch.
116132         * lib/exclude.h (excluded_file_name): New prototype
116134 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
116136         * lib/tempname.c (small_open, large_open): New macros.
116137         (__open, __open64) [!_LIBC]: Remove.
116138         (__gen_tempname): Use small_open and large_open instead of __open
116139         and __open64.  This fixes a portability bug on HP-UX 11.11i
116140         reported by Simon Wing-Tang in
116141         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
116143 2006-05-24  Bruno Haible  <bruno@clisp.org>
116145         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
116146         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
116147         Reported by Thorsten Maerz <torte@netztorte.de> via
116148         Aaron Stone <aaron@serendipity.cx>.
116150 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
116152         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
116153         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
116154         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
116155         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
116156         not really conditional on the cache.
116157         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
116159 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
116161         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
116162         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
116163         (my_usleep): Don't mishandle maximum value.
116165 2006-05-19  Jim Meyering  <jim@meyering.net>
116167         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
116169 2006-05-17  Bruno Haible  <bruno@clisp.org>
116171         Cygwin portability.
116172         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
116174 2006-05-17  Bruno Haible  <bruno@clisp.org>
116176         * lib/stdint_.h: Fix recognition of Cygwin.
116178 2006-05-15  Bruno Haible  <bruno@clisp.org>
116180         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
116181         on libtool patch by Ralf Wildenhues.
116183 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
116185         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
116186         test for C99 conformance; (bool) 0.5 is an integer constant
116187         expression, but (bool) -0.5 is not.  Problem reported by Fedor
116188         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
116190 2006-05-11  Simon Josefsson  <jas@extundo.com>
116192         * m4/xvasprintf.m4: Fix obvious typo.
116194 2006-05-11  Jim Meyering  <jim@meyering.net>
116196         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
116197         James Lemley.
116199 2006-05-10  Simon Josefsson  <jas@extundo.com>
116201         * lib/md4.c: Typo fix, update copyright years.
116202         (K1, K2): Don't use L because it turn computations into 64-bit on
116203         64-bit platforms.
116205 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
116207         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
116208         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
116209         unwanted sign propagation, e.g., on hosts with 64-bit int.
116210         There still are some problems with reeelly weird theoretical hosts
116211         (e.g., 33-bit int) but it's not worth worrying about now.
116212         * lib/sha1.c (rol): Likewise.
116213         (K1, K2, K3, K4): Remove unnecessary L suffix.
116215 2006-05-10  Bruno Haible  <bruno@clisp.org>
116217         * lib/des.c: Cast to avoid warnings.
116219 2006-05-09  Bruno Haible  <bruno@clisp.org>
116221         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
116222         (Depends-on): Depend also on xsize, stdarg.
116223         (configure.ac): Add gl_XVASPRINTF.
116225 2006-05-09  Bruno Haible  <bruno@clisp.org>
116227         * m4/xvasprintf.m4: New file.
116229 2006-05-09  Bruno Haible  <bruno@clisp.org>
116231         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
116232         (EOVERFLOW): Define fallback value.
116233         (xstrcat): New function.
116234         (xvasprintf): Recognize the special case of a string concatenation.
116236 2006-05-08  Eric Blake  <ebb9@byu.net>
116238         * gnulib-tool (func_version): Base copyright year on CVS date.
116239         (func_emit_copyright_notice): New function.
116240         (func_emit_lib_Makefile_am): Use it.
116241         (func_emit_tests_Makefile_am): Likewise.
116242         (func_import): Likewise.
116244 2006-05-08  Bruno Haible  <bruno@clisp.org>
116246         * modules/stdarg: New file.
116247         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
116249 2006-05-08  Bruno Haible  <bruno@clisp.org>
116251         * m4/stdarg.m4: New file, from GNU gettext.
116253 2006-05-08  Bruno Haible  <bruno@clisp.org>
116255         * config/srclist.txt (build-aux/config.rpath): different from latest
116256         release.
116258 2006-05-08  Bruno Haible  <bruno@clisp.org>
116260         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
116262 2006-05-05  Jim Meyering  <jim@meyering.net>
116264         * m4/warning.m4: New file, derived from bison's file by the same name.
116266 2006-05-03  Bruno Haible  <bruno@clisp.org>
116268         * lib/stdint_.h: Shorter URL.
116269         * lib/inttypes.h: Likewise.
116271 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116273         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
116275 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116277         * lib/verify.h: Document the internals better.  Most of this change
116278         was written by Bruno Haible.
116280 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116282         * doc/verify.texi: New file, partly based on a proposal by
116283         Bruno Haible.
116285 2006-05-02  Bruno Haible  <bruno@clisp.org>
116287         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
116288         test from here...
116289         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
116291 2006-04-29  Bruno Haible  <bruno@clisp.org>
116293         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
116294         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
116296 2006-04-29  Bruno Haible  <bruno@clisp.org>
116298         * gnulib-tool: Make --update option actually work.
116300 2006-04-29  Bruno Haible  <bruno@clisp.org>
116302         * doc/gcd.texi: New file.
116303         * doc/gnulib.texi: Include it.
116305 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
116307         * lib/getdate.y (get_date): When adding relative date, start with the
116308         initial time, not with the result of the first mktime call.
116310 2006-04-25  Bruno Haible  <bruno@clisp.org>
116312         * gnulib-tool (func_import): Output the include directives in three
116313         blocks, sorted separately.
116314         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116316 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116318         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
116319         to define main with arguments, for C++.  Reported by Eric Blake.
116320         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
116321         Prefer 'int main ()' to 'int main (void)', for C++.
116322         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
116323         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
116324         for 'main', for C99 and C++.
116326 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116328         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
116329         Don't assume that exit status -1 is valid.
116330         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
116331         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
116332         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
116333         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
116334         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
116335         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
116336         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
116337         functions can be used without declaring them, or that you can
116338         exit with status -1.
116339         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
116341 2006-04-24  Karl Berry  <karl@gnu.org>
116343         * config/srclist.txt (longdouble.m4): sync lost.
116345 2006-04-24  Eric Blake  <ebb9@byu.net>
116347         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
116349 2006-04-24  Bruno Haible  <bruno@clisp.org>
116351         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
116352         poll() implementation in AIX.
116353         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116355 2006-04-24  Bruno Haible  <bruno@clisp.org>
116357         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
116358         assigned exactly once.
116360 2006-04-23  Claudio Fontana  <claudio@gnu.org>
116361             Bruno Haible  <bruno@clisp.org>
116363         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
116364         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
116365         for AM_CPPFLAGS.
116367 2006-04-23  Bruno Haible  <bruno@clisp.org>
116369         * modules/copy-file: Depend on unistd.
116370         * modules/execute: Likewise.
116371         * modules/fatal-signal: Likewise.
116372         * modules/findprog: Likewise.
116373         * modules/mkdtemp : Likewise.
116374         * modules/pipe: Likewise.
116375         * modules/wait-process: Likewise.
116377 2006-04-23  Bruno Haible  <bruno@clisp.org>
116379         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
116380         condition was already detected.
116381         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116383 2006-04-23  Bruno Haible  <bruno@clisp.org>
116385         * lib/copy-file.c: Include <unistd.h> unconditionally.
116386         * lib/execute.c: Likewise.
116387         * lib/fatal-signal.c: Likewise.
116388         * lib/findprog.c: Likewise.
116389         * lib/mkdtemp.c: Likewise.
116390         * lib/pipe.h: Likewise.
116391         * lib/pipe.c: Likewise.
116392         * lib/wait-process.h: Likewise.
116394 2006-04-23  Bruno Haible  <bruno@clisp.org>
116396         * gnulib-tool (func_usage): Fix --import description. Document
116397         --update.
116398         (func_import): Create temporary file in a temporary directory, if
116399         --dry-run is specified. Silence errors from 'grep' when there are no
116400         m4 files in $m4dir.
116401         (func_create_testdir): Silence errors from 'grep' when there are no
116402         m4 files in $m4dir.
116403         Reported by Karl Berry <karl@freefriends.org>.
116405 2006-04-20  Bruno Haible  <bruno@clisp.org>
116407         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
116408         one argument, so that the code will be portable to Autoconf 2.60.
116409         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
116410         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116411         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
116413 2006-04-19  Derek Price  <derek@ximbiot.com>
116414             Eric Blake  <ebb9@byu.net>
116416         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
116417         rather than "/full/path.h".  Update comment to match.  Shorten &
116418         generalize m4_translit call via AS_TR_CPP.
116420 2006-04-19  Derek Price  <derek@ximbiot.com>
116421             Eric Blake  <ebb9@byu.net>
116423         * lib/inttypes.h: Correct grammar in comment.
116425 2006-04-18  Derek Price  <derek@ximbiot.com>
116426             Paul Eggert  <eggert@cs.ucla.edu>
116428         * modules/inttypes: New file.
116429         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
116431 2006-04-18  Derek Price  <derek@ximbiot.com>
116432             Paul Eggert  <eggert@cs.ucla.edu>
116434         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
116435         New files.
116437 2006-04-18  Derek Price  <derek@ximbiot.com>
116438             Paul Eggert  <eggert@cs.ucla.edu>
116440         * lib/inttypes.h: New file.
116441         * lib/strtoimax.c: Assume <inttypes.h>.
116443 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
116445         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
116446         isn't mounted.  Problem reported by Kir Kolyshkin.
116448 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
116450         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
116451         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
116452         Derek R. Price.
116453         * lib/regex.h (RE_DUP_MAX): Update comment to match current
116454         implementation.
116456 2006-04-12  Eric Blake  <ebb9@byu.net>
116458         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
116459         is now done automatically by the corresponding Autoconf macro.
116461 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
116463         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
116464         time_r.h.
116466 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116468         Merge regex changes from libc, removing some of our
116469         POSIX-conformance changes that were rejected and redoing them in a
116470         less-intrusive way.
116472         * lib/regcomp.c (re_compile_internal, init_dfa):
116473         Length arg is now size_t, not Idx.  All uses changed.
116474         (peek_token): Forward decl now says internal_function.
116475         (__re_error_msgid, __re_error_msgid_idx):
116476         Now static rather than extern with attribute_hidden.
116477         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
116478         For some reason libc prefers K&R style defns for external functions.
116479         (regerror) [!defined _LIBC]: Likewise.
116480         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
116481         (seek_collating_symbol_entry, lookup_collation_sequence_value):
116482         (build_range_exp, build_collating_symbol):
116483         Use K&R-style defn.
116484         (re_compile_fastmap): Use '\0' to memset, not 0.
116485         (utf8_sb_map): Make the calculations more obvious.
116486         (init_dfa, parse_bracket_exp, build_charclass_op):
116487         Call calloc and cast result, as glibc does.
116488         (init_word_char, fetch_token, peek_token, peek_token_bracket):
116489         (build_range_exp, build_collating_symbol):
116490         Now internal functions.
116492         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
116494         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
116495         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
116496         Don't depend on VMS; depend on __VMS instead, for POSIX
116497         namespace cleanness.
116498         (regoff_t): Define to ssize_t, not long int.
116500         Remove the REG_ macros named below.  Instead, make the old names
116501         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
116502         __USE_GNU_REGEX.
116503         (REG_BACKSLASH_ESCAPE_IN_LISTS):
116504         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
116505         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
116506         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
116507         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
116508         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
116509         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
116510         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
116511         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
116512         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
116513         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
116514         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
116515         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
116516         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
116517         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
116518         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
116519         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
116520         (REG_NREGS):
116521         Remove.  All uses replaced by the old RE_* names.
116522         (RE_BACKSLASH_ESCAPE_IN_LISTS):
116523         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
116524         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
116525         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
116526         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
116527         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
116528         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
116529         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
116530         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
116531         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
116532         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
116533         Don't bother having these macros be independent of each others'
116534         values, since they no longer exist in the POSIX name space.
116536         Rename the following member names back to their old names,
116537         unless !__USE_GNU_REGEX.  All uses changed back.
116538         (buffer): Renamed from re_buffer.
116539         (allocated): Renamed from re_allocated.
116540         (used): Renamed from re_used.
116541         (syntax): Renamed from re_syntax.
116542         (fastmap): Renamed from re_fastmap.
116543         (translate): Renamed from re_translate.
116544         (can_be_null): Renamed from re_can_be_null.
116545         (regs_allocated): Renamed from re_regs_allocated.
116546         (fastmap_accurate): Renamed from re_fastmap_accurate.
116547         (no_sub): Renamed from re_no_sub.
116548         (not_bol): Renamed from re_not_bol.
116549         (not_eol): Renamed from re_not_eol.
116550         (newline_anchor): Renamed from re_newline_anchor.
116551         (num_regs): Renamed from rm_num_regs.
116552         (start): Renamed from rm_start.
116553         (end): Renamed from rm_end.
116555         (free_state): Move up a bit.
116557         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
116558         #define to be empty.
116559         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
116560         when that is what is intended.
116561         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
116562         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
116563         (MAX): New macro.
116564         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
116565         All uses changed back to re_malloc, etc.  It's now the caller's
116566         responsibility to check for overflow; all callers changed.
116567         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
116568         (re_x2nrealloc): Remove.
116569         (free_state): Remove decl.
116571         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
116572         (re_set_registers, re_exec):
116573         Use K&R-style defn.
116575         2006-01-31  Roland McGrath  <roland@redhat.com>
116577         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
116578         Reported by Mike Frysinger <vapier@gentoo.org>.
116580         2006-01-15  Andreas Jaeger  <aj@suse.de>
116582         [BZ #1950]
116583         * lib/regex_internal.c (re_string_reconstruct): Adjust for
116584         build_wcs_upper_buffer change.
116585         (build_wcs_upper_buffer): Change return type.
116587         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
116589         * lib/regex_internal.h: Include <stdint.h> if available.
116591         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
116593         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
116595         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
116597         * lib/regcomp.c: Adjust for changed secondary hash function.
116599         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
116601         * lib/regex.h: Pretty printing.
116602         Clean up namespace a bit.
116604         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
116606         * lib/regexec.c (update_cur_sifted_state, check_arrival,
116607         check_arrival_add_next_nodes): Avoid using uninitialized variable.
116609         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
116610                     Ulrich Drepper  <drepper@redhat.com>
116612         [BZ #1302]
116613         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
116614         changed.
116615         (bitset_word_t): Renamed from bitset_word.  All uses changed.
116617         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
116619         [BZ #281]
116620         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
116621         * lib/regcomp.c: Remove unnecessary uses of
116622         unsigned RE_TRANSLATE_TYPE.
116623         * lib/regex_internal.h: Likewise.
116624         * lib/regex_internal.c: Likewise.
116625         * lib/regexec.c: Likewise.
116626         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
116628         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
116630         * lib/regexec.c (find_recover_state): Remove unnecessary
116631         initialization.
116632         (transit_state_bkref): Make DFA a const pointer.
116633         (get_subexp): Likewise.
116634         (check_arrival): Likewise.
116635         (update_cur_sifted_state): Likewise.
116636         (re_search_internal): Likewise.
116637         (prune_impossible_nodes): Likewise.
116638         (acquire_init_state_context): Likewise.
116639         (proceed_next_node): Likewise.
116640         (set_regs): Likewise.
116641         (free_fail_stack_return): Likewise.
116642         (check_arrival_expand_ecl): Mark DFA parameter as const.
116643         (check_arrival_expand_ecl_sub): Likewise.
116644         (check_subexp_limits): Likewise.
116645         (sub_epsilon_src_nodes):  Likewise.
116646         (add_epsilon_src_nodes):  Likewise.
116647         (merge_state_array): Likewise.
116648         (update_regs): Likewise.
116649         (build_trtable): Likewise.
116650         (sift_states_backward): Mark MCTX parameter as const.
116651         (build_sifted_states): Likewise.
116652         (update_cur_sifted_state): Likewise.
116653         (sift_states_mkref): Likewise.
116654         (check_arrival_expand_ecl): Mark eclosure as const.
116655         (check_dst_limits_calc_pos_1): Likewise.
116656         * lib/regex_internal.h (re_match_context_t): Make dfa a const
116657         pointer.
116659         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
116661         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
116662         (transit_state_sb): Likewise.
116663         (transit_state_mb): Likewise.
116664         (sift_states_iter_mb): Likewise.
116665         (check_arrival_add_next_nodes): Likewise.
116666         (check_node_accept_bytes): Change first parameter to pointer-to-const.
116667         [_LIBC] (re_search_2_stub): Use mempcpy.
116669         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
116670         mbrtowc for very simple UTF-8 case.
116672         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
116673         a pointer-to-const.
116674         (re_acquire_state_context): Likewise.
116675         * lib/regex_internal.h: Adjust prototypes.
116677         * lib/regex.c: Prevent using C++ compilers.
116679         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
116680         (re_acquire_state_context): Likewise.
116682 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116684         * modules/regex (Depends-on): Add ssize_t.
116686 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116688         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
116689         translation table.
116691 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116693         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
116695 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
116696             Bruno Haible  <bruno@clisp.org>
116698         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
116699         <sys/types.h> and <inttypes.h>.
116701 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116703         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
116704         `__error_t_defined', so argp.h will not typedef the former.
116706 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
116708         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
116709         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
116710         glibc names.  Even if glibc is changed to conform to POSIX, the
116711         traditional names will be available anyway, since regex depends on
116712         the extensions module.  Also, fix a longstanding typo in the
116713         implementation of Spencer ERE test #75 from grep 2.3.  Problems
116714         reported by Emanuele Giaquinta.  Also, change sense of cached
116715         variable, so that the message makes sense.
116717 2006-03-24  Simon Josefsson  <jas@extundo.com>
116719         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
116720         including some doc fixes.
116721         (base64_encode_alloc): Fix +1 bug on allocation failures.
116723 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116725         * lib/base64.c (base64_encode): Do not read past end of array with
116726         unsanitized input on systems with CHAR_BIT > 8.
116728 2006-03-24  Eric Blake  <ebb9@byu.net>
116730         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
116732 2006-03-22  Karl Berry  <karl@gnu.org>
116734         * config/srclist.txt (*setenv.[ch]): get from coreutils.
116735         * config/srclistvars.sh (COREUTILS): new var.
116737 2006-03-17  Jim Meyering  <jim@meyering.net>
116739         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
116740         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
116742 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
116744         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
116745         no longer needs it.  Instead, check that regoff_t is as least
116746         as wide as ptrdiff_t.
116748         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
116749         so that our regex.h stays compatible with the installed regex.
116750         This is helpful for installers who configure --without-included-regex.
116751         Problem reported by Emanuele Giaquinta.
116753 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
116755         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
116756         Typedef to long int, not to off_, as POSIX will likely change
116757         in that direction.
116759 2006-03-15  Eric Blake  <ebb9@byu.net>
116761         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
116763 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
116765         * lib/argp-help.c (validate_uparams): Fix typo
116766         * lib/argp-parse.c (argp_default_options): Consistently begin help
116767         messages with a lowercase letter.
116769 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
116771         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
116772         overrun buffers and shouldn't be used (much as gets shouldn't be
116773         used).
116774         * lib/time_r.c (asctime_r, ctime_r): Likewise.
116776 2006-03-08  Simon Josefsson  <jas@extundo.com>
116778         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
116779         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116781 2006-03-08  Simon Josefsson  <jas@extundo.com>
116783         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
116784         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116786 2006-03-08  Simon Josefsson  <jas@extundo.com>
116788         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
116789         signal that configure disabled the device.
116791 2006-03-08  Simon Josefsson  <jas@extundo.com>
116793         * build-aux/maint.mk: Fix refresh-po, to handle no translated
116794         languages.
116796 2006-03-07  Simon Josefsson  <jas@extundo.com>
116798         * modules/getopt (Depends-on): Add unistd.
116800         * modules/unistd: New file.
116802 2006-03-07  Simon Josefsson  <jas@extundo.com>
116804         * modules/gc-random: New file.
116806 2006-03-07  Simon Josefsson  <jas@extundo.com>
116808         * m4/unistd_h.m4: New file.
116810 2006-03-07  Simon Josefsson  <jas@extundo.com>
116812         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
116813         test to be side-effect free by storing the result in the cache
116814         variable gl_cv_lib_readline, and moving the assignment of
116815         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
116816         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116818 2006-03-07  Simon Josefsson  <jas@extundo.com>
116820         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
116821         error on missing devices (the functions will return an error).
116823         * m4/gc.m4: Move random stuff to gc-random.m4
116825 2006-03-07  Simon Josefsson  <jas@extundo.com>
116827         * lib/unistd_.h: New file.
116829 2006-03-07  Simon Josefsson  <jas@extundo.com>
116831         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
116833 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
116835         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
116836         Problem reported by Juan Manuel Guerrero.
116838 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
116840         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
116841         the unistd module.
116842         * lib/getlogin_r.c: Likewise.
116843         * lib/getlogin_r.h: Likewise.
116844         * lib/glob.c: Likewise.
116845         * lib/pagealign_alloc.c: Likewise.
116846         * lib/unistd_.h: Remove; no longer needed.
116848 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
116850         * MODULES.html.sh (Support for systems lacking POSIX:2001):
116851         Add unistd.
116852         * modules/c-stack (Depends-on): Add unistd.
116853         * modules/getlogin_r: Likewise.
116854         * modules/glob: Likewise.
116855         * modules/pagealign_alloc: Likewise.
116856         * modules/unistd (Files): Remove lib/unistd_.h.
116857         (EXTRA_DIST): Remove.
116858         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
116859         need unistd_.h.
116860         (MOSTLYCLEANFILES): Remove unistd.h-t.
116862 2006-03-03  Simon Josefsson  <jas@extundo.com>
116864         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
116866 2006-03-03  Simon Josefsson  <jas@extundo.com>
116868         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
116869         libidn and bison.
116871 2006-03-03  Simon Josefsson  <jas@extundo.com>
116873         * build-aux/maint.mk: Add indent target.
116875 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
116877         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
116878         our replacement poll.h in any case, to avoid a differing
116879         declaration from a system header.  Seen on AIX.
116881 2006-03-01  Simon Josefsson  <jas@extundo.com>
116883         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
116884         <kasal@ucw.cz>.
116886 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
116888         * modules/gettime (Depends-on): Add extensions module.
116889         * modules/nanosleep (Depends-on): Likewise.
116890         * modules/settime (Depends-on): Likewise.
116892 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
116894         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
116895         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
116896         pedantically.
116897         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
116898         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
116900         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
116901         not "==".  Reported by Ralf Wildenhues.
116903 2006-03-01  Karl Berry  <karl@gnu.org>
116905         * doc/Copyright/request-*: new files, synced from gnuorg.
116907 2006-03-01  Karl Berry  <karl@gnu.org>
116909         * config/srclist.txt (Copyright/*): new entries.
116911 2006-02-28  Simon Josefsson  <jas@extundo.com>
116913         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
116915 2006-02-27  Simon Josefsson  <jas@extundo.com>
116917         * lib/base64.h: Indent #define's.  From Jim Meyering
116918         <jim@meyering.net>.
116920 2006-02-27  Jim Meyering  <jim@meyering.net>
116922         Revert the change of 2006-02-24, so these files can continue
116923         to be sync'd from gettext.
116924         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
116925         of `config.h'.
116927 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
116929         * modules/intprops: New file.
116930         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
116931         Add intprops.
116932         * modules/getloadavg (Files): Remove lib/intprops.h.
116933         (Depends-on): Add intprops.
116934         * modules/human: Likewise.
116935         * modules/inttostr: Likewise.
116936         * modules/openat: Likewise.
116937         * modules/sig2str: Likewise.
116938         * modules/userspec: Likewise.
116939         * modules/utimecmp: Likewise.
116940         * modules/xnanosleep: Likewise.
116941         * modules/xstrtol: Likewise.
116943 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
116945         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
116946         * modules/lock-tests (TESTS): Use $(EXEEXT).
116947         * modules/tls-tests: Likewise.
116948         * modules/argp-tests: Likewise.
116949         (check_PROGRAMS): New var, replacing...
116950         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
116952 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116954         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
116955         `config.h'.
116957 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
116959         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
116961 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116963         Sync from coreutils.
116964         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
116965         gl_CHDIR_SAFER.
116967 2006-02-22  Jim Meyering  <jim@meyering.net>
116969         Sync from coreutils.
116970         * m4/chdir-safer.m4: New file.
116972 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
116974         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
116975         AT_FDCWD exceeds INT_MAX.
116976         * lib/openat.h (AT_FDCWD): Likewise.
116978 2006-02-17  Eric Blake  <address@hidden>
116980         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
116982 2006-02-16  Simon Josefsson  <jas@extundo.com>
116984         * modules/getaddrinfo (Depends-on): Add sys_socket.
116986 2006-02-15  Simon Josefsson  <jas@extundo.com>
116988         * build-aux/maint.mk: Add dsyntax-check rule.
116990 2006-02-15  Eric Blake  <ebb9@byu.net>
116992         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
116993         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
116994         'present but cannot compile' warnings on cygwin.
116995         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
116996         use ws2tcpip.h if sys/socket.h works.
116997         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
116998         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
117000 2006-02-14  Simon Josefsson  <jas@extundo.com>
117002         * modules/maintainer-makefile (Files): Rename.
117004         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
117005         and (the local) Makefile.cfg to maint-cfg.mk.
117007         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
117008         to the latter.
117010         * modules/maintainer-makefile: New module.
117012         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
117013         severaly stripped to make it possible to build it up from scratch
117014         with reliable tests.
117016         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
117017         fixes to permit overriding the default actions when configure and
117018         makefile are not available.
117020 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
117022         Sync from coreutils.
117023         * modules/lstat (Depends-on): Don't depend on xalloc.
117024         (License): Change from GPL to LGPL, since this is now simply a
117025         replacement for a libc function.
117027 2006-02-14  Jim Meyering  <jim@meyering.net>
117029         Sync from coreutils.
117031         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
117032         failure on deficient systems, and simplify gnulib lgpl dependencies.
117033         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
117034         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
117036         * lib/xalloc-die.c: Remove unused definition of N_.
117038 2006-02-14  Jim Meyering  <jim@meyering.net>
117040         Sync from coreutils.
117041         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
117042         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
117043         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
117044         double-quote uses of that variable, to accommodate the rare case in
117045         which getmntent is available in none of the libraries checked.  This
117046         happens at least on FreeBSD 5.0.
117048 2006-02-13  Simon Josefsson  <jas@extundo.com>
117050         * gnulib-tool (Usage): Fix --import, from
117051         karl@freefriends.org (Karl Berry).
117053 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117055         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
117057 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
117059         * lib/argp-namefrob.h: Restore changes accidentally lost during the
117060         "autoupdate" on 2005-12-12.
117062 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117064         * modules/closeout (Depends-on): Remove atexit.
117066 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117068         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
117069         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
117071 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
117073         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
117074         __EXTENSIONS__ if this causes compilation to fail.  Problem
117075         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
117076         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
117078 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
117080         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
117081         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
117082         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
117083         All uses changed.
117085 2006-01-26  Simon Josefsson  <jas@extundo.com>
117087         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
117088         prototype is visible on mingw32.
117090         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
117091         for mingw32.
117093         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
117094         mingw32).
117096 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
117098         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
117099         attempt to open for write; this always fails, at least on POSIX
117100         hosts.  This reinstates the 2006-01-09 change, which was
117101         inadvertently removed.
117103 2006-01-26  Bruno Haible  <bruno@clisp.org>
117105         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
117106         Reported by Paul Eggert.
117108 2006-01-26  Bruno Haible  <bruno@clisp.org>
117109             Paul Eggert  <eggert@cs.ucla.edu>
117111         * lib/stdbool_.h (_Bool)
117112         [(! (defined __cplusplus || defined __BEOS__)
117113           && !defined __GNUC__
117114           && !(defined __HP_cc || defined __xlc__
117115                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
117116                || defined __sgi))]:
117117         #define to signed char in these cases too; this simplifies
117118         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
117119         etc., separately) and makes it more conservative.
117121 2006-01-25  Simon Josefsson  <jas@extundo.com>
117123         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
117124         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
117125         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
117127 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117129         * lib/argp-namefrob.h: Bugfix. Remove stray #
117131 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
117133         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
117134         so that we test the test.
117135         Check for yet another HP-UX cc bug involving *bool |= bool.
117137 2006-01-25  Karl Berry  <karl@gnu.org>
117139         * config/srclist.txt (vasnprintf.c): sync lost.
117141 2006-01-25  Jim Meyering  <jim@meyering.net>
117143         Sync from the stable (b5) branch of coreutils:
117145         * lib/fts.c (fts_children): Don't let close() clobber errno from
117146         failed fchdir().
117148         * lib/fts.c (fts_stat): When following a symlink-to-directory,
117149         don't necessarily interpret stat-fails+lstat-succeeds as indicating
117150         a dangling symlink.  That can also happen at least for ELOOP.
117151         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
117152         FYI, this bug predates the inclusion of fts.c in coreutils.
117154         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
117155         in their own block, so pre-c99 compilers don't object.
117157         Avoid the double-free (first in fts_read, second in fts_close) that
117158         would occur when an `active' directory is made inaccessible (e.g.,
117159         via chmod a-x) during a traversal.
117160         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
117161         before returning.  Reproduce this failure by
117162         mkdir -p a/b; cd a; chmod a-x . b
117163         Reported by Stavros Passas.
117165 2006-01-25  Jim Meyering  <jim@meyering.net>
117167         * lib/fileblocks.c: Remove more useless parentheses.
117168         * lib/readutmp.h: Likewise.
117170 2006-01-25  Bruno Haible  <bruno@clisp.org>
117172         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
117173         warnings.
117174         Reported by Paul Eggert.
117176 2006-01-25  Bruno Haible  <bruno@clisp.org>
117178         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
117179         rid of a trap command. For Solaris sh.
117180         Reported by Mark D. Baushke <mdb@gnu.org>.
117182 2006-01-24  Simon Josefsson  <jas@extundo.com>
117184         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
117185         Bruno.
117187 2006-01-24  Karl Berry  <karl@gnu.org>
117189         * config/srclist.txt (argp-namefrob.h): sync lost.
117191 2006-01-24  Jim Meyering  <jim@meyering.net>
117193         * modules/openat (Files): Add lib/intprops.h.
117194         From Mark D. Baushke.
117196 2006-01-24  Jim Meyering  <jim@meyering.net>
117198         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
117199         Reported by Mark D. Baushke.
117201 2006-01-24  Jim Meyering  <jim@meyering.net>
117203         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
117205 2006-01-24  Bruno Haible  <bruno@clisp.org>
117207         * modules/strnlen (Maintainer): Change from glibc to all.
117209 2006-01-24  Bruno Haible  <bruno@clisp.org>
117211         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
117212         Patch by Paul Eggert.
117214 2006-01-24  Bruno Haible  <bruno@clisp.org>
117216         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
117217         already has it.
117218         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
117219         2005-11-26.
117221         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
117222         'signed char' to avoid problems with the built-in _Bool type.
117223         Reported by Paul Eggert on 2005-11-26.
117225 2006-01-24  Bruno Haible  <bruno@clisp.org>
117227         * gnulib-tool (func_import): Avoid constructing complicated sed
117228         expressions inside backquote.
117229         Report and solution by Mark D. Baushke <mdb@gnu.org>.
117231 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
117233         These changes imported from libc.
117234         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
117235         test and two separate function calls.
117236         * lib/strndup.c (__strndup): Add libc_hidden_def.
117238 2006-01-23  Simon Josefsson  <jas@extundo.com>
117240         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
117241         Remove the test_*_SOURCES variable: automake infers it by default.
117242         * modules/tls-tests: Likewise.
117244 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117246         Work around porting bugs reported by Dieter in
117247         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
117248         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
117249         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
117250         Include "getopt.h" first, to check interface.
117251         (getenv): Declare only if defined HAVE_DECL_GETENV &&
117252         !HAVE_DECL_GETENV.
117253         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
117254         (__strndup): Revert to K&R-style function dfns, the glibc style.
117255         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
117256         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
117257         Include strnlen.h first, to get prototype properly.
117258         (strnlen): Renamed from __strnlen.
117259         Remove weak alias.
117261 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117263         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
117265 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117267         * config/srclist.txt: Adjust to reflect glibc reorganization.
117268         This affects only comments.
117270 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
117272          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
117273          Reported by Bruce Korb <bkorb@gnu.org>.
117275 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
117277         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
117278         to pacify gcc -Wswitch-default.
117280 2006-01-22  Bruno Haible  <bruno@clisp.org>
117282         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
117283         temporary buffer for sprintf, take into account the precision also
117284         for 'd', 'i', 'u', 'o', 'x', 'X'.
117286 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117288         * modules/argp-tests: New module
117289         * tests/test-argp.c: New file
117290         * tests/test-argp-2.sh: New file
117292 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117294         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
117295         (__argp_base_name): Removed
117296         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
117297         typo.
117298         (__argp_base_name): Provide macro definition or extern declaration
117299         depending on the configuration
117301 2006-01-20  Simon Josefsson  <jas@extundo.com>
117303         * modules/inet_ntop (Depends-on): Depend on sys_socket.
117305 2006-01-20  Simon Josefsson  <jas@extundo.com>
117307         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
117309 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
117311         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
117312         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
117313         Suggested by Bruno Haible.
117315 2006-01-20  Karl Berry  <karl@gnu.org>
117317         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
117318         until changes propagate, I guess.
117320 2006-01-19  Simon Josefsson  <jas@extundo.com>
117322         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
117324 2006-01-19  Simon Josefsson  <jas@extundo.com>
117326         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
117328 2006-01-19  Simon Josefsson  <jas@extundo.com>
117330         * gnulib-tool: Set check_PROGRAMS.
117332         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
117333         modules/des-tests, modules/gc-arcfour-tests,
117334         modules/gc-arctwo-tests, modules/gc-des-tests,
117335         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
117336         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
117337         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
117338         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
117339         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
117340         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
117341         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
117342         test_*_SOURCES.
117344 2006-01-18  Simon Josefsson  <jas@extundo.com>
117346         * modules/socklen (Depends-on): Depend on sys_socket.
117348 2006-01-18  Simon Josefsson  <jas@extundo.com>
117350         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
117351         modules/des-tests, modules/gc-arcfour-tests,
117352         modules/gc-arctwo-tests, modules/gc-des-tests,
117353         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
117354         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
117355         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
117356         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
117357         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
117358         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
117359         $(EXEEXT) to automake TESTS variable, for mingw32.
117361 2006-01-17  Simon Josefsson  <jas@extundo.com>
117363         * modules/socklen (Include): Need sys/socket.h.
117365 2006-01-17  Bruno Haible  <bruno@clisp.org>
117367         * modules/ssize_t (Include): Add <sys/types.h>.
117369 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
117371         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
117372         it's not portable and it doesn't work with cross-compiles.
117373         Problem reported by Bruno Haible.  Fix missing-$ typo in
117374         'test "gl_cv_ignore_unused_libraries" ...' that prevented
117375         -zignore from being used with Sun's C compiler.
117377 2006-01-12  Simon Josefsson  <jas@extundo.com>
117379         * lib/base64.c: Fix warning, reported by Bruno Haible
117380         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
117382 2006-01-12  Bruno Haible  <bruno@clisp.org>
117384         * modules/ldd: New file.
117385         * build-aux/ldd.sh.in: New file.
117386         * MODULES.html.sh (Support for building libraries and executables): Add
117387         ldd.
117389 2006-01-12  Bruno Haible  <bruno@clisp.org>
117391         * m4/ldd.m4: New file.
117393 2006-01-12  Bruno Haible  <bruno@clisp.org>
117395         * gnulib-tool (func_import, func_create_testdir): Don't go into an
117396         endless loop while replacing $auxdir with build-aux.
117398 2006-01-11  Simon Josefsson  <jas@extundo.com>
117400         * lib/stdint_.h (SIZE_MAX): Add missing (.
117402 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
117404         Sync from coreutils.
117405         * lib/md5.c: Fix commentary typos.
117406         (alignof, UNALIGNED_P): No need for a GCC-specific version.
117407         * lib/md5.h (__attribute__): Remove; unused.
117408         * lib/sha1.c: Fix commentary to match md5 better.
117409         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
117410         so that we don't need to worry about alignment.  All uses changed.
117411         This merges the 2005-10-28 md5 change into sha1.
117413 2006-01-11  Jim Meyering  <jim@meyering.net>
117415         Sync from coreutils.
117416         * lib/md5.c (OP): Fix spacing.
117418 2006-01-11  Bruno Haible  <bruno@clisp.org>
117420         Ensure automatic ordering between gl_LOCK and gl_ARGP.
117421         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
117422         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
117424 2006-01-11  Bruno Haible  <bruno@clisp.org>
117426         Ensure automatic ordering between gl_LOCK and gl_ARGP.
117427         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
117428         the "early" section as well.
117430 2006-01-11  Bruno Haible  <bruno@clisp.org>
117432         Avoid "ar: no archive members specified" error on MacOS X.
117433         * gnulib-tool (func_modules_add_dummy): New function.
117434         (func_import, func_create_testdir): Invoke it.
117436 2006-01-11  Bruno Haible  <bruno@clisp.org>
117438         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
117439         with $auxdir in AC_CONFIG_FILES statements.
117441 2006-01-11  Bruno Haible  <bruno@clisp.org>
117443         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
117444         Initialize also noinst_HEADERS to empty.
117446 2006-01-11  Bruno Haible  <bruno@clisp.org>
117448         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
117449         variables.
117450         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
117451         autoreconf.
117453 2006-01-11  Bruno Haible  <bruno@clisp.org>
117455         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
117456         overridable by the user.
117457         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117459 2006-01-10  Simon Josefsson  <jas@extundo.com>
117461         * modules/sys_socket: New file.
117463 2006-01-10  Simon Josefsson  <jas@extundo.com>
117465         * m4/sys_socket_h.m4: New file.
117467 2006-01-10  Simon Josefsson  <jas@extundo.com>
117469         * lib/socket_.h: New file.
117471 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117473         * modules/readutmp (Maintainer): Add myself.
117475 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117477         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
117478         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
117479         People who are still concerned with buggy memcmp implementations
117480         can invoke gl_FUNC_MEMCMP themselves.
117482 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117484         * lib/regex_internal.h (BITSET_WORD_BITS):
117485         Work around a bug in 64-bit PGC (before version 6.1-2), where the
117486         preprocessor mishandles large unsigned values as if they were signed.
117487         Problem reported by Claudio Fontana in
117488         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
117490 2006-01-10  Jim Meyering  <jim@meyering.net>
117492         Avoid the double-free (first in fts_read, second in fts_close) that
117493         would occur when an `active' directory is made inaccessible (e.g.,
117494         via chmod a-x) during a traversal.
117495         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
117496         before returning.  Reproduce this failure by
117497         mkdir -p a/b; cd a; chmod a-x . b
117498         Reported by Stavros Passas.
117500         Sync from coreutils.
117501         * lib/sha1.c: Tweak grammar in a comment.
117503 2006-01-10  Jim Meyering  <jim@meyering.net>
117505         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
117506         Patch by Joerg Sonnenberger.
117508 2006-01-10  Bruno Haible  <bruno@clisp.org>
117510         * modules/readutmp: Depend on module free.
117511         * modules/strtok_r: Depend on module restrict.
117513 2006-01-10  Bruno Haible  <bruno@clisp.org>
117515         * modules/gettext (configure.ac): Add an invocation of
117516         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
117518 2006-01-10  Bruno Haible  <bruno@clisp.org>
117520         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
117521         Reported by Werner Lemberg <wl@gnu.org>.
117523 2006-01-10  Bruno Haible  <bruno@clisp.org>
117525         * lib/localcharset.c: Update from GNU gettext.
117527 2006-01-10  Bruno Haible  <bruno@clisp.org>
117529         * lib/argp.h (__const): Remove macro. Use const instead.
117530         * lib/argp-fmtstream.h (__const): Likewise.
117531         * lib/glob_.h (__const): Remove macro.
117532         * lib/glob-libc.h: Use const instead of __const.
117534 2006-01-10  Bruno Haible  <bruno@clisp.org>
117536         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
117537         variable.
117538         Needed to avoid an automake error regarding the 'gettext' module.
117540 2006-01-09  Simon Josefsson  <jas@extundo.com>
117542         * modules/inet_ntop (Depends-on): Add restrict.
117544 2006-01-09  Simon Josefsson  <jas@extundo.com>
117546         * modules/gc-rijndael-tests (License): Put under LGPL.
117548         * modules/gc-des-tests (License): Likewise.
117550         * modules/gc-arcfour-tests (License): Likewise.
117552         * modules/gc-arctwo-tests (License): Likewise.
117554         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
117556         * modules/gc-hmac-sha1-tests (Files): Likewise.
117558         * modules/gc-hmac-md5-tests (License): Likewise.
117560         * modules/gc-sha1-tests (License): Likewise.
117562         * modules/gc-md5-tests (License): Likewise.
117564         * modules/gc-md4-tests (License): Likewise.
117566         * modules/gc-md2-tests (License): Likewise.
117568         * modules/gc-tests (License): Likewise.
117570         * modules/des-tests (License): Likewise.
117572         * modules/md4-tests (License): Likewise.
117574         * modules/md2-tests (License): Likewise.
117576 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117578         Sync from coreutils:
117580         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
117581         * modules/lib-ignore: New file.
117582         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
117583         chdir-safer.m4, lchmod.m4.
117584         * modules/openat: Add mkdirat.c, openat-priv.h.
117586 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117588         Sync from coreutils.
117589         * m4/lib-ignore.m4: New file.
117590         * m4/lchmod.m4: New file.
117592 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117594         Sync from coreutils.
117595         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
117596         for write access: POSIX says that must fail.
117597         * lib/fts.c (diropen): Likewise.
117598         * lib/save-cwd.c (save_cwd): Likewise.
117599         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
117600         well, for minor improvements on hosts that lack O_DIRECTORY.
117601         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
117602         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
117603         Fall back on chown if open failed with EACCES.
117605         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
117606         Report an error at compile-time if only a 1-second nominal clock
117607         resolution is found.
117609         * lib/lchmod.h: New file.
117610         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
117611         (make_dir_parents): Use lchown rather than chown, and
117612         lchmod rather than chmod.
117614         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
117615         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
117616         "proc" reported by n0dalus.
117618         * lib/mountlist.c: Include <limits.h>.
117619         (dev_from_mount_options)
117620         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
117621         New function.  It no longer assumes "dev=" has the System V meaning
117622         on Linux (since it doesn't).  It also parses "dev=" more carefully.
117623         (read_file_system_list)
117624         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
117625         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
117626         dev= in that case.
117628         * lib/posixtm.h (PDS_PRE_2000): New macro.
117629         * lib/posixtm.c (year): Arg is now syntax_bits rather than
117630         allow_century.  All usages changed.  Reject dates outside the range
117631         1969-1999 if PDS_PRE_2000 is used.
117633 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117635         Sync from coreutils.
117636         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
117637         (Time of day items): Mention the possibility of leap seconds.
117638         Problem reported by Dr. David Alan Gilbert.
117640 2006-01-09  Jim Meyering  <jim@meyering.net>
117642         Sync from coreutils.
117644         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
117646         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
117648         * lib/modechange.c (mode_compile): Reject an invalid mode string
117649         that starts with an octal digit.  From Andreas Gruenbacher.
117651         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
117652         and dup to open_safer and dup_safer, respectively.
117653         (openat_permissive): Fix typo in comment.
117655         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
117656         "gettext.h"; either no longer needed or are guaranteed by openat.h.
117657         (_): Remove; no longer needed.
117658         (openat): Renamed from rpl_openat; no need for rpl_openat
117659         since openat.h renames openat for us.
117660         Replace most of the body with a call to openat_permissive,
117661         to avoid duplicate code.
117662         Port to (probably hypothetical) environments were mode_t is
117663         wider than int.
117664         (openat_permissive): Require mode arg, so that we can check
117665         types better.  Put it just after flags.  Change cwd failure
117666         indicator from pointer-to-bool to pointer-to-errno-value.
117667         All callers changed.
117668         Invoke openat_save_fail and/or openat_restore_fail if
117669         cwd_errno is null, so that openat can call us.
117670         (openat_permissive, fdopendir, fstatat, unlinkat):
117671         Simplify errno handling to avoid some duplicate code,
117672         as it's OK to set errno on success.
117673         * lib/openat.h: Revamp code so that function macros depend on
117674         __OPENAT_PREFIX only, not also on AT_FDCWD.
117675         (openat_ro): Remove.  Caller changed to use openat_permissive.
117676         (openat_permissive): Now a macro, if not a function.
117677         (openat_restore_fail, openat_save_fail): Now always functions,
117678         since mkdirat needs them even if __OPENAT_PREFIX is defined.
117680         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
117681         and openat.c.
117682         * lib/mkdirat.c: Include openat-priv.h.
117683         Remove definitions of macros defined therein.
117684         * lib/openat.c: Likewise.
117686         * lib/mkdirat.c (mkdirat): New file and function.
117687         * lib/openat.h (mkdirat): Declare.
117689         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
117691         * lib/openat.h (openat_permissive): Declare.
117692         (openat_ro): Define.
117694         * lib/openat.c (EXPECTED_ERRNO): New macro.
117695         (openat_permissive): New function -- used in remove.c rewrite.
117696         (all functions): Set errno just before returning, only if there
117697         was an actual failure.
117698         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
117700         Emulate openat-family functions using Linux's procfs, if possible.
117701         Idea and some code based on Ulrich Drepper's glibc changes.
117703         * lib/openat.c: (BUILD_PROC_NAME): New macro.
117704         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
117705         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
117706         before falling back on save_cwd and restore_cwd.
117707         (fdopendir, fstatat, unlinkat): Likewise.
117709         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
117710         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
117712         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
117713         as second argument to va_arg.  Otherwise, some versions of gcc
117714         warn that `if this code is reached, the program will abort'.
117716 2006-01-09  Jim Meyering  <jim@meyering.net>
117718         Sync from coreutils.
117719         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
117720         Require openat-priv.h.
117722 2006-01-09  Bruno Haible  <bruno@clisp.org>
117724         * modules/strnlen (Include): Use strnlen.h.
117726 2006-01-09  Bruno Haible  <bruno@clisp.org>
117728         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
117730 2006-01-09  Bruno Haible  <bruno@clisp.org>
117732         * lib/sysexit_.h (EX_OK): New macro.
117733         Suggested by Martin Lambers <marlam@marlam.de>.
117735 2006-01-09  Bruno Haible  <bruno@clisp.org>
117737         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
117738         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
117740 2006-01-09  Bruno Haible  <bruno@clisp.org>
117742         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
117743         numbers.
117745 2006-01-09  Bruno Haible  <bruno@clisp.org>
117747         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
117748         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
117749         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
117750         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
117752 2006-01-09  Bruno Haible  <bruno@clisp.org>
117754         * build-aux/javacomp.sh.in: New file, moved from lib/.
117755         * modules/javacomp-script (Files): Update.
117756         (configure.ac): Add AC_CONFIG_FILES invocation.
117757         (EXTRA_DIST): Remove variable.
117759         * build-aux/javaexec.sh.in: New file, moved from lib/.
117760         * modules/javaexec (Files): Update.
117761         (configure.ac): Add AC_CONFIG_FILES invocation.
117762         (EXTRA_DIST): Remove javaexec.sh.in.
117764         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
117765         * modules/csharpcomp-script (Files): Update.
117766         (configure.ac): Add AC_CONFIG_FILES invocation.
117767         (EXTRA_DIST): Remove variable.
117769         * build-aux/csharpexec.sh.in: New file, moved from lib/.
117770         * modules/csharpexec (Files): Update.
117771         (configure.ac): Add AC_CONFIG_FILES invocation.
117772         (EXTRA_DIST): Remove csharpexec.sh.in.
117774 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
117776         Sync from coreutils.
117778         Add POSIX ACL support
117779         * lib/acl.h (copy_acl, set_acl): Add declarations.
117780         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
117781         systems other than Linux.
117782         (chmod_or_fchmod): New function: use fchmod when possible,
117783         and chmod otherwise.
117784         (file_has_acl): Add a POSIX ACL implementation, with a
117785         Linux-specific subcase.
117786         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
117787         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
117788         acls are unsupported.
117789         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
117790         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
117791         are unsupported.
117793 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
117795         Sync from coreutils.
117796         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
117798 2006-01-07  Bruno Haible  <bruno@clisp.org>
117800         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
117801         gl_EARLY.
117803 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
117805         * lib/strftime.c (tzname): Don't declare if it is already #defined.
117806         Problem reported for Mingw by Mark Junker.
117808 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
117810         * README: Gnulib normally doesn't generate a tarball.
117812 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
117814         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
117815         long int, not int, for nanosecond counts, so that people who are
117816         used to POSIX struct timespec won't be surprised.  Reported by Jim
117817         Meyering.
117819 2005-12-28  Bruno Haible  <bruno@clisp.org>
117821         * build-aux/config.rpath: Update from GNU gettext.
117823 2005-12-16  Jim Meyering  <jim@meyering.net>
117825         * modules/fprintftime: New module.
117826         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
117828 2005-12-16  Jim Meyering  <jim@meyering.net>
117830         * m4/fprintftime.m4: New file.
117832 2005-12-16  Jim Meyering  <jim@meyering.net>
117834         * lib/fprintftime.c, lib/fprintftime.h: New files.
117836 2005-12-15  Simon Josefsson  <jas@extundo.com>
117838         * modules/socklen (configure.ac): Fix M4 macro name, to align with
117839         new m4/socklen.m4.
117841 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
117843         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
117844         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
117846 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
117848         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
117849         * lib/argp-help.c (fill_in_uparams): Check if the constructed
117850         struct uparams is valid. Fall back to the default values if it is
117851         not.
117853 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
117855         * modules/argp (Files): Add argp-pin.c
117856         (Depends-on): dirname
117857         (lib_SOURCES): Add argp-pin.c
117859 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
117861         * m4/argp.m4:  Check if program_invocation_name and
117862         program_invocation_short_name are declared and define appropriate
117863         macros if they are not.
117865 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
117867         * lib/argp-help.c (__argp_base_name): New function
117868         (__argp_short_program_name): Rewrite using __argp_base_name
117869         * lib/argp-namefrob.h: Define program_invocation_name and
117870         program_invocation_short_name if requested
117871         (__argp_base_name): Add prototype
117872         * lib/argp-parse.c (argp_def): Use gettext wrappers
117873         (argp_default_parser): Use __argp_base_name
117874         * lib/argp-pin.c: New file. Defines program_invocation_name and
117875         program_invocation_short_name on systems that lack them.
117877 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
117879         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
117880         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
117881         porting problem reported by Georg Schwarz in
117882         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
117884 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
117886         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
117887         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
117888         porting problem reported by Georg Schwarz in
117889         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
117891 2005-12-05  Bruno Haible  <bruno@clisp.org>
117893         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
117894         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
117895         Reported by Mark Junker <mjscod@gmx.de>.
117897 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
117899         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
117900         Use implementation from Albert Chin, with some
117901         comments/corrections by Stepan Kasal and myself.
117903 2005-12-02  Bruno Haible  <bruno@clisp.org>
117905         * gnulib-tool (func_import): Accept GPLed build tool modules when
117906         --lgpl is given.
117907         * modules/csharpcomp-script: New file.
117908         * modules/csharpcomp: Depend on it.
117909         * modules/javacomp-script: New file.
117910         * modules/javacomp: Depend on it.
117911         Suggested by Simon Josefsson.
117913 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
117915         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
117916         statement, to work around an HP-UX 10.20 compiler bug reported by
117917         Peter O'Gorman.
117919 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
117921         * modules/savedir (Depends-on): Add openat.
117923 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
117925         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
117926         (uintmax_t) [defined uintmax_t]: Do not declare.
117927         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
117928         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
117929         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
117930         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
117931         sake of portability to weird hosts that C allows (though we don't
117932         know of any practical examples).
117934         * lib/savedir.h (fdsavedir): New decl.
117935         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
117936         contains most of the former guts of savedir.
117937         (savedir): Use savedirstream.
117938         Include "openat.h".
117940 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
117942         * modules/obstack (Files): Add m4/ulonglong.m4.
117943         Problem reported by Davide Angelocola.
117945 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
117947         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
117948         coreutils no longer futzes with rounding modes.
117950 2005-11-14  Jim Meyering  <jim@meyering.net>
117952         * lib/mkstemp-safer.c: Include <config.h>, required for possible
117953         replacement of mkstemp.
117955 2005-11-10  Simon Josefsson  <jas@extundo.com>
117957         * lib/readline.c: Remove EOL.
117959 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
117961         * modules/gethrxtime (Depends-on): Add gettime.
117963 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
117965         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
117966         or gettimeofday; no longer needed.
117968 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
117970         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
117971         time business.
117972         (gethrxtime) [! (HAVE_NANOUPTIME
117973         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
117974         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
117975         our own approximation.
117977 2005-11-08  Eric Blake  <ebb9@byu.net>
117979         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
117981 2005-11-08  Eric Blake  <ebb9@byu.net>
117983         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
117985 2005-11-04  Bruno Haible  <bruno@clisp.org>
117987         * gnulib-tool: Implement --update mode.
117989 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
117991         Fix porting problem reported by Theodoros V. Kalamatianos.
117992         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
117993         Don't assume that futimes failing means we must fail.
117995 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
117997         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
117998         variables to suggest the intended function of the PATH_MAX check.
118000 2005-10-30  Kean Johnston  <jkj@sco.com>
118002         Trivial changes to support SCO systems.
118003         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
118004         as PATH_MAX.
118005         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
118006         where __ptr is null when no I/O is pending.
118008 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
118010         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
118011         leave errno alone.  Problem reported by Dmitry V. Levin.
118013 2005-10-28  Simon Josefsson  <jas@extundo.com>
118015         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
118016         Test more.
118018         * tests/test-gc-md2.c, tests/test-md2.c: New files.
118020         * modules/md2, modules/md2-tests: New files.
118022 2005-10-28  Simon Josefsson  <jas@extundo.com>
118024         * m4/inet_ntop.m4: More tests.
118026         * m4/gc-md2.m4, md2.m4: New file.
118028 2005-10-28  Simon Josefsson  <jas@extundo.com>
118030         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
118031         "restrict" keywords, as per POSIX.  Protect the function
118032         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
118033         Don't use K&R prototypes.  Check the sprintf return values.
118034         Re-define EAFNOSUPPORT if not present.  Indent.
118036         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
118037         suggested by Bruno Haible <bruno@clisp.org>.
118039         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
118041         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
118043         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
118044         libgcrypt).
118046         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
118048         * lib/md2.h, lib/md2.c: New files.
118050 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
118052         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
118053         errno alone.  Problem reported by Frederic Jolliton.
118055 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
118057         * modules/verify (License): Change from GPL to LGPL.  This is a
118058         tiny module and there are apparently near-equivalents that are
118059         under the BSD license.
118061 2005-10-24  Simon Josefsson  <jas@extundo.com>
118063         * modules/sha1: Relicense to LGPL.
118065 2005-10-24  Simon Josefsson  <jas@extundo.com>
118067         * lib/md4.h: Shrink buffer size, now that we changed the type.
118069 2005-10-23  Simon Josefsson  <jas@extundo.com>
118071         * gnulib-tool (func_import): Fix --tests-base.
118073 2005-10-22  Simon Josefsson  <jas@extundo.com>
118075         * modules/arcfour (Depends-on): Need stdint.
118077 2005-10-22  Simon Josefsson  <jas@extundo.com>
118079         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
118080         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
118082 2005-10-22  Simon Josefsson  <jas@extundo.com>
118084         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
118085         suggested by Bruno Haible <bruno@clisp.org>.
118087 2005-10-22  Simon Josefsson  <jas@extundo.com>
118089         * lib/crc.h: Include stddef.h, for size_t.
118091 2005-10-22  Simon Josefsson  <jas@extundo.com>
118093         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
118094         arcfour_context struct (simplify test vector testing in GNU
118095         Shishi).
118097 2005-10-21  Simon Josefsson  <jas@extundo.com>
118099         * modules/des, modules/des-tests: New files.
118101         * modules/gc-des, modules/gc-des-tests: New files.
118103         * tests/test-des.c, tests/test-gc-des.c: New file.
118105 2005-10-21  Simon Josefsson  <jas@extundo.com>
118107         * modules/arctwo, modules/arctwo-tests: New files.
118109         * tests/test-arctwo.c: New file.
118111         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
118113         * tests/test-gc-arctwo.c: New file.
118115 2005-10-21  Simon Josefsson  <jas@extundo.com>
118117         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
118118         Bruno Haible <bruno@clisp.org>.
118120         * m4/gc-des.m4: New file.
118122 2005-10-21  Simon Josefsson  <jas@extundo.com>
118124         * m4/arctwo.m4: New file.
118126         * m4/gc-arctwo.m4: New file.
118128 2005-10-21  Simon Josefsson  <jas@extundo.com>
118130         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
118131         block.
118133 2005-10-21  Simon Josefsson  <jas@extundo.com>
118135         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
118136         <bruno@clisp.org>.
118138         * lib/hmac-sha1.c (hmac_sha1): Likewise.
118140         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
118141         Bruno Haible <bruno@clisp.org>.
118143         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
118144         <bruno@clisp.org>.
118146 2005-10-21  Simon Josefsson  <jas@extundo.com>
118148         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
118150 2005-10-21  Simon Josefsson  <jas@extundo.com>
118152         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
118154 2005-10-21  Simon Josefsson  <jas@extundo.com>
118156         * lib/des.h, lib/des.c: New files.
118158         * lib/gc-gnulib.c: Support DES.c
118160 2005-10-21  Simon Josefsson  <jas@extundo.com>
118162         * lib/arctwo.h, lib/arctwo.c: New files.
118164         * lib/gc-gnulib.c: Support ARCTWO.
118166 2005-10-21  Simon Josefsson  <jas@extundo.com>
118168         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
118169         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118171 2005-10-21  Simon Josefsson  <jas@extundo.com>
118173         * gnulib-tool (func_import, func_create_testdir): Define automake
118174         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
118175         Makefile.am snippet),
118176         suggested by Bruno Haible <bruno@clisp.org>.
118178         * modules/gc (Makefile.am): Use it.
118180 2005-10-21  Bruno Haible  <bruno@clisp.org>
118182         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
118183         patch.
118185 2005-10-19  Simon Josefsson  <jas@extundo.com>
118187         * tests/test-gc-rijndael.c: New file.
118189         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
118191 2005-10-19  Simon Josefsson  <jas@extundo.com>
118193         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
118194         interface too.
118196 2005-10-19  Simon Josefsson  <jas@extundo.com>
118198         * tests/test-gc-arcfour.c: New file.
118200         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
118202 2005-10-19  Simon Josefsson  <jas@extundo.com>
118204         * modules/gc-md4, modules/gc-md4-tests: New file.
118206         * tests/test-gc-md4.c: New file.
118208 2005-10-19  Simon Josefsson  <jas@extundo.com>
118210         * m4/gc-md4.m4: New file.
118212 2005-10-19  Simon Josefsson  <jas@extundo.com>
118214         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
118215         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
118216         <kasal@ucw.cz>.
118218 2005-10-19  Simon Josefsson  <jas@extundo.com>
118220         * m4/gc-arcfour.m4: New file.
118222         * m4/gc-rijndael.m4: New file.
118224 2005-10-19  Simon Josefsson  <jas@extundo.com>
118226         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
118228 2005-10-19  Simon Josefsson  <jas@extundo.com>
118230         * lib/gc-gnulib.c: Support ARCFOUR.
118232 2005-10-19  Simon Josefsson  <jas@extundo.com>
118234         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
118235         support.
118237         * lib/gc.h: Add ECB enum type.
118239         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
118241 2005-10-18  Simon Josefsson  <jas@extundo.com>
118243         * tests/test-md5.c: New file.
118245         * modules/md5-tests: New file.
118247 2005-10-18  Simon Josefsson  <jas@extundo.com>
118249         * tests/test-md4.c: New file.
118251         * modules/md4, modules/md4-tests: New files.
118253 2005-10-18  Simon Josefsson  <jas@extundo.com>
118255         * m4/md4.m4: New file.
118257 2005-10-18  Simon Josefsson  <jas@extundo.com>
118259         * lib/md4.h, lib/md4.c: New files, based on md5.?.
118261 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
118263         * gnulib-tool (func_create_testdir): Omit the second check whether
118264         BUILT_SOURCES in nonempty.
118266 2005-10-17  Simon Josefsson  <jas@extundo.com>
118268         * tests/test-rijndael.c: New file.
118270 2005-10-17  Simon Josefsson  <jas@extundo.com>
118272         * modules/sha1: Depend on stdint instead of md5.
118274         * modules/md5: Depend on stdint, remove uint32_t.
118276 2005-10-17  Simon Josefsson  <jas@extundo.com>
118278         * modules/gc-sha1-tests: New file.
118280         * tests/test-gc-sha1.c: New file.
118282 2005-10-17  Simon Josefsson  <jas@extundo.com>
118284         * m4/md5.m4: Remove call to uint32_t.m4.
118286 2005-10-17  Simon Josefsson  <jas@extundo.com>
118288         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
118290         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
118291         md5.h.
118293         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
118295         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
118297 2005-10-17  Simon Josefsson  <jas@extundo.com>
118299         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
118301 2005-10-17  Simon Josefsson  <jas@extundo.com>
118303         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
118305 2005-10-17  Simon Josefsson  <jas@extundo.com>
118307         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
118309         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
118311 2005-10-17  Bruno Haible  <bruno@clisp.org>
118313         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
118314         that it can also be used in a test.
118316 2005-10-16  Bruno Haible  <bruno@clisp.org>
118318         * gnulib-tool (func_emit_tests_Makefile_am): Also define
118319         TESTS_ENVIRONMENT, so that individual tests can augment it.
118321         * gnulib-tool (func_create_testdir): Use an intermediate target for
118322         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
118323         macros, like $(ALLOCA_H), which cannot be passed through the command
118324         line.
118326 2005-10-15  Simon Josefsson  <jas@extundo.com>
118328         * modules/rijndael-tests: New file.
118330         * modules/rijndael: New file.
118332 2005-10-15  Simon Josefsson  <jas@extundo.com>
118334         * m4/rijndael.m4: New file.
118336 2005-10-15  Simon Josefsson  <jas@extundo.com>
118338         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
118340         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
118342 2005-10-14  Simon Josefsson  <jas@extundo.com>
118344         * tests/test-arcfour.c: New file.
118346         * modules/arcfour, modules/arcfour-tests: New files.
118348 2005-10-14  Simon Josefsson  <jas@extundo.com>
118350         * m4/arcfour.m4: New file.
118352 2005-10-14  Simon Josefsson  <jas@extundo.com>
118354         * lib/arcfour.h, lib/arcfour.c: New files.
118356 2005-10-14  Roland McGrath  <roland@redhat.com>
118358         Import from libc.  [BZ #1331]
118359         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
118360         macro argument.
118361         Reported by Matej Vela <vela@debian.org>.
118363 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
118365         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
118366         include <wchar.h>; no longer needed.
118368 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
118370         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
118372 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
118373         and  Ulrich Drepper  <drepper@redhat.com>
118375         Import from libc.
118376         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
118377         instead of inline stream orientation test and two separate
118378         function calls.  Pay no attention to USE_IN_LIBIO.
118380 2005-10-13  Simon Josefsson  <jas@extundo.com>
118382         * modules/gc-hmac-md5-tests: New file.
118384         * tests/test-gc-hmac-sha1.c: New file.
118386         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
118388         * modules/gc-hmac-md5-tests: New file.
118390         * tests/test-gc-md5.c: New file.
118392         * modules/gc-md5-tests: New file.
118394 2005-10-13  Simon Josefsson  <jas@extundo.com>
118396         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
118397         Move memory allocation outside of loop.
118399 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
118401         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
118402         intermediate directory is in a read-only file system.  Problem
118403         reported by Eric Blake.
118405 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
118407         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
118409 2005-10-12  Simon Josefsson  <jas@extundo.com>
118411         * tests/test-hmac-sha1.c: New file.
118413         * modules/hmac-sha1-tests: New file.
118415         * modules/hmac-sha1: New file.
118417 2005-10-12  Simon Josefsson  <jas@extundo.com>
118419         * modules/gc-sha1: New file.
118421 2005-10-12  Simon Josefsson  <jas@extundo.com>
118423         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
118425         * tests/test-gc-pbkdf2-sha1.c: New file.
118427 2005-10-12  Simon Josefsson  <jas@extundo.com>
118429         * modules/gc-md5, modules/gc-hmac-md5: New files.
118431         * modules/gc (Files): Remove md5, memxor and hmac files.
118433 2005-10-12  Simon Josefsson  <jas@extundo.com>
118435         * m4/gc-pbkdf2-sha1.m4: New file.
118437         * m4/gc-hmac-sha1.m4: New file.
118439         * m4/gc-sha1: New file.
118441         * m4/hmac-sha1.m4: New file.
118443 2005-10-12  Simon Josefsson  <jas@extundo.com>
118445         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
118447         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
118449 2005-10-12  Simon Josefsson  <jas@extundo.com>
118451         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
118452         suggested by Bruno Haible <bruno@clisp.org>.
118454 2005-10-12  Simon Josefsson  <jas@extundo.com>
118456         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
118458 2005-10-12  Simon Josefsson  <jas@extundo.com>
118460         * lib/gc-pbkdf2-sha1.c: New file.
118462         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
118464 2005-10-12  Simon Josefsson  <jas@extundo.com>
118466         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
118468         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
118470 2005-10-12  Simon Josefsson  <jas@extundo.com>
118472         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
118473         GC_USE_HMAC_MD5, respectively.
118475         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
118476         (gc_md5): Fix typo.
118478         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
118480         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
118482         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
118484 2005-10-12  Bruno Haible  <bruno@clisp.org>
118486         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
118487         Reported by Stepan Kasal <kasal@ucw.cz>.
118489 2005-10-11  Simon Josefsson  <jas@extundo.com>
118491         * tests/test-crc.c: New file.
118493         * modules/crc, modules/crc-tests: New files.
118495 2005-10-11  Simon Josefsson  <jas@extundo.com>
118497         * m4/crc.m4: New file.
118499 2005-10-11  Simon Josefsson  <jas@extundo.com>
118501         * lib/gc.h: Add gc_hash and gc_hash_buffer.
118503         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
118505         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
118507 2005-10-11  Simon Josefsson  <jas@extundo.com>
118509         * lib/crc.h, lib/crc.c: New files.
118511         * lib/gc.h (gc_hash_buffer): Add doc.
118513 2005-10-11  Bruno Haible  <bruno@clisp.org>
118515         * modules/c-strcasestr: New file.
118516         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
118518 2005-10-11  Bruno Haible  <bruno@clisp.org>
118520         * modules/c-strcase: New file.
118521         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
118523 2005-10-11  Bruno Haible  <bruno@clisp.org>
118525         * lib/strcasecmp.c: Include limits.h.
118526         (strcasecmp): Avoid integer overflow on exotic platforms.
118527         * lib/strncasecmp.c: Include limits.h.
118528         (strncasecmp): Avoid integer overflow on exotic platforms.
118529         Reported by Paul Eggert.
118531 2005-10-11  Bruno Haible  <bruno@clisp.org>
118533         * lib/c-strcasestr.h: New file, from GNU gettext.
118534         * lib/c-strcasestr.c: New file, from GNU gettext.
118536 2005-10-11  Bruno Haible  <bruno@clisp.org>
118538         * lib/c-strcase.h: New file, from GNU gettext.
118539         * lib/c-strcasecmp.c: New file, from GNU gettext.
118540         * lib/c-strncasecmp.c: New file, from GNU gettext.
118542 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
118544         * modules/mempcpy (License): GPL -> LGPL.
118545         * modules/strchrnul (License): Likewise.
118546         * modules/sysexits (License): Likewise.
118548 2005-10-08  Simon Josefsson  <jas@extundo.com>
118550         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
118552 2005-10-07  Simon Josefsson  <jas@extundo.com>
118554         * m4/memxor.m4: Remove gl_C_RESTRICT call.
118556 2005-10-06  Simon Josefsson  <jas@extundo.com>
118558         * tests/test-hmac-md5.c: New file.
118560         * modules/hmac-md5-tests: New file.
118562         * modules/hmac-md5: New file.
118564 2005-10-06  Simon Josefsson  <jas@extundo.com>
118566         * m4/hmac-md5.m4: New file.
118568         * m4/memxor.m4: Require gl_C_RESTRICT.
118570 2005-10-06  Simon Josefsson  <jas@extundo.com>
118572         * lib/memxor.c (memxor): Avoid casts and warnings.
118574 2005-10-06  Simon Josefsson  <jas@extundo.com>
118576         * lib/hmac-md5.c: New file.
118578         * lib/hmac.h: New file.
118580 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
118582         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
118583         promotes to int, not unsigned int, to catch the AIX 5.3
118584         compiler bug.
118586 2005-10-05  Simon Josefsson  <jas@extundo.com>
118588         * modules/memxor: New file.
118590         * modules/iconv (Files): Move config.rpath to havelib, it is used
118591         there.
118593         * modules/havelib (Files): Add config.rpath.
118595 2005-10-05  Simon Josefsson  <jas@extundo.com>
118597         * m4/memxor.m4: New file.
118599 2005-10-05  Simon Josefsson  <jas@extundo.com>
118601         * lib/memxor.c (memxor): Fix compiler error.
118603         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
118604         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
118606         * lib/memxor.h, lib/memxor.c: New files.
118608         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
118609         we assume all systems have it, suggested by Jim Meyering
118610         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
118611         any systems lack sys/socket.h; mingw32 is known to lack it, but we
118612         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
118613         same reasons.
118615 2005-10-05  Simon Josefsson  <jas@extundo.com>
118617         * config/srclist.txt: Add glibc bug 1423 for md5.h.
118619 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
118621         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
118622         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
118623         needed, since the source code now assumes these .h files.
118625 2005-10-05  Derek Price  <derek@ximbiot.com>
118627         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
118629 2005-10-05  Bruno Haible  <bruno@clisp.org>
118631         * modules/stdint (License): Change to LGPL.
118633 2005-10-04  Simon Josefsson  <jas@extundo.com>
118635         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
118636         D. Baushke" <mdb@gnu.org>.
118638 2005-10-04  Bruno Haible  <bruno@clisp.org>
118640         * lib/verify.h (verify_true): Provide alternative definition for C++.
118642 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
118644         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
118645         (SSIZE_MAX): New macro, if not already defined.
118646         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
118647         than 2 GiB.
118649 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118651         Sync from coreutils.
118652         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
118653         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
118654         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
118655         ULLONG_MAX doesn't work with 2.7.2.1.
118657 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118659         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
118660         From Ben Pfaff.
118662         * modules/exclude (Depends-on): Depend on verify.
118663         * modules/strtoimax (Depends-on): Likewise.
118664         * modules/utimecmp (Depends-on): Likewise.
118666 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118668         * lib/exclude.c: Include verify.h.
118669         (verify): Remove.  All callers changed to use verify.h's version.
118670         * lib/strtoimax.c: Likewise.
118671         * lib/utimecmp.c: Likewis.e
118673         Sync from coreutils.
118674         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
118675         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
118676         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
118677         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
118678         bother returning ENOSYS if settimeofday or stime fails; just let
118679         them return whatever errno they want to return.
118680         * lib/utimens.c: Include unistd.h, for dup2.
118681         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
118682         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
118684 2005-10-02  Jim Meyering  <jim@meyering.net>
118686         Sync from coreutils.
118687         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
118688         from glibc-2.2.5 that fails for read-only files.
118690 2005-10-02  Jim Meyering  <jim@meyering.net>
118692         Sync from coreutils.
118693         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
118694         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
118695         `#if HAVE_CONFIG_H'.
118696         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
118697         Remove AT_FDCWD test.
118698         Do not consume the fd unless successful.
118699         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
118700         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
118701         block, so that we don't even try to compile it if settimeofday is
118702         available.  This works around a compilation failure on OSF1 V5.1,
118703         due to stime requiring a `long int*' while tv_sec is `int'.
118705 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
118707         Sync from coreutils.
118708         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
118709         against `yes', rather than just testing for nonempty.
118711 2005-10-01  Simon Josefsson  <jas@extundo.com>
118713         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
118714         and Darwin.
118716         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
118717         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
118718         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
118719         freeaddrinfo and gai_strerror are declared by the POSIX headers.
118720         Check if struct addrinfo is declared.
118722 2005-10-01  Simon Josefsson  <jas@extundo.com>
118724         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
118725         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
118726         AI_* and EAI_* definitions.  Protect function declarations.
118728 2005-10-01  Jim Meyering  <jim@meyering.net>
118730         Sync from coreutils.
118732         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
118733         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
118734         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
118735         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
118736         in the inet and nsl libraries.  Required on Solaris 5.7.
118738 2005-10-01  Jim Meyering  <jim@meyering.net>
118740         Sync from coreutils.
118741         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
118742         in the inet and nsl libraries.  Required on Solaris 5.7.
118744 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
118746         * lib/getdelim.c (getdelim): Remove unused variables.
118748 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
118750         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
118751         so that the code works even with ancient cpp.  Portability problem
118752         with GCC 2.7.2.1 reported by Thomas M.Ott.
118754 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
118756         * modules/regex (Depends-on): Add strcase.
118758         * modules/gethostname (Licence): Change from GPL to LGPL, since
118759         gethostname.c is a trivial implementation of a standard library
118760         function.
118761         * modules/poll (License): Change from GPL to LGPL, since it's
118762         derived from LGPL code.
118764 2005-09-27  Jim Meyering  <jim@meyering.net>
118766         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
118767         HAVE_CONFIG_H.
118769         * lib/intprops.h (signed_type_or_expr__): Define.
118770         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
118771         for unsigned types.
118773 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
118775         * lib/verify.h (verify_expr): Remove, replacing with:
118776         (verify_true): New macro that returns true instead of void.
118777         (verify_type__): Remove.
118778         (verify): Use verify_true rather than verify_type__.
118780 2005-09-26  Bruno Haible  <bruno@clisp.org>
118782         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
118783         is necessary.
118784         (lib_SOURCES): Remove mbchar.c.
118785         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
118786         (Files): Add m4/mbrtowc.m4.
118787         * modules/mbiter: Likewise.
118788         * modules/mbuiter: Likewise.
118790 2005-09-26  Bruno Haible  <bruno@clisp.org>
118792         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
118793         compile mbchar.c if they are not both present.
118794         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
118795         * m4/mbiter.m4 (gl_MBITER): Likewise.
118796         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
118797         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
118798         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
118800 2005-09-25  Jim Meyering  <jim@meyering.net>
118802         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
118803         also uses socklen_t.
118805 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
118807         * lib/utimens.c (ENOSYS): Define if not already defined.
118808         (futimens): Support having a null PATH if the file descriptor
118809         is nonnegative.
118811         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
118812         Remove.
118813         (__attribute): Define to empty unless GCC 3.1 or later.
118814         This works around a core dump on OpenBSD 3.4, which has GCC
118815         2.95.3, which dumps core when given __attribute__(()).  It also
118816         simplifies other tests, since we really don't want to bother with
118817         worrying about which ancient version of GCC supported what.
118818         Original problem reported by Yoann Vandoorselaere, with part of
118819         the fix suggested by Derek Price.
118821 2005-09-24  Jim Meyering  <jim@meyering.net>
118823         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
118824         so we can once again use a positive bitfield width of 1 -- now we
118825         don't have to explain why we were using a bitfield width of 2.
118827 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
118829         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
118830         and similarly for the other external symbols.  Problem reported
118831         by James Gallager.
118833         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
118834         bug reported by Jim Meyering.
118836         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
118837         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
118838         not needed, since socklen is a prerequisite module.
118840 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
118842         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
118843         Problem reported by Eric Blake.
118844         (getaddrinfo): Initialize se so that it's not garbage.
118845         Redo internal storage allocation so that it doesn't make unportable
118846         assumptions about alignment.
118847         Fix a memory leak.
118849         * lib/utimens.c (futimens): Use futimesat if available.
118850         Prefer it to futimes since it doesn't have the futimes bug.
118852         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
118853         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
118854         Instead, declare a function that returns a pointer to an array,
118855         and use verify_type__ to declare the size of the array.
118856         Problem and germ of a solution reported by Bruno Haible.
118857         (verify_type__): Use 2, not 1, for bitfield size, to avoid
118858         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
118860 2005-09-23  Jim Meyering  <jim@meyering.net>
118862         Sync from coreutils.
118863         Correct build failure (socklen_t not defined) on at least
118864         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
118865         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
118867 2005-09-23  Jim Meyering  <jim@meyering.net>
118869         * modules/getaddrinfo (Depends-on): Add socklen.
118871 2005-09-23  Bruno Haible  <bruno@clisp.org>
118873         * tests/test-verify.c: New file.
118875 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
118877         Sync from coreutils.
118879         * modules/argmatch (Depends-on): Add verify.
118880         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
118881         unistd-safer.
118882         * modules/save-cwd (Depends-on): Likewise.
118884         * modules/openat (Files): Add lib/openat-die.c.
118885         (Depends-on): Remove error, exitfail.
118886         Add dirname.
118888         * modules/verify: New file.
118889         * MODULES.html.sh (Diagnostics <assert.h>): New section,
118890         with "verify" module.
118892 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
118894         Sync from coreutils.
118896         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
118897         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
118898         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
118899         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
118900         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
118901         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
118902         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
118903         Don't bother checking for string.h, stdlib.h, unistd.h.
118904         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
118905         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
118906         module's job.
118907         * m4/jm-macros.m4 (gl_MACROS): Likewise.
118908         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
118910         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
118911         (gl_GETDATE): Use it.
118913         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
118915 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
118917         Sync from coreutils.
118919         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
118920         stat-time.h.
118921         * lib/argmatch.h: Include verify.h
118922         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
118923         (ARGMATCH_ASSERT): Remove; unused.
118924         * lib/canonicalize.c: Assume STDC_HEADERS.
118925         * lib/exclude.c: Include "strcase.h".
118926         * lib/regex_internal.h [!defined _LIBC]: Likewise.
118927         * lib/getusershell.c: Include stdio--.h rather than stdio.h
118928         and stdio-safer.h.
118929         (getusershell): Call fopen, not fopen_safer.
118930         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
118931         Do not include unistd-safer.h.
118932         (save_cwd): Don't call fd_safer; no longer needed
118933         now that we include fcntl--.h.
118935         * lib/getdate.y (relative_time): New type.
118936         (RELATIVE_TIME_0): New constant.
118937         (parser_control): Use relative_time instead of doing it ourselves.
118938         (%union): Add new relative_time rel member.
118939         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
118940         Now typeless.
118941         (relunit, relunit_snumber): Now of type rel.
118942         (zone, rel, relunit, get_date): Adjust to above changes.
118944         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
118945         Do not include unistd-safer.h.
118946         (getloadavg): Don't call fd_safer; no longer needed
118947         now that we include fcntl--.h.
118949         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
118950         (make_dir_parents): Treat ENOSYS like EEXIST.
118952         Improve quality of diagnostics on restore_cwd failure.
118953         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
118954         (make_dir_parents): Last arg is now int * (for errno), not bool *.
118955         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
118956         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
118957         each time through the loop.  Do not diagnose restore_cwd failure;
118958         that is the caller's job (and perhaps the caller does not care).
118960         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
118961         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
118962         If the file already exists but is not a directory, don't bother
118963         to try to make its parents.
118964         Close potential file descriptor leak if we can't chdir("/") (!).
118965         Don't always return true if chdir($PWD) fails; return true only
118966         if the requested action was done successfully (except for the
118967         chdir($PWD)).
118968         Don't log final directory unless we actually made it.
118969         Refactor to avoid duplicate code to fix up permissions.
118970         Don't attempt to fix up parent permissions if chdir($PWD) fails.
118972         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
118973         to make it a bit faster and (I hope) clearer.
118974         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
118975         Fix bug in formats like %2N.
118977         * lib/verify.h: New file.
118979 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
118981         Sync from coreutils.
118982         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
118984 2005-09-22  Jim Meyering  <jim@meyering.net>
118986         Sync from coreutils.
118988         * m4/lstat.m4 (gl_FUNC_LSTAT):
118989         Use AC_LIBSOURCES to require lstat.c and lstat.h.
118990         Remove obsolete comment.
118991         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
118992         * m4/xstrtod.m4: Likewise.
118994         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
118996 2005-09-22  Jim Meyering  <jim@meyering.net>
118998         Sync from coreutils.
119000         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
119002         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
119003         the .tm_year member, since otherwise gcc-4.0 would now warn about
119004         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
119006         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
119007         order to avoid an unsuppressible warning from gcc on 64-bit systems.
119009         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
119010         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
119011         when run in a time zone for which daylight savings time is in effect
119012         for the starting date.
119014         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
119015         stop us from restricting permissions of just-created absolute-named
119016         directories.
119017         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
119018         to restore initial working directory.
119019         * lib/mkdir-p.c (make_dir_parents): New parameter:
119020         different_working_dir, to tell caller if/when we change the working
119021         directory and are unable to return to the initial one.
119022         * lib/mkdir-p.h (make_dir_parents): Update prototype.
119023         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
119024         `return false'.  This fixes a bug introduced on 2004-07-30.
119026         * lib/openat.c (fdopendir): Be sure to close the supplied
119027         file descriptor before returning.  This makes our replacement
119028         implementation a little closer to Solaris's, where fdopendir
119029         ties the file descriptor to the returned DIR* pointer.
119030         * lib/openat.c (unlinkat): New function.
119031         * lib/openat.h (unlinkat): Add prototype.
119032         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
119033         (openat_restore_fail): Rename from openat_restore_die.
119034         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
119036         Provide an alternative to exiting immediately upon save_cwd or
119037         restore_cwd failure.  Now, an application can arrange e.g.,
119038         to perform a longjump in that case.
119039         * lib/openat.c: Include dirname.h.
119040         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
119041         (rpl_openat, fdopendir, fstatat): Call openat_save_die
119042         and openat_restore_die rather than calling error directly.
119043         Don't include "error.h" or "exitfail.h"; they're no longer needed.
119045         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
119046         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
119047         define.
119049         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
119050         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
119051                             int utc, int nanoseconds);
119052         Background:
119053         date should not have to allocate a megabyte of virtual memory to
119054         handle a format argument like +%1048575T.  When implemented with
119055         strftime, it must allocate such a buffer, use strftime to fill it
119056         in, print it, then free it.
119057         With fprintftime, it simply prints everything and exits.
119058         With no need for memory allocation, that's one fewer way to fail.
119059         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
119060         optional field width, not before, so we accept %9:z, not %:9z.
119061         (my_strftime): Be sure to use L_('x') for literals.
119063         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
119064         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
119065         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
119066         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
119067         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
119068         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
119069         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
119070         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
119071         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
119072         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
119073         * lib/xgethostname.c, lib/xreadlink.c:
119074         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
119076         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
119077         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
119078         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
119079         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
119080         and don't include <sys/file.h>).
119082 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
119084         Sync from coreutils.
119086         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
119087         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
119088         [!LDAV_DONE]: Avoid unused variable warning.
119090 2005-09-21  Bruno Haible  <bruno@clisp.org>
119092         * lib/unicodeio.h (unicode_to_mb): New declaration.
119094 2005-09-20  Derek Price  <derek@ximbiot.com>
119096         * lib/getaddrinfo.c: Don't include <netdb.h> included from
119097         getaddrinfo.h.
119099 2005-09-20  Bruno Haible  <bruno@clisp.org>
119101         * gnulib-tool: Remove trailing slashes from the values specified for
119102         --source-base, --m4-base, --tests-base, --aux-dir.
119103         Suggested by Simon Josefsson <jas@extundo.com>.
119105 2005-09-20  Bruno Haible  <bruno@clisp.org>
119107         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
119108         func_modules_to_filelist, func_import, func_create_testdir): Make all
119109         sorting results locale-independent, so that gnulib-cache.m4 doesn't
119110         change when gnulib-tool is invoked in a different locale.
119112 2005-09-19  Simon Josefsson  <jas@extundo.com>
119114         * m4/socklen.m4: Fix typo.
119116 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
119118         Use a consistent style for including <config.h>.
119119         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
119120         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
119121         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
119122         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
119123         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
119124         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
119125         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
119126         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
119127         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
119128         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
119129         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
119130         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
119131         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
119132         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
119133         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
119134         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
119135         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
119136         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
119137         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
119138         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
119139         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
119140         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
119141         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
119142         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
119143         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
119144         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
119145         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
119146         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
119147         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
119148         lib/xstrtoumax.c, lib/yesno.c:
119149         Standardize inclusion of config.h.
119150         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
119151         lib/inttostr.h:  Removed inclusion of config.h from header files.
119152         * lib/inttostr.c:  Adjusted in-tree users.
119153         * lib/timespec.h: Remove superfluous warning to include config.h.
119154         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
119155         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
119156         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
119157         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
119158         config.h with HAVE_CONFIG_H.
119160 2005-09-19  Jim Meyering  <jim@meyering.net>
119162         * modules/pathmax (License): Change to LGPL.
119164 2005-09-19  Derek Price  <derek@ximbiot.com>
119166         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
119168 2005-09-19  Bruno Haible  <bruno@clisp.org>
119170         * gnulib-tool (import): Provide default for --tests-base.
119172 2005-09-19  Bruno Haible  <bruno@clisp.org>
119174         * doc/quote.texi: New file, extracted from gnulib.texi.
119175         * doc/ctime.texi: New file, extracted from gnulib.texi.
119176         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
119177         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
119178         * doc/gnulib.texi: Include them.
119180 2005-09-18  Bruno Haible  <bruno@clisp.org>
119182         Portability fix.
119183         * gnulib-tool (func_readlink): New function.
119184         (func_ln_if_changed): Use it.
119186 2005-09-18  Bruno Haible  <bruno@clisp.org>
119188         * gnulib-tool: Support --with-tests also with --import.
119189         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
119190         (func_import): Use variables $testsbase and $inctests. Emit a
119191         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
119192         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
119193         SUBDIRS += $testsdir.
119194         (func_create_testdir): Update.
119196 2005-09-18  Bruno Haible  <bruno@clisp.org>
119198         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
119199         instead of $dry_run.
119200         (func_cp_if_changed, func_mv_if_changed): Remove functions.
119201         (func_ln_if_changed): Don't handle dry-run here.
119202         (func_import): In dry-run mode, detect more precisely which actions
119203         would be performed, and don't use "...ing" verbs.
119205 2005-09-18  Bruno Haible  <bruno@clisp.org>
119207         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
119208         (func_import): Use join on two temporary files instead of three nested
119209         loops, in order to determine which files are new or old.
119211 2005-09-18  Bruno Haible  <bruno@clisp.org>
119213         * gnulib-tool (func_import): Comment out code that spits out the
119214         new files with --dry-run.
119216 2005-09-18  Bruno Haible  <bruno@clisp.org>
119218         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
119220 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119222         * lib/stat-time.h: New file.
119223         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
119224         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
119225         in a different way.
119226         (timespec_cmp): New function.
119227         * lib/utimecmp.c: Include stat-time.h.
119228         (SYSCALL_RESOLUTION): Depend on whether various struct stat
119229         members exist, not on the obsolescent ST_MTIM_NSEC.
119230         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
119232 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119234         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
119236 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119238         * MODULES.html.sh (File system functions): Add stat-time.
119239         * modules/stat-time: New file.
119240         * modules/timespec (Files): Remove m4/st_mtim.m4; this
119241         is now done in a different way, by the stat-time module.
119242         * modules/utimecmp (Depends-on): Add stat-time.
119244 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
119246         * m4/st_mtim.m4: Remove.  Superseded by...
119247         * m4/stat-time.m4: New file.
119248         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
119249         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
119251 2005-09-15  Derek Price  <derek@ximbiot.com>
119253         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
119255 2005-09-15  Derek Price  <derek@ximbiot.com>
119257         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
119258         * lib/regex_internal.c: Ditto, using this...
119259         (__GNUC_PREREQ): ...new macro.
119260         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
119261         using...
119262         (__GNUC_PREREQ): ...this new macro.
119264         * lib/strstr.h: Include string.h. Define strstr as a macro here.
119266 2005-09-15  Derek Price  <derek@ximbiot.com>
119267             Paul Eggert  <eggert@cs.ucla.edu>
119269         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
119270         changes, consolidating in...
119271         * lib/regex_internal.h: ...this file.
119273 2005-09-13  Jim Meyering  <jim@meyering.net>
119275         * lib/canon-host.c: Filter through gnu indent and reword comments
119276         slightly.
119277         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
119279 2005-09-13  Derek Price  <derek@ximbiot.com>
119281         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
119282         failure.
119283         Reported by Jim Meyering  <jim@meyering.net>.
119285 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
119287         * lib/base64.c: Typo.
119288         (base64_encode): Put b64str in initialized data section.
119290 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
119292         Merge glibc and coreutils changes into gnulib, plus a few
119293         extra fixes.
119294         * lib/md5.c: Use #error rather than a string.
119295         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
119296         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
119297         (__attribute__): Define to empty for non recent-GCC.
119298         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
119299         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
119300         Renamed from their non-__ counterparts, with new macros replacing
119301         them if not _LIBC.  Add __THROW attribute.
119302         (rol): Remove.
119303         (struct md5_ctx): Align buffer if using GCC.
119304         * lib/sha1.h (struct sha1_ctx): Likewise.
119305         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
119306         The old name was backwards.
119307         (NOTSWAP): Remove; not used.
119308         (rol): New macro, moved here from md5.h.
119309         (sha1_process_block): Remove a FIXME that doesn't make sense.
119311 2005-09-12  Derek Price  <derek@ximbiot.com>
119313         Return usable errors from canon-host.
119314         * lib/canon-host.h: New file.
119315         * lib/canon-host.c (canon_host): Wrap...
119316         (canon_host_r): ...this new function, which now relies exclusively on
119317         getaddrinfo.
119318         (ch_strerror): New function.
119319         (last_cherror): New global.
119320         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
119321         interface.
119322         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
119323         void *.
119324         (freeaddrinfo): Free ai->ai_canonname when set.
119326 2005-09-12  Derek Price  <derek@ximbiot.com>
119328         Make canon-host require getaddrinfo.
119329         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
119330         AC_LIBSOURCE canon-host.h.  Call...
119331         (gl_PREREQ_CANON_HOST): ...this new function, which requires
119332         gl_GETADDRINFO.
119333         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
119335 2005-09-12  Derek Price  <derek@ximbiot.com>
119337         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
119338         LGPL.
119339         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
119341 2005-09-12  Derek Price  <derek@ximbiot.com>
119343         * lib/gai_strerror.c: Include config.h when available.  Include
119344         getaddrinfo.h before other headers to test interface.
119345         Reported by Larry Jones <lawrence.jones@ugs.com>.
119347 2005-09-12  Derek Price  <derek@ximbiot.com>
119348             Paul Eggert  <eggert@cs.ucla.edu>
119350         * modules/glob (Files): Add glob-libc.h.
119352 2005-09-12  Derek Price  <derek@ximbiot.com>
119353             Paul Eggert  <eggert@cs.ucla.edu>
119355         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
119356         glob_.h, glob-libc.h.
119357         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
119359 2005-09-12  Derek Price  <derek@ximbiot.com>
119360             Paul Eggert  <eggert@cs.ucla.edu>
119362         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
119363         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
119364         protecting things that should be done only in gnulib contexts.
119365         * lib/glob_.h: New file, containing only the glob things needed for
119366         gnulib.
119367         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
119368         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
119369         (glob, globfree, glob_pattern_p): Now defined simply in terms of
119370         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
119371         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
119372         and to respect the namespace rules better.
119374 2005-09-08  Simon Josefsson  <jas@extundo.com>
119376         * modules/socklen: New file.
119378 2005-09-08  Simon Josefsson  <jas@extundo.com>
119380         * m4/socklen.m4: New file.
119382 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119384         * modules/utimens (Files): Add m4/utimbuf.m4, since
119385         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
119386         Reported by Sergey Poznyakoff.
119388 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119390         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
119391         definitions, since that's the preferred style in glibc.
119392         Fix a minor spacing issue, and update copyright notice to match
119393         glibc's.
119395 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119397         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
119399 2005-09-06  Simon Josefsson  <jas@extundo.com>
119401         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
119402         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
119404 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
119406         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
119407         warning.
119409 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
119411         * config/srclist.txt: Add glibc bug 1302.
119413 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
119415         Change bitset word type from unsigned int to unsigned long int,
119416         as this has better performance on typical 64-bit hosts.
119417         Port bitset code to hosts with unusual word sizes.
119418         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
119419         (build_collating_symbol):
119420         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
119421         argument is a bitset.  This is merely a style issue, but it makes
119422         it clearer that an entire array is expected.
119423         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
119424         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
119425         Port to the case where bitset_word is not the same as unsigned int.
119426         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
119427         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
119428         Likewise.
119429         * lib/regexec.c (check_dst_limits_calc_pos_1,
119430         check_subexp_matching_top):
119431         (build_trtable, group_nodes_into_DFAstates):
119432         Likewise.
119433         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
119434         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
119435         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
119436         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
119437         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
119438         * lib/regcomp.c (optimize_subexps, lower_subexp):
119439         Work even if bitset_word has holes in its bitwise representation.
119440         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
119441         * lib/regexec.c (check_dst_limits_calc_pos_1,
119442         check_subexp_matching_top):
119443         Likewise.
119444         * lib/regex_internal.c (re_string_reconstruct):
119445         Don't assume UCHAR_MAX == 255.
119446         * lib/regex_internal.h (bitset_set_all): Likewise.
119447         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
119448         All uses changed.
119449         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
119450         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
119451         All uses changed.
119452         (BITSET_WORD_MAX): New macro.
119453         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
119454         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
119455         (bitset_empty, bitset_copy):
119456         Prefer sizeof (bitset) to multiplying it out ourselves.
119457         (bitset_not_merge): Remove; unused.
119458         (bitset_contain): Return bool, not unsigned int with one bit on.
119459         All callers changed.
119460         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
119461         alignment than re_node_set; do this by defining a new internal
119462         type struct dests_alloc and using it to allocate memory.
119464 2005-09-05  Bruno Haible  <bruno@clisp.org>
119466         * gnulib-tool (func_import): Fix comparison in handling of symbolic
119467         links.
119469 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
119471         * modules/size_max (Makefile.am): Add size_max.h
119473 2005-09-04  Derek Price  <derek@ximbiot.com>
119475         * gnulib-tool (func_import): Fix reversed $symbolic logic.
119477 2005-09-03  Simon Josefsson  <jas@extundo.com>
119479         * gnulib-tool: Fix typo.
119481 2005-09-03  Simon Josefsson  <jas@extundo.com>
119483         * config/srclist.txt: Add glibc bug 1293.
119485 2005-09-03  Derek Price  <derek@ximbiot.com>
119487         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
119488         From Larry Jones <lawrence.jones@ugs.com>.
119490 2005-09-02  Simon Josefsson  <jas@extundo.com>
119492         * modules/socklen: New file.
119494 2005-09-02  Simon Josefsson  <jas@extundo.com>
119496         * modules/havelib: New module.
119498         * modules/gettext, modules/iconv, modules/lock, modules/readline:
119499         Use havelib.
119501 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
119503         Check for arithmetic overflow when calculating sizes, to prevent
119504         some buffer-overflow issues.  These patches are conservative, in the
119505         sense that when I couldn't determine whether an overflow was possible,
119506         I inserted a run-time check.
119507         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
119508         macros.
119509         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
119510         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
119511         (re_xnrealloc, re_x2nrealloc): New inline functions.
119512         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
119513         parse_bracket_exp):
119514         (build_equiv_class, build_charclass): Check for arithmetic overflow
119515         in size expression calculations.
119516         * lib/regex_internal.c (re_string_realloc_buffers):
119517         (build_wcs_upper_buffer, re_node_set_add_intersect):
119518         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
119519         (re_dfa_add_node, register_state): Likewise.
119520         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
119521         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
119522         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
119523         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
119525 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
119527         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
119528         m4/ulonglong.m4.  Problem reported by Martin Lambers.
119530 2005-09-02  Bruno Haible  <bruno@clisp.org>
119532         Support for lib vs. lib64 distinction on biarch platforms.
119533         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
119534         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
119535         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
119537 2005-09-02  Bruno Haible  <bruno@clisp.org>
119539         * gnulib-tool (import): In the other first-use case, provide defaults
119540         as well.
119542 2005-09-02  Bruno Haible  <bruno@clisp.org>
119544         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
119545         patches not yet found in the latest gettext release.
119547 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
119549         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
119550         to avoid a collision with bits/local_lim.h in glibc.
119551         All uses changed.  Problem reported by Dmitry V. Levin in
119552         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
119554         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
119555         bugs in int versus size_t comparisons.
119556         (re_string_context_at): Fix bug where the code assumed that
119557         Idx is signed.
119559         Use bool where appropriate.
119560         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
119561         All callers changed.
119562         (calc_eclosure_iter): Likewise, for ROOT arg.
119563         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
119564         (build_charclass_op): Likewise, for NON_MATCH arg.
119565         * lib/regex_internal.c (re_string_allocate, re_string_construct):
119566         (re_string_construct_common): Likewise, for ICASE arg.
119567         * lib/regexec.c (re_search_2_stub, re_search_stub):
119568         Likewise, for RET_LEN arg.
119569         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
119570         (set_regs): Likewise, for FL_BACKTRACK arg.
119571         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
119572         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
119573         (calc_eclosure_iter, parse_bracket_exp):
119574         Use bool for internal variables that are booleans.
119575         * lib/regexec.c (re_search_internal, check_matching,
119576         proceed_next_node):
119577         (set_regs, build_sifted_states, sift_states_bkref):
119578         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
119579         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
119580         (find_collation_sequence_value):
119581         Likewise.
119582         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
119583         (re_node_set_compare):
119584         Return bool, not int. All callers changed.
119585         * lib/regexec.c (check_halt_node_context, check_dst_limits):
119586         (build_trtable, check_node_accept): Likewise.
119587         * lib/regex_internal.h: Include stdbool.h.
119589         Fix bugs uncovered when converting to bool.
119590         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
119591         failure instead of charging ahead blindly.
119592         * lib/regex_internal.c (register_state): Likewise.
119593         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
119594         for freeing internal storage.
119595         (group_nodes_into_DFA_states): Use unsigned int, not int, for
119596         bitset pieces used as boolean, to avoid undefined behavior
119597         on hosts that do int overflow checking.
119599 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
119601         * config/srclist.txt: Add glibc bugs 1285-1287.
119603 2005-09-01  Jim Meyering  <jim@meyering.net>
119605         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
119606         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
119607         Require gl_STAT_MACROS, too.
119609 2005-09-01  Bruno Haible  <bruno@clisp.org>
119611         * gnulib-tool (import): In the first-use case, provide defaults.
119613 2005-09-01  Bruno Haible  <bruno@clisp.org>
119615         * gnulib-tool (func_import): Remove the .tmp files.
119617 2005-09-01  Bruno Haible  <bruno@clisp.org>
119619         * gnulib-tool (func_import): Fix handling of symbolic links.
119621 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119623         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
119624         old glibc regex code mishandles strings longer than 2**31 bytes.
119625         This patch fixes this when the regex code is used in gnulib
119626         (i.e., outside glibc).
119628         This patch should not affect the use of the regex code inside
119629         glibc.  No doubt this problem also needs to be handled for glibc
119630         as well, but the result will be an incompatible change to the
119631         glibc ABI, and the old ABI will have to be supported too.  That
119632         can be the subject for another patch.
119634         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
119635         governing whether the rest of this patch is active.  By default,
119636         the macro is disabled and the patch has no effect.
119637         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
119638         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
119639         (struct re_pattern_buffer, re_search, re_search_2, re_match):
119640         (re_match_2, re_set_registers): Use the new types.
119641         * lib/regex_internal.h (Idx, re_hashval_t): New types.
119642         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
119643         New macros.
119644         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
119645         (re_string_context_at, bin_tree_t, re_dfastate_t):
119646         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
119647         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
119648         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
119649         (re_string_char_size_at, re_string_wchar_at):
119650         (re_string_elem_size_at):
119651         Use the new types and macros to port to 64-bit hosts.
119652         Use unsigned types for internal values, so that the code
119653         mostly works even for arrays larger than SSIZE_MAX.
119654         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
119655         (search_duplicated_node, calc_eclosure_iter, fetch_number):
119656         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
119657         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
119658         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
119659         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
119660         (calc_inveclosure, parse_dup_op, build_range_exp):
119661         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
119662         (fetch_number, create_token_tree, mark_opt_subexp):
119663         Likewise.
119664         * lib/regex_internal.c (re_string_construct_common,
119665         create_ci_newstate):
119666         (create_cd_newstate, re_string_allocate, re_string_construct):
119667         (re_string_realloc_buffers, build_wcs_upper_buffer):
119668         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
119669         (re_string_reconstruct, re_string_peek_byte_case):
119670         (re_string_fetch_byte_case, re_string_context_at):
119671         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
119672         (re_node_set_init_copy, re_node_set_add_intersect):
119673         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
119674         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
119675         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
119676         (re_acquire_state, re_acquire_state_context, register_state):
119677         Likewise.
119678         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
119679         search_cur_bkref_entry):
119680         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
119681         (re_search_internal, re_search_2_stub, re_search_stub)
119682         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
119683         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
119684         (update_cur_sifted_state, check_dst_limits):
119685         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
119686         (check_subexp_limits, sift_states_bkref, merge_state_array):
119687         (check_subexp_matching_top, get_subexp, get_subexp_sub):
119688         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
119689         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
119690         (expand_bkref_cache, check_node_accept_bytes):
119691         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
119692         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
119693         (acquire_init_state_context, check_halt_node_context):
119694         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
119695         (sift_states_backward, clean_state_log_if_needed):
119696         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
119697         (find_recover_state, transit_state_sb, transit_state_mb):
119698         (transit_state_bkref, build_trtable, match_ctx_clean):
119699         Likewise.
119700         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
119701         to work around an assumption that REG_MISSING is negative.
119703         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
119704         (seek_collating_symbol_entry) [defined _LIBC]:
119705         (lookup_collation_sequence_value) [defined _LIBC]:
119706         (build_range_exp, build_collating_symbol) [defined _LIBC]:
119707         Use prototypes rather than old-style function definitions.
119708         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
119709         (transit_state_sb) [0]:
119710         (find_collation_sequence_value) [defined _LIBC]: Likewise.
119712         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
119713         rm_eo.
119715         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
119716         (optimize_subexps, lower_subexp):
119717         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
119718         since the signed shift might overflow.  Use 1u<<31 instead.
119719         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
119720         Likewise.
119721         * lib/regexec.c (check_dst_limits_calc_pos_1,
119722         check_subexp_matching_top): Likewise.
119724         * lib/regcomp.c (optimize_subexps, lower_subexp):
119725         Use CHAR_BIT rather than 8, for clarity.
119726         * lib/regexec.c (check_dst_limits_calc_pos_1):
119727         (check_subexp_matching_top): Likewise.
119728         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
119729         have to worry about portability issues when shifting it left.
119730         Remove no-longer-needed test for table_size > 0.
119731         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
119732         in a word, as the resulting behavior is undefined.
119733         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
119734         in one case, a <= should have been an <, and in another case the
119735         whole test was missing.
119736         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
119737         the standard name CHAR_BIT.
119738         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
119739         this is not true on one's complement and signed-magnitude hosts.
119741         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
119742         next_last_offset.
119743         (struct re_dfa_t): Remove unused member states_alloc.
119744         * lib/regcomp.c (init_dfa): Don't initialize unused members.
119746 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119748         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
119749         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
119750         and large-file glibc and in 32-bit large-file Solaris.
119752 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119754         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
119755         lengths fit in regoff_t; this isn't true if regoff_t is the same
119756         width as size_t.
119757         * lib/regex.c (re_search_internal): 5th arg is LAST_START
119758         (= START + RANGE) instead of RANGE.  This avoids overflow
119759         problems when regoff_t is the same width as size_t.
119760         All callers changed.
119761         (re_search_2_stub): Check for overflow when adding the
119762         sizes of the two strings.
119763         (re_search_stub): Check for overflow when adding START
119764         to RANGE; if it occurs, substitute the extreme value.
119766 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119768         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
119770 2005-08-31  Jim Meyering  <jim@meyering.net>
119772         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
119773         a pointer-to-const.
119774         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
119775         (register_state): Likewise.
119776         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
119777         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
119778         (group_nodes_into_DFAstates): Likewise.
119780 2005-08-31  Jim Meyering  <jim@meyering.net>
119782         * check-module: Add a FIXME comment.
119784 2005-08-31  Eric Blake  <ebb9@byu.net>
119786         * modules/unistd-safer (Files): Add unistd--.h.
119787         * modules/stdio-safer (Files): Add stdio--.h.
119789 2005-08-31  Derek Price  <derek@ximbiot.com>
119791         * lib/getdelim.c (getdelim): Return EOF on EOF.
119792         Reported by Larry Jones <lawrence.jones@ugs.com>.
119794 2005-08-31  Bruno Haible  <bruno@clisp.org>
119796         Avoid unnecessary diffs in the generated lib/Makefile.am.
119797         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
119798         the generated files.
119799         (func_import): Don't set cmd.
119801 2005-08-31  Bruno Haible  <bruno@clisp.org>
119803         * lib/strstr.c: Include <stddef.h>, for NULL.
119804         * lib/strcasestr.c: Likewise.
119805         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
119807 2005-08-31  Bruno Haible  <bruno@clisp.org>
119809         * gnulib-tool: New option --macro-prefix.
119810         (func_import): Use macro_prefix.
119811         (import): Handle option --macro-prefix.
119813 2005-08-31  Bruno Haible  <bruno@clisp.org>
119815         * gnulib-tool (import): Rename most ac_* variables to cached_*.
119816         Also use new variables cached_lgpl, cached_libtool.
119818 2005-08-31  Bruno Haible  <bruno@clisp.org>
119820         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
119821         always instantiating them.
119823 2005-08-31  Bruno Haible  <bruno@clisp.org>
119825         * gnulib-tool (func_import): Read the previous cached settings
119826         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
119827         earlier added by gnulib but are now dropped. Warn when a gnulib file
119828         overwrites a non-gnulib file.
119830 2005-08-31  Bruno Haible  <bruno@clisp.org>
119832         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
119833         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
119834         projects that don't keep autogenerated files in CVS. Put into
119835         actioncmd only the specified modules, not the transitive closure.
119837 2005-08-31  Bruno Haible  <bruno@clisp.org>
119839         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
119840         Create directories that shall be filled.
119841         (import): Don't look for gl_* macros in configure.ac. Recurse across
119842         all directories containing a gnulib-cache.m4 files, if meaningful.
119844 2005-08-31  Bruno Haible  <bruno@clisp.org>
119846         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
119847         (import): Set seen_libtool when we see gl_LIBTOOL.
119849 2005-08-31  Bruno Haible  <bruno@clisp.org>
119851         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
119852         declaration macro definitions from generated gnulib.m4.
119854 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
119856         * lib/iconvme.h: Add prototype for iconv_alloc.
119858 2005-08-29  Simon Josefsson  <jas@extundo.com>
119860         * lib/iconvme.c: Fix errno.
119862 2005-08-29  Bruno Haible  <bruno@clisp.org>
119864         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
119865         that it works when the directory contains spaces.
119867 2005-08-29  Bruno Haible  <bruno@clisp.org>
119869         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
119871 2005-08-29  Bruno Haible  <bruno@clisp.org>
119873         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
119874         Emit more advice.
119876 2005-08-29  Bruno Haible  <bruno@clisp.org>
119877         and Stepan Kasal  <kasal@ucw.cz>
119879         * check-module: If more parameters are given, check each of them
119880         separately; add more exceptions, as noted by Jim Meyering.
119881         (check_module): New procedure.
119882         (%exempt_header): Now contains all exceptions.
119884 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
119886         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
119888 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
119890         * lib/iconvme.c: Split iconv_string into iconv_alloc.
119892 2005-08-28  Bruno Haible  <bruno@clisp.org>
119894         * m4/gnulib-tool.m4: New file.
119896 2005-08-27  Jim Meyering  <jim@meyering.net>
119898         * modules/unistd-safer (Files): Add pipe-safer.c.
119899         * modules/fcntl-safer (Files): Add creat-safer.c.
119901 2005-08-27  Jim Meyering  <jim@meyering.net>
119903         * m4/stdlib-safer.m4: New file.  From coreutils.
119904         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
119905         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
119906         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
119907         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
119908         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
119910 2005-08-27  Jim Meyering  <jim@meyering.net>
119912         * lib/fopen-safer.c: Merge minor changes from coreutils.
119913         * lib/dup-safer.c: Likewise.
119914         * lib/fd-safer.c: Likewise.
119916         Merge from coreutils.
119917         * lib/stdio--.h: New file.
119918         * lib/stdlib--.h: New file.
119919         * lib/mkstemp-safer.c: New file.
119921         GNU tar needs these.
119922         * lib/pipe-safer.c: New file.
119923         * lib/creat-safer.c: New file.
119924         * lib/fcntl--.h (creat): Define to creat_safer.
119925         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
119926         * lib/unistd--.h (pipe): Define to pipe_safer.
119927         * lib/unistd-safer.h: Declare pipe_safer.
119929 2005-08-26  Simon Josefsson  <jas@extundo.com>
119931         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
119932         Haible <bruno@clisp.org>.
119934 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
119936         * lib/regex_internal.h: Remove all references to
119937         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
119938         or better.
119939         (bitset_not, bitset_merge, bitset_not_merge):
119940         (bitset_mask, re_string_allocate, re_string_construct):
119941         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
119942         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
119943         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
119944         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
119945         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
119946         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
119947         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
119948         (re_acquire_state_context):
119949         Remove unnecessary forward decls.
119950         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
119951         Put __attribute at function definition,
119952         now that the function decl has been removed.
119953         * lib/regex_internal.c (re_string_peek_byte_case):
119954         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
119955         Likewise.
119957 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
119959         * m4/regex.m4: Add AC_PREREQ(2.50).
119960         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
119962 2005-08-25  Simon Josefsson  <jas@extundo.com>
119964         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
119965         __fsetlocking.
119967 2005-08-25  Simon Josefsson  <jas@extundo.com>
119969         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
119970         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
119971         GLIBC specific code.
119973 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
119975         Make regex safe for g++.  This fixes one real bug (an "err"
119976         that should have been "*err").  g++ problem reported by
119977         Sam Steingold.
119978         * lib/regex_internal.h (re_calloc): New macro, consistent with
119979         re_malloc etc.  All callers of calloc changed to use re_calloc.
119980         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
119981         not int.  All callers changed.
119982         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
119983         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
119984         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
119985         (find_recover_state): Change "err" to "*err"; this fixes what
119986         appears to be a real bug.
119987         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
119988         versus int.
119990 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
119992         * modules/regex (Depends-on): Add malloc, since the code
119993         assumes that !malloc(0) means failure.
119995 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
119997         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
119999         alloca modernization/simplification for regex.
120000         * lib/regex.c: Remove portability cruft for alloca.  This no longer
120001         needs to be at the start of the file, and can be moved into
120002         regex_internal.h and simplified.
120003         * lib/regex_internal.h: Include <alloca.h>.
120004         (__libc_use_alloca) [!defined _LIBC]: New macro.
120005         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
120006         now works outside glibc.
120008 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120010         * config/srclist.txt: Add glibc bugs 1241, 1245.
120012 2005-08-25  Jim Meyering  <jim@meyering.net>
120014         * lib/open-safer.c: Include <config.h>.
120015         Otherwise, we'd lose LARGEFILE support in any file using
120016         e.g. "fcntl--.h"
120018 2005-08-25  Bruno Haible  <bruno@clisp.org>
120020         * m4/minmax.m4: Require autoconf 2.52.
120021         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
120022         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
120023         alternatives of translit over the alphabet.
120024         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
120026 2005-08-24  Simon Josefsson  <jas@extundo.com>
120028         * tests/test-getpass.c: New file.
120030 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120032         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
120033         for GNU regex features.
120035 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120037         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
120038         * lib/regex.h (regerror): Likewise.
120040         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
120041         requires this.  (The code never needed it.)
120043         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
120044         All uses of recently-renamed identifiers changed to use the new,
120045         POSIX-compliant names.  The code will build and run just fine
120046         without these changes, but it's better to eat our own dog food
120047         and use the standard-conforming names.
120049         * lib/regex.h: Fix a multitude of POSIX name space violations.
120050         These changes have an effect only for programs that define
120051         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
120052         do not change anything for programs compiled in the normal way.
120053         Also, there is no effect on the ABI.
120055         (_REGEX_SOURCE): New macro.
120056         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
120057         defined and _GNU_SOURCE is not; this fixes a name space violation.
120059         Rename the following macros to obey POSIX requirements.
120060         The old names are still visible as macros if _REGEX_SOURCE is defined.
120061         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
120062         RE_BACKSLASH_ESCAPE_IN_LISTS.
120063         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
120064         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
120065         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
120066         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
120067         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
120068         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
120069         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
120070         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
120071         (REG_INTERVALS): renamed from RE_INTERVALS.
120072         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
120073         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
120074         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
120075         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
120076         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
120077         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
120078         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
120079         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
120080         RE_UNMATCHED_RIGHT_PAREN_ORD.
120081         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
120082         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
120083         (REG_DEBUG): renamed from RE_DEBUG.
120084         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
120085         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
120086         unusual, since we can't clash with the POSIX REG_ICASE.
120087         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
120088         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
120089         (REG_NO_SUB): renamed from RE_NO_SUB.
120090         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
120091         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
120092         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
120093         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
120094         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
120095         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
120096         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
120097         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
120098         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
120099         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
120100         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
120101         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
120102         RE_SYNTAX_POSIX_MINIMAL_BASIC.
120103         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
120104         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
120105         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
120106         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
120107         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
120108         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
120109         (REG_FIXED): Renamed from REGS_FIXED.
120110         (REG_NREGS): Renamed from RE_NREGS.
120112         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
120113         of other REG_* macros, since POSIX says the user is allowed to
120114         #undef these macros selectively.
120116         (reg_errcode_t): Update comment stating what other tables need
120117         to be consistent.
120119         Rename the following enum values to obey POSIX requirements.
120120         The old names are still visible as macros.
120121         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
120122         is not defined, since GNU is supposed to be a superset of POSIX as
120123         much as possible, and since we want reg_errcode_t to be a signed
120124         type for implementation consistency.
120125         (_REG_NOERROR): Renamed from REG_NOERROR.
120126         (_REG_NOMATCH): Renamed from REG_NOMATCH.
120127         (_REG_BADPAT): Renamed from REG_BADPAT.
120128         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
120129         (_REG_ECTYPE): Renamed from REG_ECTYPE.
120130         (_REG_EESCAPE): Renamed from REG_EESCAPE.
120131         (_REG_ESUBREG): Renamed from REG_ESUBREG.
120132         (_REG_EBRACK): Renamed from REG_EBRACK.
120133         (_REG_EPAREN): Renamed from REG_EPAREN.
120134         (_REG_EBRACE): Renamed from REG_EBRACE.
120135         (_REG_BADBR): Renamed from REG_BADBR.
120136         (_REG_ERANGE): Renamed from REG_ERANGE.
120137         (_REG_ESPACE): Renamed from REG_ESPACE.
120138         (_REG_BADRPT): Renamed from REG_BADRPT.
120139         (_REG_EEND): Renamed from REG_EEND.
120140         (_REG_ESIZE): Renamed from REG_ESIZE.
120141         (_REG_ERPAREN): Renamed from REG_ERPAREN.
120142         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
120143         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
120144         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
120145         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
120147         (_REG_RE_NAME, _REG_RM_NAME): New macros.
120148         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
120149         changed.  But support the old name if the new one is not defined
120150         and if _REGEX_SOURCE.
120152         Change the following member names in struct re_pattern_buffer.
120153         The old names are still supported if !_REGEX_SOURCE.
120154         The new names are always supported, regardless of _REGEX_SOURCE.
120155         (re_buffer): Renamed from buffer.
120156         (re_allocated): Renamed from allocated.
120157         (re_used): Renamed from used.
120158         (re_syntax): Renamed from syntax.
120159         (re_fastmap): Renamed from fastmap.
120160         (re_translate): Renamed from translate.
120161         (re_can_be_null): Renamed from can_be_null.
120162         (re_regs_allocated): Renamed from regs_allocated.
120163         (re_fastmap_accurate): Renamed from fastmap_accurate.
120164         (re_no_sub): Renamed from no_sub.
120165         (re_not_bol): Renamed from not_bol.
120166         (re_not_eol): Renamed from not_eol.
120167         (re_newline_anchor): Renamed from newline_anchor.
120169         Change the following member names in struct re_registers.
120170         The old names are still supported if !_REGEX_SOURCE.
120171         The new names are always supported, regardless of _REGEX_SOURCE.
120172         (rm_num_regs): Renamed from num_regs.
120173         (rm_start): Renamed from start.
120174         (rm_end): Renamed from end.
120176         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
120177         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
120178         Prepend __ to parameter names.
120180         Undo yesterday's changes.
120182 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120184         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
120185         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
120186         lib/regex.c.
120188 2005-08-24  Jim Meyering  <jim@meyering.net>
120190         Sync from coreutils.
120191         * m4/fcntl-safer.m4: New file.
120193         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
120194         and object files for this module.
120196 2005-08-24  Jim Meyering  <jim@meyering.net>
120198         Sync from coreutils.
120199         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
120201 2005-08-24  Jim Meyering  <jim@meyering.net>
120203         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
120204         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
120206 2005-08-24  Jim Meyering  <jim@meyering.net>
120208         * modules/fcntl-safer: New module.
120209         * modules/fts (Depends-on): Add fcntl-safer.
120210         * MODULES.html.sh (File descriptor based Input/Output):
120211         Add fcntl-safer.
120213 2005-08-24  Bruno Haible  <bruno@clisp.org>
120215         Support for unit test modules.
120216         * modules/README: Mention tests modules.
120217         * modules/TEMPLATE-TESTS: New file.
120218         * gnulib-tool: New options --extract-tests-module, --with-tests and
120219         --tests-base (unused for the moment).
120220         (testsbase, inctests): New variables.
120221         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
120222         (func_verify_module): Exclude TEMPLATE-TESTS.
120223         (func_verify_nontests_module, func_verify_tests_module): New functions.
120224         (func_get_dependencies): Add implicit dependency for tests modules.
120225         (func_get_tests_module): New function.
120226         (func_modules_transitive_closure): When --with-tests was specified,
120227         include the unit tests as well, unless explicitly avoided.
120228         (func_emit_lib_Makefile_am): Ignore the tests modules here.
120229         (func_emit_tests_Makefile_am): New function.
120230         (func_create_testdir): When --with-tests was specified, emit a
120231         tests/ directory.
120232         * MODULES.html.sh (Future developments): Update.
120234 2005-08-24  Bruno Haible  <bruno@clisp.org>
120236         * modules/tls-tests: New file.
120237         * tests/test-tls.c: New file, from GNU gettext.
120239 2005-08-24  Bruno Haible  <bruno@clisp.org>
120241         * modules/lock-tests: New file.
120242         * tests/test-lock.c: New file, from GNU gettext.
120244 2005-08-24  Bruno Haible  <bruno@clisp.org>
120246         * lib/lock.h: Add multiple inclusion guard.
120247         * lib/tls.h: Add multiple inclusion guard.
120249 2005-08-24  Bruno Haible  <bruno@clisp.org>
120251         * gnulib-tool: Add support for the --aux-dir option to
120252         --create-testdir, --create-megatestdir, --test, --megatest.
120253         (func_create_testdir, func_create_megatestdir): Optionally emit a
120254         AC_CONFIG_AUX_DIR directive.
120255         (create-testdir, create-megatestdir, test, megatest): Provide a
120256         default value for $auxdir.
120258 2005-08-24  Bruno Haible  <bruno@clisp.org>
120260         * gnulib-tool (import): Use compound statement instead of subshell
120261         where possible.
120263 2005-08-24  Bruno Haible  <bruno@clisp.org>
120265         * gnulib-tool (import): Change --aux-dir default to "build-aux".
120267 2005-08-24  Bruno Haible  <bruno@clisp.org>
120269         * gnulib-tool (func_version): Update.
120271 2005-08-24  Bruno Haible  <bruno@clisp.org>
120273         * gnulib-tool (func_import, func_create_testdir,
120274         func_create_megatestdir): Quote all autoconf macro arguments.
120276 2005-08-24  Bruno Haible  <bruno@clisp.org>
120278         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
120279         option --force, because --force causes the aclocal.m4 of each
120280         subdirectory to be newer than the corresponding config.h.in.
120282 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120284         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
120285         All contents moved to gl_REGEX.
120286         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
120287         assume that it does.
120289 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120291         * lib/regex.h (REG_NOSYS)
120292         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
120293         Define, since POSIX requires it as of 2001.
120294         (_REG_ENOSYS)
120295         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
120296         New private symbol, used to keep the enum signed in all cases.
120297         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
120298         Youngman in
120299         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
120301         * lib/regex_internal.c (re_string_skip_chars, register_state):
120302         (calc_state_hash):
120303         Remove forward decls; no longer needed now that we use prototypes.
120304         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
120305         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
120306         (clean_state_log_if_needed): Likewise.
120308 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120310         * config/srclist.txt: Add glibc bugs 1231-1233.
120312 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120314         Fix problems reported by Sam Steingold in
120315         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
120316         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
120317         assumed that reg_errcode_t is a signed type, which is not
120318         necessarily true if _XOPEN_SOURCE is not defined.
120319         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
120320         since some compilers warn about it otherwise.
120322 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120324         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
120325         (init_word_char, create_initial_state, duplicate_node_closure):
120326         (fetch_token, peek_token_bracket, build_range_exp):
120327         (build_collating_symbol): Remove forward decls; no longer needed
120328         now that we use prototypes.
120330         * lib/regcomp.c:
120331         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
120332         (re_compile_fastmap_iter, regcomp, regerror, regfree):
120333         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
120334         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
120335         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
120336         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
120337         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
120338         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
120339         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
120340         (build_range_exp, build_collating_symbol, parse_bracket_exp):
120341         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
120342         (build_charclass, build_charclass_op, fetch_number, create_tree):
120343         (create_token_tree, mark_opt_subexp, duplicate_tree):
120344         Use prototypes rather than old-style definitions.
120346         * lib/regex_internal.c:
120347         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
120348         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
120349         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
120350         (re_string_reconstruct, re_string_peek_byte_case):
120351         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
120352         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
120353         (re_node_set_init_copy, re_node_set_add_intersect):
120354         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120355         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120356         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
120357         (re_acquire_state, re_acquire_state_context, register_state):
120358         (create_ci_newstate, create_cd_newstate, free_state):
120359         Likewise.
120360         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
120361         re_search_2):
120362         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
120363         (re_search_internal, prune_impossible_nodes):
120364         (acquire_init_state_context, check_matching, static):
120365         (check_halt_node_context, check_halt_state_context, proceed_next_node):
120366         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
120367         (update_regs, sift_states_backward, build_sifted_states):
120368         (clean_state_log_if_needed, merge_state_array):
120369         (update_cur_sifted_state, add_epsilon_src_nodes):
120370         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
120371         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
120372         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
120373         (find_recover_state, check_subexp_matching_top, transit_state_mb):
120374         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
120375         (check_arrival, check_arrival_add_next_nodes):
120376         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
120377         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120378         (check_node_accept_bytes, check_node_accept, extend_buffers):
120379         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
120380         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
120381         (sift_ctx_init):
120382         Likewise.
120384         * lib/regex_internal.h:
120385         (re_string_allocate, re_string_construct, re_string_reconstruct):
120386         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
120387         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
120388         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
120389         (re_string_context_at, re_string_peek_byte_case):
120390         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
120391         is defined, since we now use prototypes always.
120393         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
120394         C89 or better.  All uses removed.
120396 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120398         * config/srclist.txt: Add glibc bugs 1220-1227.
120400 2005-08-20  Jim Meyering  <jim@meyering.net>
120402         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
120403         of unused local, dfa.
120405 2005-08-20  Bruno Haible  <bruno@clisp.org>
120407         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
120409 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120411         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
120412         (re_node_set_insert_last, re_dfa_add_node):
120413         Rename local variables to avoid GCC shadowing warnings.
120415 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120417         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
120418         [defined lint]: Suppress bogus uninitialized-variable warnings.
120420         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
120421         and let the caller return REG_ESPACE if out of space.  This
120422         removes an uninitialied-variable warning with GCC 4.0.1, and also
120423         avoids taking the address of a local variable.  All callers
120424         changed.
120426 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120428         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
120429         $LIBCSRC/posix/regexec.c.
120430         Add glibc bug 1217 for regcomp.c.
120432 2005-08-19  Jim Meyering  <jim@meyering.net>
120434         * lib/regexec.c (proceed_next_node): Redo local variables to
120435         avoid GCC shadowing warnings.
120437 2005-08-18  Bruno Haible  <bruno@clisp.org>
120439         * lib/strstr.c (strstr): Fix return value in multibyte case.
120440         * lib/strcasestr.c (strcasestr): Likewise.
120442 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
120444         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
120446 2005-08-17  Jim Meyering  <jim@meyering.net>
120448         Make the %s format (seconds since the epoch) work for a negative
120449         number and when used with a zero-padded field width, e.g. %015s.
120451         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
120452         label so that it precedes the code to set `digits'.  Otherwise,
120453         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
120454         print `00-22'.  Now, it prints `-0022', as it should.
120456 2005-08-17  Bruno Haible  <bruno@clisp.org>
120458         * modules/strstr (Files): Add m4/mbrtowc.m4.
120459         (Depends-on): Add mbuiter.
120461 2005-08-17  Bruno Haible  <bruno@clisp.org>
120463         * modules/strcasestr: New file.
120464         * MODULES.html.sh (String handling, based on ANSI C 89): Add
120465         strcasestr.
120467 2005-08-17  Bruno Haible  <bruno@clisp.org>
120469         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
120471 2005-08-17  Bruno Haible  <bruno@clisp.org>
120473         * modules/mbuiter: New file.
120474         * MODULES.html.sh (Extended multibyte and wide character utilities):
120475         Add mbuiter.
120477 2005-08-17  Bruno Haible  <bruno@clisp.org>
120479         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
120480         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
120482 2005-08-17  Bruno Haible  <bruno@clisp.org>
120484         * m4/strcasestr.m4: New file.
120486 2005-08-17  Bruno Haible  <bruno@clisp.org>
120488         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
120489         * lib/strstr.c: Completely rewritten, with multibyte locale support.
120491 2005-08-17  Bruno Haible  <bruno@clisp.org>
120493         * lib/strcasestr.h: New file.
120494         * lib/strcasestr.c: New file.
120496 2005-08-17  Bruno Haible  <bruno@clisp.org>
120498         * lib/strcasecmp.c: Use mbuiter.h.
120500 2005-08-17  Bruno Haible  <bruno@clisp.org>
120502         * lib/mbuiter.h: New file.
120504 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
120506         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
120507         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
120508         and gl_GETOPT are both invoked via different paths (as happens
120509         with GNU tar CVS because it uses both argp and getopt), the former
120510         wins.
120512 2005-08-16  Bruno Haible  <bruno@clisp.org>
120514         * modules/tls: New file.
120515         * MODULES.html.sh (Multithreading): Add tls.
120517 2005-08-16  Bruno Haible  <bruno@clisp.org>
120519         * modules/strnlen1: New file.
120520         * MODULES.html.sh (String handling): Add strnlen1.
120522 2005-08-16  Bruno Haible  <bruno@clisp.org>
120524         * modules/strcase (Files): Add m4/mbrtowc.m4.
120525         (Depends-on): Add strnlen1, mbchar.
120527 2005-08-16  Bruno Haible  <bruno@clisp.org>
120529         * modules/mbiter: New file.
120530         * MODULES.html.sh (Extended multibyte and wide character utilities):
120531         Add mbiter.
120533 2005-08-16  Bruno Haible  <bruno@clisp.org>
120535         * modules/mbfile: New file.
120536         * MODULES.html.sh (Extended multibyte and wide character utilities):
120537         Add mbfile.
120539 2005-08-16  Bruno Haible  <bruno@clisp.org>
120541         * modules/mbchar: New file.
120542         * MODULES.html.sh (Extended multibyte and wide character utilities):
120543         New section.
120545 2005-08-16  Bruno Haible  <bruno@clisp.org>
120547         * m4/tls.m4: New file, from GNU gettext.
120549 2005-08-16  Bruno Haible  <bruno@clisp.org>
120551         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
120552         always.
120553         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
120555 2005-08-16  Bruno Haible  <bruno@clisp.org>
120557         * m4/mbiter.m4: New file.
120559 2005-08-16  Bruno Haible  <bruno@clisp.org>
120561         * m4/mbfile.m4: New file.
120563 2005-08-16  Bruno Haible  <bruno@clisp.org>
120565         * m4/mbchar.m4: New file.
120567 2005-08-16  Bruno Haible  <bruno@clisp.org>
120569         * lib/tls.h: New file, from GNU gettext.
120570         * lib/tls.c: New file, from GNU gettext.
120572 2005-08-16  Bruno Haible  <bruno@clisp.org>
120574         * lib/strnlen1.h: New file.
120575         * lib/strnlen1.c: New file.
120577 2005-08-16  Bruno Haible  <bruno@clisp.org>
120579         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
120580         (mbi_init): Update.
120581         (mbi_avail, mbi_advance): Let the iteration end before the terminating
120582         NUL byte, not after it.
120584 2005-08-16  Bruno Haible  <bruno@clisp.org>
120586         * lib/strcase.h (strcasecmp): Add note in comments.
120587         * lib/strncasecmp.c: Use code from strcasecmp.c.
120588         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
120589         (strcasecmp): Work correctly in multibyte locales.
120591 2005-08-16  Bruno Haible  <bruno@clisp.org>
120593         * lib/mbiter.h: New file.
120595 2005-08-16  Bruno Haible  <bruno@clisp.org>
120597         * lib/mbfile.h: New file.
120599 2005-08-16  Bruno Haible  <bruno@clisp.org>
120601         * lib/mbchar.h: New file.
120602         * lib/mbchar.c: New file.
120604 2005-08-16  Bruno Haible  <bruno@clisp.org>
120606         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
120607         the valid ones. Makes the comparison operations transitive:
120608         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
120609         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
120611 2005-08-15  Simon Josefsson  <jas@extundo.com>
120613         * modules/ssize_t (License): Change to 'unlimited'.
120615         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
120617 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
120619         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
120620         Add comments for each pending glibc patch.
120622 2005-08-15  Bruno Haible  <bruno@clisp.org>
120624         * lib/regex.h (__restrict_arr): Don't define to __restrict if
120625         __cplusplus is defined.
120627 2005-08-14  Jim Meyering  <jim@meyering.net>
120629         Sync from coreutils.
120631         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
120632         Use the hash-table-based cycle-detection code not just when
120633         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
120634         Reported by James Youngman in
120635         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
120636         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
120637         FTS_TIGHT_CYCLE_CHECK.
120638         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
120639         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
120640         once again.
120641         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
120642         * lib/fts.c (fd_safer): Remove decl.
120643         Include fcntl--.h rather than unistd-safer.h
120644         (fts_safe_changedir): Don't call fd_safer; no longer needed
120645         now that we include fcntl--.h.
120647 2005-08-12  Simon Josefsson  <jas@extundo.com>
120649         * modules/getndelim2: Use ssize_t module.
120650         * modules/getnline: Likewise.
120651         * modules/safe-read: Likewise.
120652         * modules/xreadlink: Likewise.
120654         * modules/ssize_t: New file.
120656 2005-08-12  Simon Josefsson  <jas@extundo.com>
120658         * m4/readline.m4: Look for termcap, curses or ncurses if required.
120660 2005-08-12  Simon Josefsson  <jas@extundo.com>
120662         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
120663         ssize_t.
120665 2005-08-12  Simon Josefsson  <jas@extundo.com>
120667         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
120668         readline, getdelim and check_version.
120669         (Support for systems lacking ISO C 99: Sizes of integer types):
120670         Add size_max.
120672 2005-08-12  Bruno Haible  <bruno@clisp.org>
120674         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
120676 2005-08-11  Simon Josefsson  <jas@extundo.com>
120678         * modules/readline: New file.
120680         * modules/strnlen (Files): Add strnlen.h.
120682 2005-08-11  Simon Josefsson  <jas@extundo.com>
120684         * m4/readline.m4: New file.
120686 2005-08-11  Simon Josefsson  <jas@extundo.com>
120688         * lib/readline.h, readline.c: New file.
120690 2005-08-11  Simon Josefsson  <jas@extundo.com>
120692         * doc/gnulib.texi (Initial import, Finishing touches): Mention
120693         gl_AVOID.
120695 2005-08-11  Bruno Haible  <bruno@clisp.org>
120697         * lib/strnlen.h (strnlen): Change parameter name to match comment.
120699 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
120701         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
120703 2005-08-10  Simon Josefsson  <jas@extundo.com>
120705         * tests/test-iconvme.c: New file.
120707 2005-08-10  Simon Josefsson  <jas@extundo.com>
120709         * m4/strnlen.m4: New file.
120711         * m4/strndup.m4: Don't check for strnlen declaration, done in
120712         strnlen.m4.
120714 2005-08-10  Simon Josefsson  <jas@extundo.com>
120716         * lib/strndup.c: Use strnlen.h.
120718         * lib/strnlen.h: New file.
120720 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120722         * README: Typos.
120724 2005-08-02  Simon Josefsson  <jas@extundo.com>
120726         * modules/readline: New file.
120728 2005-08-02  Simon Josefsson  <jas@extundo.com>
120730         * modules/getdelim: New file.
120732         * modules/getline: Rewrite, don't use getndelim2.
120734 2005-08-02  Simon Josefsson  <jas@extundo.com>
120736         * m4/getline.m4: Separate out getdelim stuff into separate module.
120738         * m4/getdelim.m4: New file.
120740 2005-08-02  Simon Josefsson  <jas@extundo.com>
120742         * lib/getline.h, getline.c: Rewrite.
120744         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
120746 2005-07-31  Bruno Haible  <bruno@clisp.org>
120748         * lib/lock.h (gl_lock_initializer): New macro.
120749         (gl_lock_define_initialized): Use it.
120750         (gl_rwlock_initializer): New macro.
120751         (gl_rwlock_define_initialized): Use it.
120752         (gl_recursive_lock_initializer): New macro.
120753         (gl_recursive_lock_define_initialized): Use it.
120755 2005-07-30  Karl Berry  <karl@gnu.org>
120757         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
120758         Report from Ben Pfaff, regarding getopt.
120760 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
120762         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
120763         normal way.
120764         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
120765         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
120766         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
120767         (gl_GETOPT): Use the new macros.  Most of the implementation
120768         is moved to the new macros.  This is for programs like Emacs
120769         that don't want all the functionality of gl_GETOPT.
120771 2005-07-26  Bruno Haible  <bruno@clisp.org>
120773         * m4/lock.m4: Update from GNU gettext.
120775 2005-07-26  Bruno Haible  <bruno@clisp.org>
120777         * lib/lock.h: Update from GNU gettext.
120778         * lib/lock.c: Update from GNU gettext.
120780 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
120782         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
120783         obsolescent AC_TRY_RUN.  Include the default includes files, for
120784         'exit'.
120786 2005-07-24  Bruno Haible  <bruno@clisp.org>
120788         * modules/visibility: New file.
120789         * MODULES.html.sh (Misc): Add visibility.
120791 2005-07-24  Bruno Haible  <bruno@clisp.org>
120793         * m4/visibility.m4: New file.
120795 2005-07-24  Bruno Haible  <bruno@clisp.org>
120797         * doc/visibility.texi: New file.
120799 2005-07-22  Bruno Haible  <bruno@clisp.org>
120801         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
120802         $(ALLOCA_H), redundant through BUILT_SOURCES.
120803         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
120804         redundant through BUILT_SOURCES.
120805         * modules/byteswap (Makefile.am): Remove explicit dependency on
120806         $(BYTESWAP_H), redundant through BUILT_SOURCES.
120807         * modules/fnmatch (Makefile.am): Remove explicit dependency on
120808         $(FNMATCH_H), redundant through BUILT_SOURCES.
120809         * modules/getopt (Makefile.am): Remove explicit dependency on
120810         $(GETOPT_H), redundant through BUILT_SOURCES.
120811         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
120812         redundant through BUILT_SOURCES.
120813         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
120814         redundant through BUILT_SOURCES.
120815         * modules/stdbool (Makefile.am): Remove explicit dependency on
120816         $(STDBOOL_H), redundant through BUILT_SOURCES.
120817         * modules/stdint (Makefile.am): Remove explicit dependency on
120818         $(STDINT_H), redundant through BUILT_SOURCES.
120819         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
120820         Remove explicit dependency on $(SYSEXITS_H).
120821         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
120823 2005-07-18  Simon Josefsson  <jas@extundo.com>
120825         * lib/check-version.c (check_version): Accept identical versions too.
120827 2005-07-18  Bruno Haible  <bruno@clisp.org>
120829         * modules/lock: New file.
120830         * MODULES.html.sh (Multithreading): New section.
120832 2005-07-18  Bruno Haible  <bruno@clisp.org>
120834         * m4/lock.m4: New file, from GNU gettext.
120836 2005-07-18  Bruno Haible  <bruno@clisp.org>
120838         * lib/lock.h: New file, from GNU gettext.
120839         * lib/lock.c: New file, from GNU gettext.
120841 2005-07-18  Bruno Haible  <bruno@clisp.org>
120843         * lib/lock.h (gl_once_t): New type.
120844         (gl_once_define, gl_once): New macros.
120845         * lib/lock.c (fresh_once): New variable.
120846         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
120847         functions.
120849 2005-07-16  Simon Josefsson  <jas@extundo.com>
120851         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
120852         workaround, suggested by Bruno.
120854 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
120856         * modules/xalloc (Depends-on): Add xalloc-die.
120857         * modules/xvasprintf (Depends-on): Add xalloc-die.
120859 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
120861         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
120862         with a minor change.
120864 2005-07-15  Bruno Haible  <bruno@clisp.org>
120866         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
120867         When using lib/poll.c, define poll as rpl_poll.
120869 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
120871         * modules/argp (Depends-on): Remove unlocked-io.
120873 2005-07-14  Derek Price  <derek@ximbiot.com>
120875         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
120876         for glob symlink bug.
120878 2005-07-14  Bruno Haible  <bruno@clisp.org>
120880         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
120881         Instead, test for *_unlocked function declarations directly.
120883 2005-07-11  Simon Josefsson  <jas@extundo.com>
120885         * modules/size_max: New file.
120887         * modules/xsize: Depend on size_max module for size_max.m4.
120889 2005-07-11  Simon Josefsson  <jas@extundo.com>
120891         * lib/size_max.h: New file.
120893 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
120895         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
120896         copyright symbol and the year.
120897         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
120898         (version_etc_va): Use parameterized copyright notice.
120899         Reword to conform to the current GNU coding standards.
120901 2005-07-11  Karl Berry  <karl@gnu.org>
120903         * doc/gnulib.texi (Quoting): new node.
120904         (Initial import): more info, from Patrice.
120906 2005-07-11  Bruno Haible  <bruno@clisp.org>
120908         * gnulib-tool (func_usage): Document option --avoid.
120909         (Command line options): Handle --avoid.
120910         (func_acceptable): New function.
120911         (func_modules_transitive_closure): Use it.
120913 2005-07-11  Bruno Haible  <bruno@clisp.org>
120915         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
120916         Reported by Jim Meyering.
120918 2005-07-10  Bruno Haible  <bruno@clisp.org>
120920         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
120921         Needed when size_t is smaller than 'unsigned int'.
120922         Reported by Paul Eggert.
120924 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
120926         * modules/argp (Depends-on): Add unlocked-io
120928 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
120930         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
120931         block of defines.
120933 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
120935         * config/srclist.txt: Comment out regcomp.c, since we have a porting
120936         fix now.
120938 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
120939         and Paul Eggert  <eggert@cs.ucla.edu>
120941         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
120942         in wint_t, not wchar_t.  Remove now-unnecessary cast.
120944 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
120946         * modules/regex (Files): Add lib/regex_internal.c,
120947         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
120948         (Depends-on): Add extensions.
120949         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
120951 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
120953         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
120954         pathconf.
120955         * m4/same.m4 (gl_SAME): Likewise.
120956         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
120958         * m4/regex.m4: Adjust to new libc regex implementation.
120959         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
120960         all the .c and .h parts of (the new) regex.
120961         Quote the m4 stuff better.
120962         Check for RE_ICASE bug of old gnulib.
120963         Check for REG_STARTEND of recent libc.
120964         Rename local variables from jm_* to gl_*.
120965         Quote operand of "test -f".
120966         Say "recent enough" version of libc, not "version 2".
120967         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
120968         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
120969         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
120970         Remove check for btowc, isascii.
120971         Require AM_LANGINFO_CODESET.
120973 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
120975         * lib/regex.c, regex.h: Sync from libc.
120976         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
120977         * lib/regexec.c:
120978         New files, synced from libc, except that regex_internal.h
120979         currently has a small porting fix.
120981 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
120983         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
120984         regex_internal.c, regexec.c.
120985         Add regex_internal.h too, but as a comment, since the libc version
120986         is currently broken in gnulib mode.
120988 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
120990         Support programs like Emacs that use gnulib but not gettext.
120991         * MODULES.html.sh (Internationalization functions): Add gettext-h.
120992         * modules/gettext-h: New file.
120993         * modules/gettext (Files): Remove lib/gettext.h.
120994         (Depends-on): Add gettext-h.
120995         (Makefile.am): Remove lib_SOURCES.
120996         * modules/argmatch, modules/c-stack, modules/closeout:
120997         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
120998         * modules/execute, modules/file-type, modules/getaddrinfo:
120999         * modules/getopt, modules/human, modules/javacomp:
121000         * modules/javaexec, modules/mkdir-p, modules/obstack:
121001         * modules/openat, modules/pagealign_alloc, modules/pipe:
121002         * modules/quotearg, modules/regex, modules/rpmatch:
121003         * modules/unicodeio, modules/userspec, modules/version-etc:
121004         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
121005         * modules/xsetenv:
121006         Depend on gettext-h, not gettext.
121008 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
121010         * gnulib-tool (func_import): Add support for 'public domain' license.
121011         * modules/alloca, modules/atexit, modules/memmove:
121012         Now public domain, not GPL.
121013         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
121014         * modules/realloc, modules/strerror, modules/strtod:
121015         Now LGPL, not GPL.
121017 2005-07-05  Bruno Haible  <bruno@clisp.org>
121019         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
121020         autoconf CVS. Needed for mingw.
121022 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121024         Remove the dependency of the strftime module on the tzset module.
121025         * modules/strftime (Depends-on): Remove dependency on tzset.
121027 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121029         Remove the dependency of the strftime module on the tzset module.
121030         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
121031         gl_FUNC_TZSET_CLOBBER.
121033 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121035         Remove the dependency of the strftime module on the tzset module.
121036         * lib/strftime.c (my_strftime)
121037         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
121038         Copy the input structure, to work around some of the bug with
121039         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
121040         Solaris releases, you should also use the tzset module, but we won't
121041         require it as a dependency any more since we don't want LGPLed code
121042         to depend on GPLed code.
121044 2005-07-02  Jim Meyering  <jim@meyering.net>
121046         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
121047         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
121048         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
121049         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
121051 2005-07-02  Jim Meyering  <jim@meyering.net>
121053         * lib/backupfile.c (backup_args): Change a `0' to NULL.
121055 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
121057         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
121058         declares only 'struct timespec;' (!).
121060 2005-07-01  Jim Meyering  <jim@meyering.net>
121062         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
121063         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
121064         * lib/save-cwd.c, tempname.c:
121065         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
121066         and don't include <sys/file.h>).
121068 2005-06-29  Jim Meyering  <jim@meyering.net>
121070         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
121071         type name.  Use the variable name instead.
121072         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
121073         Likewise.
121075 2005-06-28  Simon Josefsson  <jas@extundo.com>
121077         * modules/check-version (Files): Add check-version.m4.
121079 2005-06-28  Simon Josefsson  <jas@extundo.com>
121081         * m4/check-version.m4: New file, suggested by Jim Meyering
121082         <jim@meyering.net>.
121084 2005-06-28  Simon Josefsson  <jas@extundo.com>
121086         * lib/check-version.h, lib/check-version.c: New files.
121088 2005-06-28  Simon Josefsson  <jas@extundo.com>
121090         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
121091         collision with global variable.  Better indentation.  Don't
121092         increment buffer pointer beyond buffer end.  Based on comments
121093         from Paul Eggert <eggert@cs.ucla.edu>.
121095         * lib/base64.h: Indent.
121097 2005-06-28  Simon Josefsson  <jas@extundo.com>
121099         * doc/gnulib.texi (Library version handling): New section.
121101 2005-06-28  Jim Meyering  <jim@meyering.net>
121103         * check-module (find_included_lib_files): Hard-code another
121104         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
121105         but modules/fts-lgpl (correctly) does not list those files.
121107         * modules/canonicalize (Files): Add lib/pathmax.h.
121109 2005-06-25  Simon Josefsson  <jas@extundo.com>
121111         * modules/check-version: New file.
121113 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
121115         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
121116         initializer of struct addrinfo, as an indication that we don't
121117         care how many members the structure has.
121119 2005-06-24  Derek Price  <derek@ximbiot.com>
121120         and Bruno Haible  <bruno@clisp.org>
121122         Remove stat module & update lstat.
121123         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
121124         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
121125         * m4/stat.m4: Remove this file.
121127 2005-06-24  Derek Price  <derek@ximbiot.com>
121128         and Bruno Haible  <bruno@clisp.org>
121130         Remove stat module & update lstat.
121131         * lib/stat.c: Remove this file...
121132         (slash_aware_lstat): ...moving this content and its support...
121133         * lib/lstat.c (rpl_lstat): ...into here.
121134         * lib/lstat.h: New file.
121136 2005-06-24  Derek Price  <derek@ximbiot.com>
121137         and Bruno Haible  <bruno@clisp.org>
121139         Remove stat module & update lstat.
121140         * config/srclist.txt (libc sources): Remove stat.
121142 2005-06-24  Derek Price  <derek@ximbiot.com>
121143         and Bruno Haible  <bruno@clisp.org>
121145         Remove stat module & update lstat.
121146         * MODULES.html.sh (stat): Remove.
121147         * MODULES.html: Regenerated.
121148         * modules/lstat (Description): Correct function name.
121149         (Files): Add "lstat.h".
121150         (Depends-on): Remove stat, add xalloc, stat-macros.
121151         * modules/stat: Remove this file.
121152         (Include): Add "lstat.h", remove <sys/stat.h>.
121154 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
121156         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
121157         (ranged_convert): Don't save conversion in a temporary struct.
121158         This causes a warning with GCC 4.0.0, and anyway in the typical
121159         case it's not worth the extra 100 bytes or so of code.
121160         (ranged_convert, __mktime_internal): When calling a function via a
121161         pointer P, use P () rather than (*P) (), as we now assume C89 or
121162         better.
121164 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
121166         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
121167         "who -r" failed to give output.  Problem reported by Tim Waugh.
121169         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
121170         (xcalloc): Use it to avoid needless tests.
121171         Problem reported by Jim Meyering.
121173 2005-06-20  Derek Price  <derek@ximbiot.com>
121175         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
121176         unnecessary for Autoconfs > 2.59c.
121178 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121180         * lib/argp.h (__option_is_short): Check upper limit of
121181         __key. Isprint() requires its argument to have the value
121182         of an unsigned char or EOF.
121184 2005-06-16  Jim Meyering  <jim@meyering.net>
121186         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
121187         when either N or S is zero.
121189 2005-06-16  Derek Price  <derek@ximbiot.com>
121191         * m4/bison.m4: Declare YACC & YFLAGS precious.
121193 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
121195         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
121196         multibyte string or pattern, fall back on unibyte matching.
121197         Problem reported by James Youngman.
121199 2005-06-08  Bruno Haible  <bruno@clisp.org>
121201         * modules/csharpcomp: New file.
121202         * MODULES.html.sh (C#): Add csharpcomp.
121204 2005-06-08  Bruno Haible  <bruno@clisp.org>
121206         * m4/csharpcomp.m4: New file, from GNU gettext.
121208 2005-06-08  Bruno Haible  <bruno@clisp.org>
121210         * lib/csharpcomp.h: New file, from GNU gettext.
121211         * lib/csharpcomp.c: New file, from GNU gettext.
121212         * lib/csharpcomp.sh.in: New file, from GNU gettext.
121214 2005-06-08  Bruno Haible  <bruno@clisp.org>
121216         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
121217         warning on mingw.
121219 2005-06-07  Derek Price  <derek@ximbiot.com>
121221         Sync from CVS.
121222         * lib/glob_.h: Indent nested #ifdef.
121224 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121226         Sync from coreutils.
121227         Use "file name" when talking about file names, instead of "filename"
121228         or "path", as per the GNU coding standards.
121229         * lib/mkdir-p.c: Renamed from makepath.c.
121230         (make_dir_parents): Renamed from make_path.  All callers changed.
121231         * lib/mkdir-p.h: Likewise.  All includers changed.
121232         * lib/filenamecat.c: Renamed from path-concat.c.
121233         (file_name_concat): Renamed from path_concat.  All callers changed.
121234         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
121235         * lib/filenamecat.h: Likewise.  All includers changed.
121236         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
121237         in comments or local variable names.
121238         * lib/basename.c: Likewise.
121239         * lib/canonicalize.c, canonicalize.h: Likewise.
121240         * lib/dirname.c, dirname.h: Likewise.
121241         * lib/euidaccess.c: Likewise.
121242         * lib/exclude.c: Likewise
121243         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
121244         * lib/fsusage.c, fsuage.h: Likewise.
121245         * lib/fts.c, fts_.h: Likewise.
121246         * lib/getcwd.c: Likewise.
121247         * lib/getloadavg.c: Likewise.
121248         * lib/mkstemp.c: Likewise.
121249         * lib/mountlist.c, mountlist.h: Likewise.
121250         * lib/openat.c, openat.h: Likewise.
121251         * lib/readlink-stub.c: Likewise.
121252         * lib/readutmp.c, readutmp.h: Likewise.
121253         * lib/rename.c: Likewise.
121254         * lib/rmdir.c: Likewise.
121255         * lib/same.c: Likewise.
121256         * lib/savedir.c: Likewise.
121257         * lib/stripslash.c: Likewise.
121258         * lib/tempname.c: Likewise.
121259         * lib/xreadlink.c: Likewise.
121260         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
121261         All uses changed.
121262         * lib/exclude.h: Likewise.
121264         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
121265         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121266         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
121267         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121268         * lib/pathmax.h: Include <limits.h> unconditionally, since other
121269         files have been getting away with it for years (MORE/BSD 4.3
121270         is extinct now).
121271         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
121272         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121274         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
121275         Define to 256, not 255, as per modern POSIX.
121277 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121279         Sync from coreutils.
121280         Use "file name" when talking about file names, instead of "filename"
121281         or "path", as per the GNU coding standards.
121282         * MODULES.html.sh: mkdir-p renamed from makepath.
121283         filenamecat renamed from path-concat.
121284         * modules/filenamecat: Renamed from modules/path-concat.
121285         (Files): filenamecat.h and filenamecat.c renamed from
121286         path-concat.h and path-concat.c.
121287         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
121288         (Include): filenamecat.h, not path-concat.h.
121289         * modules/mkdir-p: Renamed from modules/makepath.
121290         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
121291         makepath.c.
121292         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
121293         (Include): mkdir-p.h, not makepath.h.
121295 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121297         Sync from coreutils.
121298         * m4/mkdir-p.m4: Renamed from makepath.m4.
121299         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
121300         Rename files from makepath.c to mkdir-p.c, and from
121301         makepath.h to mkdir-p.h.
121302         * m4/filenamecat.m4: Renamed from path-concat.m4.
121303         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
121304         Rename files from path-concat.c to filenamecat.c,
121305         and from path-concat.h to filenamecat.h.
121306         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
121307         "file name" in local variables or comments.
121308         * m4/rename.m4: Likewise.
121310 2005-06-01  Bruno Haible  <bruno@clisp.org>
121312         * modules/csharpexec: New file.
121313         * MODULES.html.sh (C#): New section.
121315 2005-06-01  Bruno Haible  <bruno@clisp.org>
121317         * m4/csharp.m4: New file, from GNU gettext.
121318         * m4/csharpexec.m4: New file, from GNU gettext.
121320 2005-06-01  Bruno Haible  <bruno@clisp.org>
121322         * lib/csharpexec.h: New file, from GNU gettext.
121323         * lib/csharpexec.c: New file, from GNU gettext.
121324         * lib/csharpexec.sh.in: New file, from GNU gettext.
121326 2005-05-31  Derek Price  <derek@ximbiot.com>
121327             Paul Eggert  <eggert@cs.ucla.edu>
121329         Sync from cvs.
121330         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
121332 2005-05-31  Derek Price  <derek@ximbiot.com>
121333             Paul Eggert  <eggert@cs.ucla.edu>
121335         Sync from cvs.
121336         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
121338 2005-05-29  Derek Price  <derek@ximbiot.com>
121340         * config/srclist.txt (glob_.h, glob.c): Add these files.
121342 2005-05-29  Derek Price  <derek@ximbiot.com>
121344         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
121345         * modules/glob: New file.
121346         * modules/getlogin_r: Add link to POSIX spec in description.
121348 2005-05-29  Derek Price  <derek@ximbiot.com>
121349             Paul Eggert  <eggert@cs.ucla.edu>
121351         * m4/glob.m4: New file.
121353 2005-05-29  Derek Price  <derek@ximbiot.com>
121354             Paul Eggert  <eggert@cs.ucla.edu>
121356         * lib/glob_.h, lib/glob.c: New files.
121358 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121360         * modules/fts (Files): Remove m4/inttypes-pri.m4.
121361         * modules/fts-lgpl (Depends-on): Remove gettext.
121363 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121365         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
121366         and don't require gt_INTTYPES_PRI.
121368 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121370         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
121372         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
121373         the configuration hassle isn't worth it.
121374         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
121375         (LONGEST_MODIFIER, PRIuMAX): Remove.
121377 2005-05-27  Bruno Haible  <bruno@clisp.org>
121379         * lib/getlogin_r.h: Remove second include of <stddef.h>.
121381 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
121383         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
121384         _POSIX_PTHREAD_SEMANTICS for Solaris.
121386 2005-05-25  Derek Price  <derek@ximbiot.com>
121388         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
121390 2005-05-25  Derek Price  <derek@ximbiot.com>
121391             Paul Eggert  <eggert@cs.ucla.edu>
121393         * modules/getlogin_r, m4/getlogin_r.m4: New files.
121394         * lib/getlogin_r.c, getlogin_r.h: New files.
121396 2005-05-25  Bruno Haible  <bruno@clisp.org>
121397             Derek Price  <derek@ximbiot.com>
121399         * lib/getlogin_r.h: Simplify API documentation.
121401 2005-05-23  Derek Price  <derek@ximbiot.com>
121403         * modules/minmax (Files): Add m4/minmax.m4.
121404         (configure.ac): Add gl_MINMAX.
121406 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
121408         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
121409         so that unistd-safer.h (GPL'ed code) need not be included.
121411 2005-05-22  Bruno Haible  <bruno@clisp.org>
121413         * m4/minmax.m4: New file.
121414         Based on a patch by Derek Price <derek@ximbiot.com>.
121416 2005-05-22  Bruno Haible  <bruno@clisp.org>
121418         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
121419         (INT64_MIN): Fix definition.
121420         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
121422         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
121423         NEED_SIGNED_INT_TYPES.
121425         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
121426         HAVE_SYSTEM_INTTYPES.
121428 2005-05-22  Bruno Haible  <bruno@clisp.org>
121430         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
121431         Also include <sys/param.h> if it defines MIN, MAX.
121432         Based on a patch by Derek Price <derek@ximbiot.com>.
121434 2005-05-21  Jim Meyering  <jim@meyering.net>
121436         * modules/fts (Files): Add m4/inttypes-pri.m4.
121437         (Depends-on): Add lstat and remove gettext.  Alphabetize.
121439 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121441         New fts module.
121442         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
121443         (setup_dir, free_dir): New functions.
121444         (enter_dir, leave_dir): Define trivial
121445         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
121446         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
121447         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
121448         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
121449         Move to fts-cycle.c.
121450         (fts_open): Use setup_dir.
121451         (fts_close): Use free_dir.
121452         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
121453         This adds a label and some gotos, but the alternatives were messier.
121454         Check for memory allocation failure when entering a dir.
121455         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
121456         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
121457         (FTS): New member fts_cycle, that is a union that contains the
121458         old active_dir_ht and cycle_state.  All uses changed to mention
121459         fts_cycle.ht and fts_cycle.state.
121460         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
121461         fts.c, with the following changes:
121462         (setup_dir, free_dir): New functions.
121463         (enter_dir): Now returns bool.  Return true if successful, false
121464         if memory exhausted.  All callers changed.
121465         Do not bother partly cleaning up on
121466         memory allocation failure; that is free_dir's job.
121467         However, free ad if hash_insert fails, to avoid memory leak.
121468         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
121469         fts->fts_options to see which union member to use.
121471 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121473         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
121474         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
121476 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121478         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
121480 2005-05-20  Jim Meyering  <jim@meyering.net>
121482         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
121483         Now a macro, to pacify GCC.
121485 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
121487         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
121488         of -1.
121490 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
121492         * lib/chown.c (rpl_chown): Return -1 on failure.
121494 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
121496         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
121497         Don't check for stddef.h.
121498         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
121499         don't use its results.
121500         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
121501         since we include them unconditionally.  Don't require
121502         AM_STDBOOL_H, since stdbool is a prerequisite.
121503         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
121504         since we assume C89 or better.
121505         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
121506         as we don't use their results.
121507         Don't check for fchdir, memmove, memset, strrchr, as we use
121508         them unconditionally.
121509         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
121510         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
121512 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
121514         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
121515         Include <stddef.h> unconditionally, since we assume C89 now.
121516         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
121517         * lib/fts.c: Include fts_.h first, to check interface.
121518         Do not include intprops.h; no longer needed.
121519         Include cycle-check.h and hash.h, since fts_.h no longer does.
121520         Remove unnecessary casts of closedir to void.
121521         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
121522         decide whether to decrement nlinks.
121523         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
121524         (FTS): Use struct hash_table * instead of Hash_table, so that
121525         we no longer need to include hash.h here.
121527 2005-05-18  Jim Meyering  <jim@meyering.net>
121529         * modules/dirfd (License): Change to LGPL.  Most of the code
121530         is already in the public domain.
121532 2005-05-18  Jim Meyering  <jim@meyering.net>
121534         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
121535         Reported by Yoann Vandoorselaere.
121537 2005-05-17  Jim Meyering  <jim@meyering.net>
121539         * m4/fts.m4: New file, from coreutils.
121541 2005-05-17  Jim Meyering  <jim@meyering.net>
121543         * lib/fts.c, lib/fts_.h: New files, from coreutils.
121545 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121547         Sync from coreutils.
121548         * m4/unlinkdir.m4: New file.
121550 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121552         Sync from coreutils.
121553         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
121554         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
121555         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
121556         White space changes only.
121557         * lib/makepath.c (make_path): Port to hosts where leading "//" is
121558         special.
121559         * lib/yesno.c: Include getline.h, not ctype.h.
121560         (yesno): Don't remove leading white space; POSIX doesn't allow it.
121561         Use getline to remove arbitrary restriction on response length.
121563 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121565         * config/srclist-update: Spell out "Street" in FSF postal
121566         mail address; this is the style the FSF seems to prefer.
121568         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
121569         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
121570         this updates FSF postal mail address.
121572         Sync from coreutils.
121573         * modules/unlinkdir: New file.
121574         * modules/yesno (Depends-on): Add getline.
121575         * MODULES.html.sh (File system functions): Add unlinkdir.
121577 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
121579         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
121580         lib/strsep.h:
121581         Change the initial comment to refer to GPL, not LGPL.
121582         gnulib-tool will change it to LGPL as needed.
121584         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
121585         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
121586         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
121587         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
121588         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
121589         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
121590         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
121591         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
121592         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
121593         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
121594         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
121595         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
121596         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
121597         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
121598         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
121599         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
121600         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
121601         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
121602         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
121603         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
121604         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
121605         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
121606         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
121607         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
121608         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
121609         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
121610         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
121611         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
121612         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
121613         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
121614         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
121615         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
121616         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
121617         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
121618         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
121619         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
121620         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
121621         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
121622         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
121623         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
121624         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
121625         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
121626         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
121627         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
121628         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
121629         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
121630         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
121631         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
121632         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
121633         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
121634         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
121635         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
121636         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
121637         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
121638         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
121639         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
121640         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
121641         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
121642         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
121643         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
121644         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
121645         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
121646         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
121647         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
121648         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
121649         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
121650         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
121651         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
121652         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
121653         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
121654         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
121655         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
121656         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
121657         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
121658         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
121659         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
121660         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
121661         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
121662         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
121663         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
121664         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
121665         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
121666         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
121667         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
121668         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
121669         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
121670         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
121671         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
121672         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
121673         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
121674         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
121675         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
121676         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
121677         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
121678         lib/yesno.c, lib/yesno.h:
121679         Update FSF postal mail address.
121681 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
121683         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
121684         tests/test-memmem.c, tests/test-stpncpy.c:
121685         Update FSF postal mail address.
121687 2005-05-13  Bruno Haible  <bruno@clisp.org>
121689         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
121690         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
121691         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
121692         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
121693         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
121694         Add support for 64-bit integers in the MSVC compiler.
121696 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121698         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
121700 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
121702         * gnulib-tool (func_import): Sort and uniquify recommended includes.
121704 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
121706         * doc/getdate.texi (General date syntax): Don't say that date
121707         date --iso-8601=ns generates acceptable dates; it doesn't yet.
121708         Problem reported by Nic Ferrier.
121710 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121712         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
121713         specified in ai_socktype. Fix invalid ai_protocol
121714         check. ai_protocol is usually set to 0 or depending on
121715         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
121716         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
121717         ai_socktype / ai_protocol in the returned addrinfo structure.
121719 2005-05-10  Simon Josefsson  <jas@extundo.com>
121721         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
121722         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
121724 2005-05-10  Karl Berry  <karl@gnu.org>
121726         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
121727         (from http://www.gnu.org/licenses).
121728         * doc/COPYING.LIB: also rename to COPYING.LESSER.
121729         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
121730         fdl.texi suffices.
121732 2005-05-10  Karl Berry  <karl@gnu.org>
121734         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
121735         (COPYING.DOC): remove.
121737         * config/srclist-update: new FSF address.
121739 2005-05-10  Derek Price  <derek@ximbiot.com>
121741         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
121742         possible.
121744 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121745             Bruno Haible  <bruno@clisp.org>
121747         * modules/inet_ntop: New file.
121748         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
121749         inet_ntop.
121751 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121752             Bruno Haible  <bruno@clisp.org>
121754         * m4/inet_ntop.m4: New file.
121756 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121757             Bruno Haible  <bruno@clisp.org>
121759         * lib/inet_ntop.h: New file.
121760         * lib/inet_ntop.c: New file, from glibc with modifications.
121762 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
121764         * modules/time_r (License): Change to LGPL.
121765         * modules/extensions (License): Change to LGPL.  Actually,
121766         the license is more permissive than that, but currently gnulib-tool
121767         doesn't know how to handle more-permissive licenses.
121769         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
121770         Problem reported by Dave Love.
121772 2005-05-08  Jim Meyering  <jim@meyering.net>
121774         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
121775         blank.
121777 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
121779         * modules/argmatch (Depends-on): Add stdbool.
121780         * modules/backupfile (Depends-on): Likewise.
121781         * modules/chdir-long (Depends-on): Likewise.
121782         * modules/closeout (Depends-on): Likewise.
121783         * modules/cycle-check (Depends-on): Likewise.
121784         * modules/dirname (Depends-on): Likewise.
121785         * modules/fnmatch (Depends-on): Likewise.
121786         * modules/fsusage (Depends-on): Likewise.
121787         * modules/fwriteerror (Depends-on): Likewise.
121788         * modules/getcwd (Depends-on): Likewise.
121789         * modules/getloadavg (Depends-on): Likewise.
121790         * modules/hard-locale (Depends-on): Likewise.
121791         * modules/makepath (Depends-on): Likewise.
121792         * modules/mountlist (Depends-on): Likewise.
121793         * modules/nanosleep (Depends-on): Likewise.
121794         * modules/posixtm (Depends-on): Likewise.
121795         * modules/quotearg (Depends-on): Likewise.
121796         * modules/readtokens (Depends-on): Likewise.
121797         * modules/readtokens0 (Depends-on): Likewise.
121798         * modules/readutmp (Depends-on): Likewise.
121799         * modules/save-cwd (Depends-on): Likewise.
121800         * modules/strftime (Depends-on): Likewise.
121801         * modules/userspec (Depends-on): Likewise.
121802         * modules/utimecmp (Depends-on): Likewise.
121803         * modules/xgetcwd (Depends-on): Likewise.
121804         * modules/xnanosleep (Depends-on): Likewise.
121805         * modules/xstrtod (Depends-on): Likewise.
121806         * modules/yesno (Depends-on): Likewise.
121808 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
121810         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
121811         needless checks.
121813 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
121815         Merge from coreutils.  Among other things,
121816         add bulletproofing for cases where stdin, stdout, or stderr are closed.
121817         * lib/fd-safer.c: New file.
121818         * lib/fcntl-safer.h, open-safer.c: Remove.
121819         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
121820         * lib/dup-safer.c: Include unistd-safer.h first.
121821         Don't include errno.h.
121822         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
121823         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
121824         * lib/file-type.c: Rely on file-type.h change.
121825         * lib/getloadavg.c: Include unistd-safer.h.
121826         (getloadavg): Use safer open.
121827         * lib/getusershell.c: Include "stdio-safer.h".
121828         (getusershell): Use safer fopen.
121829         * lib/long-options.c (long_options): Use NULL rather than 0.
121830         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
121831         'free'.
121832         * lib/modechange.c: Likewise.
121833         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
121834         (MODE_DONE): New constant.
121835         (struct mode_change): Remove 'next' member.
121836         (make_node_op_equals): New function; like the old one of the
121837         same name, except it allocates an array.
121838         (mode_compile, mode_create_from_ref): Use it.
121839         (mode_compile): Allocate result as an array, not a linked list.
121840         Parse octal string ourself, so that we catch mistakes like "+0".
121841         (mode_adjust): Arg is an array, not a linked list.
121842         * lib/modechange.c: Include stat-macros.h, xalloc.h.
121843         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
121844         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
121845         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
121846         Remove.  This is now stat-macros.h's job.
121847         (talloc): Remove.  All callers replaced by xalloc, so that
121848         our invokers don't have to worry about reporting memory failures.
121849         (make_node_op_equals): Remove.
121850         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
121851         New constants.
121852         (struct mode_change): Moved here from modechange.h.
121853         (mode_append_entry): Remove.
121854         (mode_compile): Remove MASKED_OPS arg, since it encouraged
121855         apps to have incorrect behavior.  Use simpler algorithm for head
121856         and tail.  Don't futz with umask; that's now the job of mode_adjust.
121857         Detect more invalid usages rather than having somewhat-random behavior.
121858         Don't insert an "a=" action, as that leads to incorrect behavior.
121859         (mode_compile, mode_create_from_ref): Return NULL on error instead
121860         of an enum, since now there's only one way to have an error.  All
121861         callers changed.
121862         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
121863         at the correct time.  Simplify calculation of "+u" and its ilk.
121864         Don't mishandle "+X".
121865         (mode_free): Remove "register" and localize decls.
121866         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
121867         (struct mode_change): Move to modechange.c; callers don't
121868         need to see this stuff.
121869         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
121870         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
121871         (mode_change, mode_adjust): Reflect the new signatures noted above.
121872         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
121873         that might redefine system include files.
121874         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
121875         (my_usleep): Use NULL rather than (void *) 0.
121876         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
121877         Use siginterrupt to specify that system calls should be interrupted.
121878         (rpl_nanosleep): Move initialization of suspended closer to call of
121879         my_usleep.
121880         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
121881         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
121882         (desirable_utmp_entry): New function.
121883         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
121884         using x2nrealloc, to simplify logic.
121885         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
121886         size calculation.  Do not assume utmp file is a regular file.
121887         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
121888         (READ_UTMP_CHECK_PIDS): New constant.
121889         * lib/save-cwd.c: Include unistd-safer.h.
121890         (save_cwd): Use fd_safer.
121891         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
121892         [!_LIBC] Include "stat-macros.h" instead.
121893         * lib/unistd-safer.h (fd_safer): New decl.
121895 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
121897         * modules/getloadavg (Depends-on): Add unistd-safer.
121898         * modules/getusershell (Depends-on): Add stdio-safer.
121899         * modules/lstat (Depends-on): Remove xalloc.
121900         * modules/mkstemp (Depends-on): Add stat-macros.
121901         * modules/modechange (Depends-on): Remove xstrtol.
121902         Add stat-macros, xalloc.
121903         * modules/save-cwd (Depends-on): Add unistd-safer.
121904         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
121905         * modules/unistd-safer (Files): Add lib/fd-safer.c
121906         (Makefile.am): Remove lib_SOURCES.
121908         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
121909         Remove fcntl-safer; unistd-safer supersedes it.
121911 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
121913         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
121914         AC_HEADER_STAT.
121915         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
121916         (gl_PREREQ_CHOWN): Remove.
121917         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
121918         it.  Don't require AC_HEADER_STAT.
121919         (gl_PREREQ_LSTAT): Remove.
121920         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
121921         Don't require AC_HEADER_STAT.
121922         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
121923         (gl_PREREQ_RMDIR): Remove.
121924         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
121925         mention stat-macros.h or AC_HEADER_STAT, since we'll make
121926         the stat-macros module a prerequisite.
121927         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
121928         * m4/filemode.m4 (gl_FILEMODE): Likewise.
121929         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
121930         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
121931         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
121932         variable names.
121933         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
121934         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
121935         variable prefixes.
121936         * m4/fcntl-safer.m4: Remove.
121937         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
121938         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
121939         Invoke gl_PREREQ_FD_SAFER.
121940         (gl_PREREQ_FD_SAFER): New macro.
121941         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
121942         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
121943         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
121944         Remove duplicate call to AC_LIBOBJ(readutmp).
121945         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
121947         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
121948         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
121950 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
121952         * MODULES.html.sh (Misc): Add byteswap.
121954 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
121956         * modules/getcwd (Depends-on): Add extensions.
121957         * modules/openat (Depends-on): Likewise.
121959 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
121961         * modules/byteswap: New file.
121963 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
121965         * m4/byteswap.m4: New file.
121967 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
121969         * lib/byteswap_.h: New file.
121971 2005-04-25  Karl Berry  <karl@gnu.org>
121973         * m4/gettext.m4: Update from GNU gettext 0.14.4.
121975 2005-04-25  Albert Chin  <china@thewrittenword.com>
121977         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
121978         Toolkit C bug.
121980 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
121982         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
121983         (func_ln_if_changed): Remove forcibly for no error message
121984         in case file does not exist.
121986 2005-04-19  Simon Josefsson  <jas@extundo.com>
121988         * gnulib-tool (Options): Make --symlink mean --symbolic.
121990 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
121992         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
121994 2005-04-16  Simon Josefsson  <jas@extundo.com>
121996         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
121998 2005-04-15  Simon Josefsson  <jas@extundo.com>
122000         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
122002 2005-04-15  Simon Josefsson  <jas@extundo.com>
122004         * gnulib-tool: Rename --symlink to --symbolic.
122006 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
122008         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
122009         symbolic links to files instead of copying/moving.  Add --aux-dir,
122010         specifying directory relative --dir where auxiliary build tools
122011         are placed.
122013 2005-04-14  Bruno Haible  <bruno@clisp.org>
122015         * modules/allocsa (License): Change to LGPL.
122016         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
122018 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
122020         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
122021         that "UTC +1 second" continues to work.  Problem reported
122022         by Dmitry V. Levin.
122023         (relunit_snumber): New rule.
122024         (relunit): Use it.
122026 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
122028         * lib/getdate.y (universal_time_zone_table): New constant.
122029         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
122030         universal_time_zone_table.
122031         (lookup_zone): Prefer universal_time_zone_table to
122032         local_time_zone_table, so that "GMT" time stamps are allowed in
122033         London during the summer.  Problem reported by Ian Abbott.
122035 2005-04-12  Jim Meyering  <jim@meyering.net>
122037         * lib/human.c (humblock): Set *options even when returning due to
122038         xstrtoumax conversion failure.  Thanks to a used-uninitialized
122039         warning from gcc-4.
122041 2005-04-09  Jim Meyering  <jim@meyering.net>
122043         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
122044         -Wuninitialized: initialize tm0.tm_year.
122046 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
122048         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
122049         count, since there's no maximum.  All uses changed.
122050         Add member dsts_seen.
122051         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
122052         not being INT_MAX.
122053         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
122054         Use pc_rels_seen to decide whether a date is absolute.
122056         * lib/getdate.y (number): Don't overwrite year.
122057         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
122058         check.
122060 2005-04-02  Simon Josefsson  <jas@extundo.com>
122062         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
122063         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
122065 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
122067         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
122068         where no absolute path name can be longer than PATH_MAX.
122070 2005-03-27  Jim Meyering  <jim@meyering.net>
122072         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
122074 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
122076         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
122077         "one's complement" -> "ones' complement" in comment, as per Knuth.
122078         "value of type" -> "type or expression" in comment.
122079         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
122081 2005-03-26  Jim Meyering  <jim@meyering.net>
122083         Comment nits.
122084         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
122085         Correct typos: s/or/of/.
122087 2005-03-26  Jim Meyering  <jim@meyering.net>
122089         * modules/check-include-files: Move to ../ and rename to...
122090         * check-module: ...this.
122092 2005-03-25  Jim Meyering  <jim@meyering.net>
122094         * modules/xvasprintf (Files): Add xalloc.h.
122096 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
122098         * modules/gettext (Files): config/config.rpath ->
122099         build-aux/config.rpath
122100         * modules/iconv (Files): Likewise.
122101         Problem reported by Oskar Liljeblad.
122103 2005-03-23  Jim Meyering  <jim@meyering.net>
122105         * modules/check-include-files: New script to check for
122106         missing dependencies, multiple includes, etc.
122108         * modules/c-strtold (Depends-on): Add xalloc.
122109         * modules/c-strtod (Depends-on): Add xalloc.
122110         * modules/hash (Depends-on): Add xalloc.
122111         (Files): Remove lib/xalloc.h.
122113         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
122114         * modules/userspec (Files): Add lib/inttostr.h.
122116 2005-03-23  Jim Meyering  <jim@meyering.net>
122118         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
122120 2005-03-22  Jim Meyering  <jim@meyering.net>
122122         * modules/stat-macros: New module.
122123         * modules/canonicalize, modules/euidaccess, modules/file-type,
122124         * modules/filemode, modules/lchown, modules/makepath,
122125         * modules/rmdir, modules/stat: Depend on new stat-macros module
122126         rather than listing lib/stat-macros.h manually.
122127         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
122129 2005-03-22  Jim Meyering  <jim@meyering.net>
122131         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
122133 2005-03-22  Bruno Haible  <bruno@clisp.org>
122135         * config/srclist.txt: Replace target directory 'config' with
122136         'build-aux'.
122137         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
122138         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
122139         ../build-aux/.
122141 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
122143         * modules/chdir-long (Depends-on): Add mempcpy.
122145         * modules/acl, modules/backupfile, modules/c-strtod,
122146         modules/c-strtold, modules/canon-host, modules/canonicalize,
122147         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
122148         modules/exclude, modules/exitfail, modules/file-type,
122149         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
122150         modules/getdate, modules/getline, modules/getpagesize,
122151         modules/getpass, modules/getugroups, modules/group-member,
122152         modules/hard-locale, modules/hash, modules/human, modules/idcache,
122153         modules/inttostr, modules/long-options, modules/makepath,
122154         modules/md5, modules/memcasecmp, modules/memcoll,
122155         modules/modechange, modules/mountlist, modules/path-concat,
122156         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
122157         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
122158         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
122159         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
122160         modules/strftime, modules/strndup, modules/strverscmp,
122161         modules/timespec, modules/unlocked-io, modules/userspec,
122162         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
122163         modules/yesno:
122164         Remove lib_SOURCES line from Makefile.am section, as this is now
122165         done automatically by the corresponding Autoconf macro.
122167 2005-03-21  Jim Meyering  <jim@meyering.net>
122169         Changes imported from coreutils.
122171         * lib/cycle-check.c: Don't include xalloc.h.
122173         * lib/path-concat.c: Don't include assert.h.
122174         (path_concat): Remove assertion that would have triggered
122175         for ABASE starting with more than one slash.
122176         Reported by Andreas Schwab.
122178         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
122179         properly when ABASE is an absolute file name.
122180         Correct the description of this function.
122181         Include <assert.h>.
122182         Add an assertion and a test driver.
122183         This fixes a bug introduced on 2004-07-02.
122184         Andreas Schwab reported the resulting failure of cp --parents:
122185         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
122187 2005-03-21  Jim Meyering  <jim@meyering.net>
122189         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
122190         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
122192 2005-03-21  Jim Meyering  <jim@meyering.net>
122193         and  Paul Eggert  <eggert@cs.ucla.edu>
122195         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
122196         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
122197         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
122198         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
122199         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
122200         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
122201         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
122202         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
122203         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
122204         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
122205         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
122206         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
122207         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
122208         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
122209         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
122210         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
122211         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
122212         for these modules.
122214 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
122216         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
122217         (which shouldn't happen), generate nothing instead of returning 0
122218         immediately, so that nstrftime (NULL, ...) doesn't return 0.
122220 2005-03-16  Bruno Haible  <bruno@clisp.org>
122222         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
122223         HAVE_LONGLONG_64BIT.
122225 2005-03-16  Bruno Haible  <bruno@clisp.org>
122227         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
122228         HAVE_LONGLONG_64BIT.
122230 2005-03-16  Bruno Haible  <bruno@clisp.org>
122232         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
122233         HAVE_LONGLONG_64BIT.
122235 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122237         * lib/strftime.c (my_strftime): Prepend space to format so that we can
122238         reliably distinguish strftime failure from empty output on POSIX
122239         hosts.
122241 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122243         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
122244         (iconv_string): Don't guess a size-zero buffer, as that might cause
122245         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
122246         result would be 'too large', where 'too large' is (heuristically)
122247         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
122248         overflow concerns.  This will prevent some unwanted malloc failures
122249         when the inputs are very large.
122251 2005-03-15  Karl Berry  <karl@gnu.org>
122253         * config/srclist.txt (config.rpath): from gettext.
122254         * config/config.rpath: update.
122256 2005-03-15  Bruno Haible  <bruno@clisp.org>
122258         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
122259         to 'negate'.
122261         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
122262         variable.
122264         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
122265         results.
122267 2005-03-14  Simon Josefsson  <jas@extundo.com>
122269         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
122270         <fx@gnu.org>.
122272 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
122274         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
122275         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
122276         intprops.h.
122277         * lib/strtol.c: Likewise.
122279 2005-03-14  Jim Meyering  <jim@meyering.net>
122281         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
122282         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
122283         to be nonzero so that we (and caller) can detect the difference
122284         between a valid zero-length expansion and an error return, even
122285         when the underlying strftime fails before writing anything into
122286         that location.
122288 2005-03-14  Bruno Haible  <bruno@clisp.org>
122290         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
122291         Update from GNU gettext 0.14.3.
122293 2005-03-10  Jim Meyering  <jim@meyering.net>
122295         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
122297 2005-03-10  Jim Meyering  <jim@meyering.net>
122299         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
122300         so that this module works on systems without fchdir.
122302 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
122304         Factor int-properties macros into a single file, except for
122305         glibc-related files.
122306         * lib/intprops.h: New file.
122307         * lib/getloadavg.c: Include it instead of limits.h.
122308         (INT_STRLEN_BOUND): Remove.
122309         * lib/human.c: Include intprops.h.
122310         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
122311         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
122312         302/1000.
122313         * lib/inttostr.h: Include intprops.h instead of limits.h.
122314         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
122315         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
122316         for consistency with intprops.h.
122317         (time_t_is_integer, twos_complement_arithmetic): Use them.
122318         * lib/sig2str.h: Include <signal.h>, intprops.h.
122319         (INT_STRLEN_BOUND): Remove.
122320         * lib/strftime.c (TYPE_SIGNED): Remove.
122321         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
122322         * lib/strtol.c: Adjust comments to match intprops.h.
122323         * lib/userspec.c: Include intprops.h.
122324         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
122325         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
122326         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
122327         instead of rolling our own expressions.
122328         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
122330         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
122331         instead of int.
122332         (my_strftime): Do not mishandle years close to INT_MAX, by doing
122333         the right thing even if adding 1900 would overflow.  Similarly
122334         for tm_mon + 1 and tm_yday + 1.
122335         Make %Y always equivalent to %C%y, and similarly for %G and %g.
122336         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
122337         (DO_SIGNED_NUMBER): New macro.
122338         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
122340 2005-03-07  Bruno Haible  <bruno@clisp.org>
122342         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
122344 2005-03-07  Bruno Haible  <bruno@clisp.org>
122346         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
122348 2005-03-04  Derek R. Price  <derek@ximbiot.com>
122350         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
122351         (func_import): Only replace files via --import when they have actually
122352         changed.
122354 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122356         * m4/mmap-anon.m4: New file.
122357         * m4/pagealign_alloc.m4: New file.
122359 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122360             Bruno Haible  <bruno@clisp.org>
122362         * modules/pagealign_alloc: New file.
122363         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
122365 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122366             Bruno Haible  <bruno@clisp.org>
122368         * lib/pagealign_alloc.h: New file.
122369         * lib/pagealign_alloc.c: New file.
122371 2005-03-03  Bruno Haible  <bruno@clisp.org>
122373         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
122374         Use an all-permissive copyright notice, recommended by RMS.
122376 2005-03-02  Bruno Haible  <bruno@clisp.org>
122378         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
122379         of AIX, the replacement has to be done only after <string.h> is
122380         included, therefore not in config.h. stpncpy.h does the replacement,
122381         and stpncpy.c uses it.
122383 2005-03-02  Bruno Haible  <bruno@clisp.org>
122385         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
122386         stpncpy.c uses it.
122388 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122390         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
122391         The workaround isn't strictly needed for POSIX conformance, and
122392         it's too much of a pain to configure and maintain.  We'll ask
122393         people to fix their kernels instead.
122394         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
122395         (NANOSLEEP_BUG_WORKAROUND): Remove.
122396         (xnanosleep): Remove the workaround.
122398 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122400         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
122401         Reported by Derek Price.
122402         (Include): Add "timespec.h".
122404         * modules/xnanosleep (Depends-on): Remove gethrxtime.
122406 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122408         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
122409         to detect nanosleep bug.
122411 2005-03-01  Bruno Haible  <bruno@clisp.org>
122413         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
122415 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
122417         * modules/gethrxtime: New file.
122418         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
122419         (Depends-on): Add gethrxtime.
122420         (configure.ac): Add gl_XNANOSLEEP.
122421         (Makefile.am): Remove lib_SOURCES line.
122423 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
122425         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
122426         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
122428 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
122430         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
122431         * lib/timespec.h (gettime): Return void, since it always
122432         succeeds now.  All uses changed.
122433         * lib/gettime.c (gettime): Likewise.
122434         [HAVE_NANOTIME]: Prefer nanotime.
122435         Assume gettimeofday succeeds, as POSIX requires.
122436         Assime time () succeeds, since other code already does.
122437         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
122438         (timespec_subtract): Remove.
122439         (NANOSLEEP_BUG_WORKAROUND): New constant.
122440         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
122441         things considerably.  Use it only on GNU/Linux hosts, since the
122442         workaround shouldn't be needed elsewhere.
122444 2005-02-24  Bruno Haible  <bruno@clisp.org>
122446         * modules/gettext (Files): Add m4/glibc2.m4.
122448 2005-02-24  Bruno Haible  <bruno@clisp.org>
122450         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
122451         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
122452         * m4/progtest.m4:
122453         Update from GNU gettext 0.14.2.
122454         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
122456 2005-02-24  Bruno Haible  <bruno@clisp.org>
122458         * lib/localcharset.c: Update from GNU gettext 0.14.2.
122459         * lib/config.charset: Update from GNU gettext 0.14.2.
122461 2005-02-24  Bruno Haible  <bruno@clisp.org>
122463         * lib/gettext.h: Update from GNU gettext 0.14.2.
122465 2005-02-23  Simon Josefsson  <jas@extundo.com>
122467         * m4/iconvme.m4: New file.
122469 2005-02-23  Jim Meyering  <jim@meyering.net>
122471         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
122472         change.
122473         Thanks to Bruno Haible for catching it.
122475 2005-02-22  Simon Josefsson  <jas@extundo.com>
122477         * modules/iconvme: New file.
122479         * MODULES.html.sh: Add iconvme.
122481 2005-02-22  Simon Josefsson  <jas@extundo.com>
122483         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
122485 2005-02-22  Simon Josefsson  <jas@extundo.com>
122487         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
122489 2005-02-22  Jim Meyering  <jim@meyering.net>
122491         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
122492         s/ifndef/ifdef/.
122494 2005-02-20  Neil Conway  <neilc@samurai.com>
122496         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
122497         returned by OSX/Darwin if the specified buffer is not large
122498         enough for the hostname.
122500 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122502         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
122503         pass it to _help, otherwise the latter coredumps trying to
122504         dereference state.root_argp.
122506 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122508         * modules/chdir-long (Depends-on): Add memrchr.
122509         * modules/memrchr (Files): Add lib/memrchr.h.
122510         (Include): "memrchr.h".
122512 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122514         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
122516 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122518         * lib/memrchr.h: New file.
122519         * lib/chdir-long.c: Include it.
122520         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
122521         Don't bother including stddef.h.
122523 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
122525         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
122526         inclusion.
122527         Include <sys/types.h>, for dev_t.
122528         (ME_DUMMY, ME_REMOTE): Move from here....
122529         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
122530         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
122531         Dmitry V. Levin.
122532         Include mountlist.h first, to test the interface.
122534 2005-01-29  Bruno Haible  <bruno@clisp.org>
122536         * lib/progname.c (program_name): Initialize.
122537         Needed when linking statically on MacOS X.
122539 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
122541         Sync from coreutils.
122542         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
122543         (Depends-on): Add c-strtod.
122544         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
122546 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
122548         Sync from coreutils.
122549         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
122551         Remove files that are specific to coreutils.
122552         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
122554 2005-01-28  Bruno Haible  <bruno@clisp.org>
122556         * modules/javacomp: New file.
122557         * MODULES.html.sh (Java): Add javacomp.
122559 2005-01-28  Bruno Haible  <bruno@clisp.org>
122561         * m4/javacomp.m4: New file, from GNU gettext.
122563 2005-01-28  Bruno Haible  <bruno@clisp.org>
122565         * lib/javacomp.sh.in: New file, from GNU gettext.
122566         * lib/javacomp.h: New file, from GNU gettext.
122567         * lib/javacomp.c: New file, from GNU gettext.
122569 2005-01-26  Simon Josefsson  <jas@extundo.com>
122571         * lib/gai_strerror.c: Use GPL in header.
122573 2005-01-26  Bruno Haible  <bruno@clisp.org>
122575         * modules/javaexec: New file.
122576         * MODULES.html.sh (Java): Add javaexec.
122578 2005-01-26  Bruno Haible  <bruno@clisp.org>
122580         * m4/javaexec.m4: New file, from GNU gettext.
122582 2005-01-26  Bruno Haible  <bruno@clisp.org>
122584         * lib/javaexec.sh.in: New file, from GNU gettext.
122585         * lib/javaexec.h: New file, from GNU gettext.
122586         * lib/javaexec.c: New file, from GNU gettext.
122588 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122590         * modules/lchown (Depends-on): Remove lchown.h
122592 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122594         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
122595         must be defined if the header file was not found, in order
122596         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
122598 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122600         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
122601         initializers for struct pentry_state.
122602         (__argp_error): Check return value of __asprintf
122603         (__argp_failure): Translate error message
122605         * lib/argp-parse.c: Removed braces around the expansion of N_()
122607 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
122609         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
122610         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
122611         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
122612         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
122613         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
122614         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
122615         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
122616         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
122617         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
122618         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
122619         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
122620         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
122621         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
122622         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
122623         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
122624         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
122625         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
122626         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
122627         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
122628         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
122629         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
122630         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
122631         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
122632         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
122633         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
122634         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
122635         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
122636         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
122637         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
122638         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
122639         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
122640         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
122641         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
122642         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
122643         xstrtol.m4, xstrtoumax.m4, yesno.m4:
122644         Use an all-permissive copyright notice, recommended by RMS.
122646 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
122648         * modules/chdir-long (Depends-on): Remove mempcpy.
122650 2005-01-21  Jim Meyering  <jim@meyering.net>
122652         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
122653         same value as for Solaris 9.
122655         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
122656         component length.  This included changing the parameter to be
122657         of type `char *' rather than `char const *'.
122658         * lib/chdir-long.h (chdir_long): Update prototype.
122660         * lib/openat.c (fdopendir, fstatat): New functions.
122661         * lib/openat.h: Include headers required for use of DIR and struct
122662         stat.
122663         [AT_SYMLINK_NOFOLLOW]: Define.
122664         (fdopendir, fstatat): Add prototypes.
122666 2005-01-21  Bruno Haible  <bruno@clisp.org>
122668         * modules/classpath: New file.
122669         * MODULES.html.sh (Java): Add classpath.
122671 2005-01-21  Bruno Haible  <bruno@clisp.org>
122673         * lib/classpath.h: New file, from GNU gettext.
122674         * lib/classpath.c: New file, from GNU gettext.
122676 2005-01-20  Simon Josefsson  <jas@extundo.com>
122678         * modules/version-etc-fsf: New file.
122680 2005-01-20  Simon Josefsson  <jas@extundo.com>
122682         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
122683         * lib/version-etc.c: Remove version_etc_copyright.
122684         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
122685         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
122687 2005-01-20  Simon Josefsson  <jas@extundo.com>
122689         * lib/base64.h (isbase64): Add.
122691         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
122692         using a unsigned prototype, don't inline.
122693         (base64_decode): Use it.
122695 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122697         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
122698         it.
122700 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122702         * lib/save-cwd.c (save_cwd): Remove code to support the case
122703         where fchdir is missing or flaky.
122705 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122707         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
122709 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
122711         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
122712         AC_LIBSOURCES now does this.
122713         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
122714         with new ullong_max module.
122716 2005-01-19  Bruno Haible  <bruno@clisp.org>
122718         * modules/sh-quote: New file.
122719         * MODULES.html.sh (Executing programs): Add sh-quote.
122721 2005-01-19  Bruno Haible  <bruno@clisp.org>
122723         * lib/sh-quote.h: New file, from GNU gettext.
122724         * lib/sh-quote.c: New file, from GNU gettext.
122726 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
122728         Merge from coreutils.
122729         * m4/ullong_max.m4: New file.
122730         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
122731         (gl_MACROS): Assume localeconv exists.
122733 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
122735         Merge changes from coreutils, as described below in several
122736         changelogs dated today.
122738         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
122739         (O_DIRECTORY): Remove; not needed here, since "." must be
122740         a directory.  All uses removed.
122741         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
122742         universal on Suns, and we also need to test for IRIX.
122743         Revamp code to use 'if' rather than '#if'.
122744         Avoid unnecessary comparison of cwd->desc to 0.
122746         * lib/utimens.c (futimens): Robustify the previous patch, by checking
122747         for known valid error numbers rather than observed invalid ones.
122749 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
122751         * modules/ullong_max: New file.
122753         * modules/chdir-long, modules/openat: New files.
122754         * modules/save-cwd (Depends-on): Depend on chdir-long.
122755         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
122757 2005-01-18  Jim Meyering  <jim@meyering.net>
122759         Merge from coreutils.
122760         * m4/chdir-long.m4, m4/openat.m4: New files.
122761         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
122762         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
122763         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
122764         is sane and DOES follow symlinks.  Besides, testing 20 different
122765         systems found no broken chown implementations.
122766         Prompted by a change in rsync's copy of this macro.
122767         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
122769         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
122771         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
122772         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
122773         NULL-means-set-to-current-time semantics.
122774         Remove temporary file immediately, rather than waiting
122775         for configure's at-exit trap code to do it.
122777 2005-01-18  Jim Meyering  <jim@meyering.net>
122779         * lib/version-etc.c (version_etc_copyright): Update copyright date.
122781         * lib/utimens.c (futimens): Account for the fact that futimes
122782         can also fail with errno == ENOSYS or errno == ENOENT.
122783         Patch from Dmitry V. Levin.
122785         Change the name of the robust chdir function from chdir to chdir_long.
122786         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
122787         (restore_cwd): Use chdir_long, not chdir.
122788         * lib/chdir-long.c: Renamed from chdir.c.
122789         * lib/chdir-long.h: Renamed from chdir.h.
122790         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
122791         Hurd.
122793 2005-01-18  Bruno Haible  <bruno@clisp.org>
122795         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
122796         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
122797         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
122798         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
122799         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
122800         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
122801         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
122802         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
122803         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
122804         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
122805         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
122806         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
122807         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
122808         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
122809         Use an all-permissive copyright notice, recommended by RMS.
122811 2005-01-18  Bob Proulx  <bob@proulx.com>
122813         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
122814         simplify offsetof() macro construct to avoid compile failure with
122815         native HP-UX 11.0 ANSI C compiler.
122817 2005-01-17  Bruno Haible  <bruno@clisp.org>
122819         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
122820         redundant because stpncpy.m4 takes care of it.
122822 2005-01-17  Bruno Haible  <bruno@clisp.org>
122824         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
122826 2005-01-17  Bruno Haible  <bruno@clisp.org>
122828         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
122829         used.
122831 2005-01-17  Bruno Haible  <bruno@clisp.org>
122833         * lib/fwriteerror.h (fwriteerror): Change specification to include
122834         fclose.
122835         * lib/fwriteerror.c: Include <stdbool.h>.
122836         (fwriteerror): At the end, close the file stream. Record whether
122837         stdout was already closed.
122839 2005-01-17  Bruno Haible  <bruno@clisp.org>
122841         * lib/execute.c (environ): Declare if needed.
122842         * lib/pipe.c (environ): Likewise.
122843         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
122845 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122847         * modules/argp: Depend on vsnprintf
122849 2005-01-10  Jim Meyering  <jim@meyering.net>
122851         * modules/closeout (Depends-on): Add atexit.
122853 2005-01-06  Bruno Haible  <bruno@clisp.org>
122855         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
122857 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
122859         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
122860         definitions to be after all include files, to avoid collisions.
122861         Problem reported by Bob Proulx.
122863 2005-01-04  Jim Meyering  <jim@meyering.net>
122865         Changes imported from coreutils.
122866         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
122867         as the mkstemp template, use a temporary directory and an
122868         8.3-friendly template to avoid trouble on systems like DJGPP.
122869         Reported by Juan M. Guerrero via Stepan Kasal.
122870         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
122871         close. Remove the temporary directory right away, rather than waiting
122872         for configure's at-exit trap code to do it.
122873         Suggestion from Stepan Kasal.
122875 2005-01-01  Simon Josefsson  <jas@extundo.com>
122877         * gnulib-tool: Print #include directives when --import'ing.
122879 2004-12-28  Simon Josefsson  <jas@extundo.com>
122881         * tests/test-base64.c: Include required header files.  Remove
122882         unused variables.
122884 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
122886         * modules/error (Depends-on): Remove gettext.
122888 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
122890         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
122891         not needed.  This removes a dependency on the gettext module.
122892         [defined _LIBC]: Do not include <libintl.h>; not needed.
122894 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
122896         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
122897         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
122899 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
122901         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
122902         HAVE_DECL_STRTOLD.
122904 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
122906         * modules/getdate (Depends-on): Remove alloca-opt.
122908 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
122910         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
122912 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
122914         * lib/argp-parse.c: Include <stddef.h>.
122915         (alignof, alignto): New macros.
122916         (parser_init): Don't assume that void * is aligned sufficiently
122917         for struct option.
122919         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
122920         need to extend the stack.
122921         (YYINITDEPTH): New macro, so that the initial stack isn't overly
122922         large.
122924 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122926         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
122928 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
122930         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
122931         (2004-10-24) change.  Apparently this was a false alarm.
122933         * modules/getdate: Depend on alloca-opt, not alloca.
122935 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
122937         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
122938         Remove now-obsolete comment about AIX.
122939         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
122940         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
122941         (YYMAXDEPTH): New macro.
122943 2004-12-18  Simon Josefsson  <jas@extundo.com>
122945         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
122947 2004-12-18  Bruno Haible  <bruno@clisp.org>
122949         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
122951 2004-12-18  Bruno Haible  <bruno@clisp.org>
122953         * lib/fatal-signal.c (fatal_signals): Make non-const.
122954         (init_fatal_signals): New function.
122955         (uninstall_handlers, install_handlers): Ignore signals that were set to
122956         SIG_IGN.
122957         (at_fatal_signal): Call init_fatal_signals.
122958         (init_fatal_signal_set): Likewise. Ignore signals that were set to
122959         SIG_IGN.
122960         Reported by Paul Eggert.
122962 2004-12-18  Bruno Haible  <bruno@clisp.org>
122964         * doc/alloca.texi: New file.
122965         * doc/alloca-opt.texi: New file.
122967 2004-12-17  Jim Meyering  <jim@meyering.net>
122969         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
122970         Otherwise, install-sh could exit with improper exit status when
122971         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
122973 2004-12-16  Simon Josefsson  <jas@extundo.com>
122975         * tests/test-base64.c: Add license.
122977 2004-12-15  Stepan Kasal  <address@hidden>
122979         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
122981 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
122983         * modules/getcwd (Files): Add m4/d-ino.m4.
122984         Suggested by Mark D. Baushke.
122986 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
122988         * lib/getdate.y (textint): New member "negative".
122989         (time_zone_hhmm): New function.
122990         Expect 14 shift-reduce conflicts, not 13.
122991         (o_colon_minutes): New rule.
122992         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
122993         (yylex): Set the "negative" member of signed numbers.
122995 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
122997         * doc/getdate.texi (Time of day items, Time zone items):
122998         Describe new formats +00:00, UTC+00:00.
123000 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
123002         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
123003         spurious "-l"s.  Problem reported by Stepan Kasal.
123005 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
123007         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
123008         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
123010 2004-12-04  Simon Josefsson  <jas@extundo.com>
123012         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
123013         Vandoorselaere <yoann@prelude-ids.org>.
123015 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123017         Changes imported from coreutils.
123018         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
123019         exist.
123020         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
123022 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123024         Changes imported from coreutils.
123025         * lib/hard-locale.c: Assume <locale.h> exists.
123026         Include "strdup.h".
123027         (GLIBC_VERSION): New macro.
123028         (hard_locale): Assume setlocale exists.
123029         Rewrite to avoid #ifdef.
123030         Use strdup rather than malloc + strcpy.
123031         * lib/human.c: Assume <locale.h> exists.
123032         (human_readable): Assume localeconv exists.
123034 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123036         * modules/hard-locale (Depends-on): Add strdup.
123038 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
123040         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
123041         convert T2, not T.  (Imported from libc.)
123043 2004-11-30  Simon Josefsson  <jas@extundo.com>
123045         * modules/restrict (License): Change to LGPL.
123047 2004-11-30  Simon Josefsson  <jas@extundo.com>
123049         * m4/restrict.m4: Add copyright and copying conditions.
123051 2004-11-30  Simon Josefsson  <jas@extundo.com>
123053         * m4/base64.m4: New file.
123055 2004-11-30  Simon Josefsson  <jas@extundo.com>
123057         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
123058         base64.
123060         * tests/test-base64.c: New file.
123062         * modules/base64: New file.
123064 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123066         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
123067         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
123069         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
123071 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123073         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
123074         (__getcwd.c): Don't restore errno; glibc doesn't.
123075         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
123076         first, falling back to our code only if its results look suspicious.
123077         Ensure that the resulting buffer is only as large as necessary.
123079         * lib/readutmp.c: Include readutmp.h first.
123080         Include <errno.h>, since readutmp.h no longer does that.
123081         * lib/readutmp.h: Don't include <errno.h>,
123082         <sys/param.h>, <time.h>; not needed to establish interface.
123083         (errno): Remove decl.
123084         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
123085         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
123086         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
123088 2004-11-28  Simon Josefsson  <jas@extundo.com>
123090         * lib/base64.h, base64.c: New file.
123092 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
123094         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
123096 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
123098         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
123099         (Depends-on): Remove pathmax, same.  Add mempcpy.
123100         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
123101         (Makefile.am): Append getcwd.h to lib_SOURCES.
123102         (Include): Add getcwd.h.
123103         (Maintainer): Change from Jim Meyering to "all, glibc",
123104         since getdate now uses intended-for-glibc code.
123105         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
123106         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
123108 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123110         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
123111         HP's ANSI C compiler.
123112         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
123113         Declaring int functions causes warnings on some modern systems and
123114         shouldn't be needed to compile on ancient ones.
123115         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
123116         defined.
123118         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
123119         with the following changes.
123120         (__set_errno): Parenthesize properly.
123121         Include <stdbool.h>.
123122         (MIN, MAX, MATCHING_INO): New macros.
123123         (__getcwd): Define with prototype, not K&R form.
123124         Use heuristics to allocate default buffer on stack if possible.
123125         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
123126         behavior, and to avoid the PATH_MAX limit when computing
123127         ../../../../...
123128         Use MATCHING_INO to compare inode number to file.
123129         Check for arithmetic overflow in size calculations.
123130         Fix bug in reallocation of dot array that caused getcwd to fail
123131         on directories nested deeper than 75.
123132         Be more careful about saving errno on error.
123133         Do not use realloc; use only free+malloc, as this is a bit
123134         more flexible and avoids a needless copy operation.
123135         Do not inspect st_dev and st_ino for symbolic links; POSIX
123136         doesn't specify the latter.
123137         Check for closedir errors.
123138         Avoid needless casts.
123139         Use "#ifdef weak_alias" around weak_alias, to be like other
123140         glibc code.
123141         The following changes to getcwd.c have effect only when used in
123142         gnulib; they have no effect inside glibc proper.
123143         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
123144         as alloca isn't used.
123145         (alloca, __alloca): Likewise.
123146         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
123147         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
123148         unconditionally, as gnulib assumes C89 or better.
123149         Do not include <sys/param.h>.
123150         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
123151         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
123152         better.
123153         (NULL) [!defined NULL]: Remove; we assume C89 or better.
123154         Include <dirent.h> in a way that is compatible with modern Autoconf.
123155         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
123156         New macros, if not already defined.
123157         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
123158         Use "_LIBC", not "defined _LIBC", for consistency.
123159         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
123160         a mempcpy module.
123161         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
123162         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
123163         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
123164         credit only to Jim Meyering and adjust the copyright dates.
123165         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
123166         <stdlib.h>, <unistd.h>, "pathmax.h".
123167         Instead, include "xgetcwd.h" (first) and "getcwd.h".
123168         (INITIAL_BUFFER_SIZE): Remove.
123169         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
123171 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123173         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
123174         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
123175         Use the _ONCE methods, for efficiency.
123176         Check for fcntl.h.  In test program, include <errno.h>
123177         and <fcntl.h> if available.  Remove old K&R cruft from
123178         test program.  Check for common errors in GNU/Linux,
123179         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
123180         don't do AC_LIBOBJ, as that's getcwd.m4's job.
123181         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
123182         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
123183         name accordingly.
123184         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
123185         accommodate new getcwd.c.
123186         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
123187         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
123188         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
123189         that's all we need now.
123191 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123193         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
123194         argp-parse.c depends on getopt internals, that means we should
123195         always use our getopt, to be on the safe side.
123196         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
123197         order not to spoil the result of an eventual previous invocation
123198         of gl_GETOPT_SUBSTITUTE.
123200 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123202         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
123203         redefinition warnings. To avoid them, include the defines
123204         in `#if !defined __need_getopt ... #endif'. The only place
123205         where __getopt_argv_const is used is in definitions
123206         of getopt_long and getopt_long_only below, which are as well
123207         protected by `#ifndef __need_getopt'.
123208         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
123209         __need_getopt after including <stdio.h> and <unistd.h> These
123210         headers might have defined it.
123212 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123214         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
123216 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123218         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
123219         (futimens): New function, which uses futimes if available.
123220         (futimens, utimens): Support timespec==NULL, with same semantics
123221         as utime and utimens.
123222         * lib/utimens.h (futimens): New decl.
123224 2004-11-23  Jim Meyering  <jim@meyering.net>
123226         * lib/getopt_.h: Remove trailing blanks.
123228 2004-11-23  Jim Meyering  <jim@meyering.net>
123230         * lib/__fpending.c: Add comment.
123232 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
123234         * modules/canonicalize (Depends-on): Add xreadlink.
123235         Problem reported by James Youngman.
123237 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123239         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
123240         New macros.
123241         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
123242         optopt): Use them instead of invoking ## directly; otherwise, the
123243         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
123245 2004-11-19  Bruno Haible  <bruno@clisp.org>
123247         * lib/strtok_r.c: Move comments from here...
123248         * lib/strtok_r.h: ... to here.
123250 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123252         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
123253         implementations that mishandle size_t overflow.
123255 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123257         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
123258         might fail.  Problem reported by Yoann Vandoorselaere.
123259         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
123260         implementations that mishandle size_t overflow.
123262 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123264         * modules/canon-host (Depends-on): Add strdup.
123266 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123268         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
123270 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123272         * lib/canon-host.c: Include "strdup.h".
123273         (canon_host): Use getaddrinfo if available, so that IPv6 works.
123274         Use strdup instead of malloc/strcpy to duplicate strings.
123276         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
123277         (human_space_before_unit): New constant.
123278         * lib/human.c (human_readable): Support it.
123280         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
123281         (xgetcwd): Set errno correctly when failing.
123282         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
123283         the failure is actually due to a PATH_MAX problem.
123285         Further getopt changes to make it more likely that glibc will
123286         buy the changes back.
123287         * lib/getopt.c (POSIXLY_CORRECT): New constant.
123288         (getopt): Use it, so to preserve glibc semantic
123289         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
123290         when compiling for libc.
123291         * lib/getopt_.h (__getopt_argv_const): Bring it back.
123292         (getopt_long, getopt_long_only): Use it.
123294         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123295         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
123296         (getopt): Argv is now char * const *, as per standard.
123297         (_getopt_internal_r, _getopt_internal): Argv is now char **,
123298         not char *__getopt_argv_const *.
123299         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123300         _getopt_long_only_r): Likewise.
123301         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
123302         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123303         _getopt_long_r, _getopt_long_only_r): Likewise.
123304         * lib/getopt_.h (__getopt_argv_const): Remove.
123305         (getopt): Argv is now char * const *, as per standard.
123307         * lib/getdate.y (tORDINAL): New token.
123308         (day, relunit): Allow it for relative times.
123309         (relative_time_table): Use tORDINAL for ordinals.
123311 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123313         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
123314         Document that "second" isn't allowed as an ordinal number.
123316 2004-11-16  Jim Meyering  <jim@meyering.net>
123318         * modules/closeout (Depends-on): Add fpending.
123320 2004-11-15  Jim Meyering  <jim@meyering.net>
123322         * lib/closeout.c: Include "__fpending.h" once again.
123323         Include <stdbool.h>.
123324         (close_stdout): Don't fail just because stdout was closed initially,
123325         since some programs don't write to stdout in the normal course of
123326         operation (other than --version and --help), and we don't want this
123327         function to make e.g. `touch file >&-' fail.
123328         But do fail if it was closed and someone has tried to write to it.
123329         E.g., `printf foo >&-' must fail.
123331 2004-11-13  Jim Meyering  <jim@meyering.net>
123333         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
123335 2004-11-12  Simon Josefsson  <jas@extundo.com>
123337         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
123338         small doc fix is still pending.
123340 2004-11-11  Simon Josefsson  <jas@extundo.com>
123342         * modules/strtok_r: New file.
123344         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123345         strtok_r.
123347 2004-11-11  Simon Josefsson  <jas@extundo.com>
123349         * m4/strtok_r.m4: New file.
123351         * m4/getopt.m4: Replace opterr.
123353 2004-11-11  Simon Josefsson  <jas@extundo.com>
123355         * lib/strtok_r.h, strtok_r.c: New file.
123357 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
123359         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
123360         of replacing opterr, getopt, etc.  This should handle the
123361         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
123363 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
123365         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
123366         we can stop lying to compilers about the constness of argv when we
123367         are compiled outside glibc.
123368         (getopt, getopt_long, getopt_long_only): Use it.
123369         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123370         _getopt_internal, getopt): Likewise.
123371         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123372         _getopt_long_only_r): Likewise.
123373         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123374         _getopt_long_r, _getopt_long_only_r): Likewise.
123376         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
123377         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
123378         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
123379         the other external symbols.
123380         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
123381         declaration, since the above renaming now works around collisions.
123383 2004-11-11  Jim Meyering  <jim@meyering.net>
123385         * lib/linebreak.c: Remove trailing blanks.
123386         * lib/alloca_.h: Likewise.
123387         * lib/acosl.c: Likewise.
123388         * lib/euidaccess.c: Likewise.
123389         * lib/allocsa.h: Likewise.
123391 2004-11-10  Simon Josefsson  <jas@extundo.com>
123393         * m4/getaddrinfo.m4: New file.
123395 2004-11-10  Simon Josefsson  <jas@extundo.com>
123397         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
123399 2004-11-10  Simon Josefsson  <jas@extundo.com>
123401         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123402         getaddrinfo.
123404         * modules/getaddrinfo: New file.
123406 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
123408         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
123410 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
123412         * lib/mktime.c (SHR): New macro, which is a portable
123413         substitute for >> that should work even on Crays.
123414         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
123415         Problem reported by Mark D. Baushke in
123416         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
123417         * lib/getdate.y (SHR): Likewise.
123418         (tm_diff): Use it.
123419         * lib/strftime.c (SHR): Likewise.
123420         (tm_diff): Use it.
123421         * lib/quotearg.c (struct quoting_options): Use unsigned int for
123422         quote_these_too, so that right shifts are well defined.  All uses
123423         changed.
123425 2004-11-10  Jim Meyering  <jim@meyering.net>
123427         Ensure that no close failure goes unreported.
123428         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
123429         return early when it seems there's nothing to flush.
123430         Don't include __fpending.h.
123432 2004-11-10  Jim Meyering  <jim@meyering.net>
123434         * modules/closeout (Depends-on): Remove fpending.
123436 2004-11-10  Jim Meyering  <jim@meyering.net>
123438         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
123440 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
123442         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
123443         gl_FUNC_STRFTIME.
123444         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
123445         and AC_REQUIRE when possible, to avoid duplicate checks.
123446         Check for <wchar.h>.
123448 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
123450         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
123452 2004-11-09  Bruno Haible  <bruno@clisp.org>
123454         * m4/sockpfaf.m4: New file.
123456 2004-11-05  Bruno Haible  <bruno@clisp.org>
123458         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
123459         Reported by Mark D. Baushke <mdb@cvshome.org>.
123461 2004-11-04  Bruno Haible  <bruno@clisp.org>
123463         2004-09-11  Bruno Haible  <bruno@clisp.org>
123464                 * allocsa.valgrind: New file.
123465         2004-02-06  Bruno Haible  <bruno@clisp.org>
123466                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
123467                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
123468                 Reported by Christopher Seip <chris.seip@hp.com>.
123470 2004-11-04  Bruno Haible  <bruno@clisp.org>
123472         * modules/allocsa (Files): Add lib/allocsa.valgrind.
123473         (Makefile.am): Distribute it.
123475 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
123477         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
123478         with errno == ERANGE if the buffer is too small.
123479         Problem reported by Mark D. Baushke.
123481 2004-11-03  Albert Chin  <china@thewrittenword.com>
123482             Paul Eggert  <eggert@cs.ucla.edu>
123484         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
123485         equivalent, substitute $ac_type for equivalent type rather than
123486         blindly using uint32_t *always* which won't work if uint32_t is not
123487         available.  Define _UINT32_T to work around typedef of uint32_t if
123488         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
123489         2.5.1.
123491 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123493         * m4/jm-macros.m4: Sync from coreutils.
123494         (gl_MACROS): Check for mbrlen, for pathchk.
123495         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
123497 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123499         * lib/xreadlink.c (MAXSIZE): New macro.
123500         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
123501         size does not exceed MAXSIZE.  Avoid cast.
123502         As suggested by Mark D. Baushke in
123503         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
123504         if readlink fails with buffer size just under MAXSIZE, try again
123505         with MAXSIZE.
123507 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123509         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
123511 2004-11-02  Derek R. Price  <derek@ximbiot.com>
123512         and  Paul Eggert  <eggert@cs.ucla.edu>
123514         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
123515         (get_date): Overparenthesize to avoid GCC warning.
123517 2004-11-02  Bruno Haible  <bruno@clisp.org>
123519         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
123520         returns void.
123522 2004-11-02  Bruno Haible  <bruno@clisp.org>
123524         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
123525         function returns void.
123527 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
123529         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
123530         fflush_unlocked, flockfile, funlockfile, funlockfile,
123531         fputs_unlocked, putc_unlocked.
123533 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
123535         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
123536         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
123537         already declared.
123539 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123541         * modules/getdate (Files): Add doc/getdate.texi.
123542         (Depends-on): Add setenv, xalloc.
123544 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123546         * lib/getdate.y: Add support for TZ="foo" within a date string.
123547         Fix some bugs near time_t boundaries.  Reject dates with
123548         out-of-range components, e.g., "Sept 31".
123549         Include <stdlib.h>, "setenv.h", "xalloc.h".
123550         (ISDIGIT_LOCALE): Remove; unused.
123551         Note that the TZ and time functions used here are not reentrant.
123552         (mktime_ok, get_tz): New functions.
123553         (TZBUFSIZE): New constant.
123554         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
123555         This requires that we sometimes generate our own TZ="XXX..." setting.
123557 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123559         * doc/getdate.texi: New file, from coreutils with modifications for
123560         the new TZ parsing.
123562 2004-10-27  Derek R. Price  <derek@ximbiot.com>
123564         * lib/mktime.c (not_equal_tm): Remove redundant check.
123566 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
123568         * modules/regex (lib_SOURCES): Add regex.c.
123569         Reported by James Youngman in
123570         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
123572 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
123574         * lib/getdate.y: Use Bison 1.875 features, and some minor
123575         code cleanups.  This change does not affect semantics.
123576         Don't include <stdlib.h>; no longer needed.
123577         Don't include unlocked-io.h; only the "#if TEST" code uses
123578         stdio, and performance isn't crucial there.
123579         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
123580         Bison 1.875 features as described below.
123581         All uses of "PC." replaced by "pc->".
123582         (YYSTYPE): Add a forward declaration.
123583         (yylex, yyerror): Use full prototypes in forward decls.
123584         Use "%pure-parser" rather than obsolescent "%pure_parser".
123585         Use %parse-param and %lex-param instead of obsolescent
123586         YYPARSE_PARAM and YYLEX_PARAM.
123587         (meridian_table, month_and_day_table, time_units_table,
123588         relative_time_table, time_zone_table, military_table,
123589         lookup_zone, lookup_word, get_date):
123590         Use NULL instead of 0 where appropriate.
123591         (to_hour): Avoid abort (), to avoid a dependency on
123592         stdlib.h.
123593         (yyerror, yylex): Now accepts parser_control * arg.
123594         (main) [TEST]: Use '\0' rather than 0 for char.
123596 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
123598         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
123600 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
123602         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
123603         It's now the caller's responsibility to handle the case where
123604         !HAVE_GETPAGESIZE && !defined getpagesize.
123606         * lib/mktime.c (leapyear): Arg is long int, not int.
123608 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
123610         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
123612 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
123614         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
123615         missing.  Problem reported by James Youngman.
123617 2004-10-16  Simon Josefsson  <jas@extundo.com>
123619         * gnulib-tool: Fix comments.  Fix parse problem.
123620         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
123622 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
123624         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
123625         implementation of getopt_long.  Problem reported by Alexander Taler in:
123626         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
123628 2004-10-15  Bruno Haible  <bruno@clisp.org>
123630         * gnulib-tool: Untabify. Initialize supplied_libname.
123631         (func_usage): More homogenous output.
123632         (func_modules_transitive_closure, func_modules_to_filelist,
123633         func_emit_lib_Makefile_am): New functions.
123634         (func_import): New function, extracted from big case statement. Use
123635         func_get_license, func_modules_transitive_closure,
123636         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
123637         opt_lgpl. Don't use test -a, as it's not portable.
123638         (func_create_testdir): Use func_modules_transitive_closure,
123639         func_modules_to_filelist, func_emit_lib_Makefile_am.
123641 2004-10-15  Bruno Haible  <bruno@clisp.org>
123643         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
123645 2004-10-15  Bruno Haible  <bruno@clisp.org>
123647         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
123648         the portions belonging to each module.
123649         Suggested by Derek Robert Price <derek@ximbiot.com>.
123651 2004-10-12  Simon Josefsson  <jas@extundo.com>
123653         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
123654         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
123655         to real functions.
123657 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123659         * modules/vsnprintf: New file.
123661 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123663         * m4/vsnprintf.m4: New file.
123665 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123667         * lib/vsnprintf.h: New file.
123668         * lib/vsnprintf.c: New file.
123670 2004-10-11  Bruno Haible  <bruno@clisp.org>
123672         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
123673         vsnprintf.
123675 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123677         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
123679 2004-10-07  Bruno Haible  <bruno@clisp.org>
123681         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
123682         fits into the provided buffer.
123684 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
123686         * lib/diacrit.c, diacrit.h: Add GPL notice.
123688         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
123689         notice.
123690         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
123691         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
123692         This avoids a potential constant-folding bug.
123694 2004-10-05  Bruno Haible  <bruno@clisp.org>
123696         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
123697         for the declaration of strsep.
123699 2004-10-05  Bruno Haible  <bruno@clisp.org>
123701         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
123703 2004-10-04  Simon Josefsson  <jas@extundo.com>
123705         * modules/memmem: New file.
123706         * tests/test-memmem.c: New file.
123707         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
123709 2004-10-04  Simon Josefsson  <jas@extundo.com>
123711         * m4/memmem.m4: New file.
123713 2004-10-04  Simon Josefsson  <jas@extundo.com>
123715         * lib/memmem.h: New file.
123716         * lib/memmem.c: New file, taken from glibc.
123718 2004-10-04  Simon Josefsson  <jas@extundo.com>
123720         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
123721         '#ifdef USE_UNLOCKED_IO'.
123723 2004-10-04  Simon Josefsson  <jas@extundo.com>
123725         * config/srclist.txt: Add memmem from glibc.
123727 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
123729         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
123731         * modules/argmatch, modules/argp, modules/closeout, modules/error,
123732         modules/exclude, modules/getdate, modules/getline,
123733         modules/getndelim2, modules/getpass, modules/getpass-gnu,
123734         modules/getusershell, modules/linebuffer, modules/md5,
123735         modules/mountlist, modules/posixtm, modules/readtokens,
123736         modules/readutmp, modules/regex, modules/sha1,
123737         modules/version-etc, modules/yesno:
123738         Remove dependency on unlocked-io.
123740 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
123742         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
123744         * m4/unlocked-io.m4: Add copyright notice.
123745         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
123747 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
123749         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
123750         * lib/xmalloc.c (xmemdup): Likewise.
123751         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
123752         XFREE): Remove these long-obsolescent macros.
123753         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
123754         * lib/xstrdup.c: Remove.
123756         * lib/regex.c (re_comp): Cast gettext return value to char *,
123757         Problem reported by Martin Neitzel via Mark D. Baushke.
123759 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
123761         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
123762         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
123763         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
123764         regex.c, sha1.c, version-etc.c, yesno.c:
123765         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
123766         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
123767         the includer's responsibility.
123769         Sync from coreutils.
123771         * lib/modechange.c (mode_compile): Don't decrement a pointer that
123772         points to the start of a string, as the C Standard says the
123773         resulting behavior is undefined.
123775         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
123776         simple -> simple_backups, numbered_existing ->
123777         numbered_existing_backups, numbered -> numbered_backups
123778         to avoid shadowing problems.  All uses changed.
123779         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
123780         * lib/backupfile.c (check_extension, numbered_backup):
123781         Rename locals to avoid shadowing 'basename'.
123782         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
123783         once.
123785         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
123786         * lib/.cvsignore: Add getopt.h.
123788 2004-10-04  Bruno Haible  <bruno@clisp.org>
123790         * modules/README: New file.
123791         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
123792         not a module.
123794 2004-10-02  Jim Meyering  <jim@meyering.net>
123796         * lib/dirfd.h, getpagesize.h: Add copyright notice.
123798 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123800         * modules/strsep: New file.
123802 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123804         * m4/strsep.m4: New file.
123806 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123808         * lib/strsep.h: New file.
123809         * lib/strsep.c: New file.
123811 2004-10-01  Simon Josefsson  <jas@extundo.com>
123813         * lib/snprintf.c (snprintf): Handle size==0.
123815 2004-10-01  Simon Josefsson  <jas@extundo.com>
123816             Bruno Haible  <bruno@clisp.org>
123818         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
123819         (snprintf): Declare 'args'.
123821 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
123823         * lib/snprintf.c: Remove comments as to why each header is needed.
123825 2004-10-01  Bruno Haible  <bruno@clisp.org>
123827         * MODULES.html.sh: Add strsep.
123829 2004-09-30  Simon Josefsson  <jas@extundo.com>
123831         * modules/snprintf: New file.
123833 2004-09-30  Simon Josefsson  <jas@extundo.com>
123835         * m4/snprintf.m4: New file.
123837 2004-09-30  Simon Josefsson  <jas@extundo.com>
123839         * lib/snprintf.h, lib/snprintf.c: New files.
123841 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123843         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
123844         (hol_entry_help): Never translate an empty string.
123845         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
123846         * lib/argp.h (OPTION_NO_TRANS): New option.
123848 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
123850         * modules/argp (Maintainer): Replace Simon Josefsson
123851         by Sergey Poznyakoff.
123853 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
123855         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
123856         changes merged back into glibc.
123858 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
123860         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
123862 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
123864         * lib/xvasprintf.c: Include xalloc.h.
123865         (xvasprintf): Use xalloc_die, not xmalloc_die.
123867 2004-09-29  Bruno Haible  <bruno@clisp.org>
123869         * modules/alloca-opt: New file, derived from modules/alloca.
123870         * modules/allocsa: Depend on alloca-opt instead of alloca.
123871         * modules/setenv: Likewise.
123872         * modules/vasnprintf: Likewise.
123873         * MODULES.html.sh: Add alloca-opt.
123875 2004-09-28  Simon Josefsson  <jas@extundo.com>
123877         * gnulib-tool: New parameter --lgpl, to asseert that modules are
123878         LGPL, and to replace license template from GPL to LGPL.
123880 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
123882         * modules/dummy: Change license to LGPL.
123884 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
123886         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
123888 2004-09-24  Simon Josefsson  <jas@extundo.com>
123890         * modules/minmax (License): Change from GPL to LGPL.
123892 2004-09-23  Simon Josefsson  <jas@extundo.com>
123894         * gnulib-tool (--import): Typo.
123896 2004-09-23  Simon Josefsson  <jas@extundo.com>
123898         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
123900 2004-09-22  Bruno Haible  <bruno@clisp.org>
123902         * modules/*: Add 'License' field.
123903         * gnulib-tool: Accept --extract-license option.
123904         (func_get_license): New function.
123906 2004-09-21  Bruno Haible  <bruno@clisp.org>
123908         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
123909         Reported by Simon Josefsson.
123911 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
123913         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
123914         gl_AC_TYPE_LONG_LONG.
123916 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
123918         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
123920 2004-09-18  Simon Josefsson  <jas@extundo.com>
123921         and  Paul Eggert  <eggert@cs.ucla.edu>
123923         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
123924         calls with autoreconf.  Define GL_LIB.
123926 2004-09-14  Karl Berry  <karl@gnu.org>
123928         * config/srclist.txt: unsync setenv.c, sigh.
123930 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
123932         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
123933         Problem reported by Bruno Haible in:
123934         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
123936 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
123938         * config/srclist.txt: Comment out argp-pvh.c.
123940 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
123942         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
123943         in case some system header has #define'd it.  Problem reported by
123944         Soeren D. Schulze in
123945         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
123947 2004-09-09  Karl Berry  <karl@gnu.org>
123949         * regex.[ch]: delete from the root.  These were supposed to be
123950                 synced with emacs cvs, but this has not happened for about
123951                 a year, and anyway nothing else uses emacs regex.[ch].
123952                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
123953                 lib/regex[.ch] is untouched.
123955 2004-09-09  Bruno Haible  <bruno@clisp.org>
123957         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
123959 2004-09-09  Bruno Haible  <bruno@clisp.org>
123961         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
123962         modifications.
123963         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
123965 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
123967         * modules/xvasprintf: New file.
123968         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
123970 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
123972         * lib/xvasprintf.h: New file.
123973         * lib/xvasprintf.c: New file.
123974         * lib/xasprintf.c: New file.
123976 2004-09-08  Bruno Haible  <bruno@clisp.org>
123978         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
123980 2004-09-08  Bruno Haible  <bruno@clisp.org>
123982         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
123983         length is > INT_MAX.
123984         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
123985         more.
123987 2004-09-08  Bruno Haible  <bruno@clisp.org>
123989         * lib/stdint_.h: New file, taken from GNU clisp.
123991 2004-09-08  Bruno Haible  <bruno@clisp.org>
123992             Oskar Liljeblad  <oskar@osk.mine.nu>
123994         * modules/stdint: New file.
123995         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
123997 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
123999         Import from coreutils.
124000         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
124001         strings on unbounded length.  alloca's performance benefits aren't
124002         that important here.
124003         (V_STRDUP): Remove.
124004         (parse_with_separator): New function, with most of the internals
124005         of the old parse_user_spec.  Allow user to omit both user and group,
124006         for compatibility with FreeBSD.
124007         Clone only the user name, not the entire spec.
124008         Do not set *uid, *gid unless entirely successful.
124009         Avoid memory leak in some failing cases.
124010         Fix regression for USER.GROUP reported by Dmitry V. Levin in
124011         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
124012         (parse_user_spec): Rewrite to use parse_with_separator.
124014 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124016         * modules/userspec: Don't depend on alloca.
124018 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124020         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
124022 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
124024         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
124025         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
124026         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
124028 2004-08-16  Simon Josefsson  <jas@extundo.com>
124030         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
124031         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
124032         Add --dry-run for --import.
124033         Let user provided command line parameters override configure.ac
124034         settings.
124036 2004-08-12  Simon Josefsson  <jas@extundo.com>
124038         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
124039         as discussed with Paul Eggert in threads rooted at
124040         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
124041         and
124042         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
124043         Before, the test was empty, and relied on ELIDE_CODE in source
124044         code.)
124045         (gl_PREREQ_GETOPT): New macro.
124046         (gl_GETOPT): Use them.
124048 2004-08-12  Simon Josefsson  <jas@extundo.com>
124050         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
124051         * lib/getopt_.h: Renamed from getopt.h.
124053 2004-08-12  Simon Josefsson  <jas@extundo.com>
124055         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
124056         Change default library name from libfoo to libgnu.
124057         Now, if you have a configure.ac that says:
124058                 gl_SOURCE_BASE(gl)
124059                 gl_M4_BASE(gl/m4)
124060                 gl_MODULES(error getopt etcetera)
124061                 gl_INIT
124062         you can import all you need by running:
124063                 ../gnulib/gnulib-tool --import
124065         * modules/getopt (Files): Rename getopt.h to getopt_.h.
124066         (Makefile.am): Rewrite, use logic from argz.
124067         (Include): Use <getopt.h> instead of "getopt.h".
124069 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124071         * modules/argp (Files): Add m4/unlocked-io.m4.
124072         (Depends-on): Add extensions.
124074 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124076         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
124077         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
124078         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
124079         Check for program_invocation_name, program_invocation_short_name,
124080         flockfile, funlockfile, features.h, _getopt_long_only_r.
124082 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124084         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
124085         its complicated substitute.
124086         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
124087         and program_invocation_name.
124088         (__argp_basename) [!_LIBC]: Remove; the only use was
124089         replaced by its body.
124090         (__argp_short_program_name): Change condition from
124091         !defined __argp_short_program_name to
124092         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
124093         to match argp-namefrob.h.
124094         (__argp_failure): Don't assume strerror_r returns char *.
124095         * lib/argp-parse.c (N_): Define unconditionally.
124096         (argp_default_options): Fill out initializers with 0 to avoid
124097         gcc warnings.
124099 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124101         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
124102         getopt1.c.
124104 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124106         Merge from coreutils.
124108         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
124110         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
124111         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
124113 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124115         Merge from coreutils.
124117         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
124118         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
124119         for Reliant Unix 5.43.
124121         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
124122         (union fooround): Use uintmax_t, not long int.
124123         The rest is a merge from libc:
124124         [defined _LIBC]: Include <shlib-compat.h>.
124125         (_obstack) [defined _LIBC]: Remove after 2.3.4.
124127         * lib/settime.c (settime): Recode to avoid warning with
124128         Sun Forte C 6U2.
124130         * lib/strverscmp.c: Convert to UTF-8.
124132 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124134         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
124135         m4/uintmax_t.m4.
124137 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124139         * modules/xalloc-die: New file.
124140         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
124142         * modules/md5 (Files): Add m4/uint32_t.m4.
124143         * modules/sha1: Renamed from modules/sha.
124144         (Files):
124145         Rename lib/sha.h to lib/sha1.h.
124146         Rename lib/sha.c to lib/sha1.c.
124147         Rename m4/sha.m4 to m4/sha1.m4.
124148         (lib_SOURCES): Likewise.
124149         (configure.ac): Rename gl_SHA to gl_SHA1.
124150         (Include): sha.h -> sha1.h.
124152 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124154         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
124155         * m4/sha1.m4: Renamed from sha.m4.
124156         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
124158 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124160         * lib/obstack.h (obstack_empty_p):
124161         Don't assume that chunk->contents is suitably aligned.
124162         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
124163         Likewise. Problem reported by Benno in
124164         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
124166         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
124167         readable.  This could be improved further but it'd take some work.
124169 2004-08-08  Simon Josefsson  <jas@extundo.com>
124171         * modules/xgethostname (Depends-on): Remove exit and error (not
124172         used).
124174         * modules/getpass-gnu: Add getpass.h.
124175         (Depends-on): Add stdbool.
124176         * modules/getpass: Add getpass.h.
124178 2004-08-08  Simon Josefsson  <jas@extundo.com>
124180         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
124181         Check getpass declaration.
124183 2004-08-08  Simon Josefsson  <jas@extundo.com>
124185         * lib/xgethostname.c: Don't include error.h (not used).
124187         * lib/getpass.h: Add.
124188         * lib/getpass.c: Include getpass.h first.
124190 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
124192         * lib/xalloc-die.c: New file.
124193         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
124194         All uses removed.
124195         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
124196         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
124197         xalloc-die.c.
124198         (_, N_, xalloc_die): Move to xalloc-die.c.
124199         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
124200         so that we needn't mess with xalloc_msg_memory_exhausted.
124202         * lib/sha1.h: Renamed from sha.h.
124203         (SHA1_H): Renamed from _SHA_H.
124204         (sha1_ctx): Renamed from sha_ctx.
124205         (sha1_init_ctx): Renamed from sha_init_ctx.
124206         (sha1_process_block): Renamed from sha_process_block.
124207         (sha1_process_bytes): Renamed from sha_process_bytes.
124208         (sha1_finish_ctx): Renamed from sha_finish_ctx.
124209         (sha1_read_ctx): Renamed from sha_read_ctx.
124210         (sha1_stream): Renamed from sha_stream.
124211         (sha1_buffer): Renamed from sha_buffer.
124212         * lib/sha1.c: Likewise; renamed from sha.c.
124213         Do not include <sys/types.h>.
124214         Include <stddef.h> rather than <stdlib.h>.
124216 2004-08-08  Bruno Haible  <bruno@clisp.org>
124218         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
124219         FILESYSTEM_PREFIX_LEN.
124220         * lib/progreloc.c: Likewise.
124221         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
124223 2004-08-06  Simon Josefsson  <jas@extundo.com>
124225         * modules/progname (Depends-on): Don't depend on stdbool.
124227 2004-08-06  Simon Josefsson  <jas@extundo.com>
124229         * modules/getsubopt: New file.
124230         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124231         getsubopt.
124233 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124235         More merge from coreutils.
124237         * m4/utimens.m4, m4/utimecmp.m4: New files.
124238         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
124239         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
124240         prereq.m4, sha.m4: Import changes from coreutils.
124242 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124244         More merge from coreutils.
124245         * modules/raise, modules/readtokens0, modules/utimens:
124246         * modules/utimecmp, module/xnanosleep: New files.
124247         * modules/strftime: Add lib/strftime.h.
124248         Change include from <time.h> to "strftime.h".
124249         * modules/yesno: Add lib/yesno.h.
124250         * modules/backupfile: Remove lib/addext.c.
124251         * modules/euidaccess: Add stat-macros.h.
124252         * modules/canonicalize, modules/euidaccess,
124253         modules/filemode, modules/lchown, modules/makepath,
124254         modules/rmdir, modules/stat: Likewise.
124256 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124258         Merge from tar.
124259         * lib/argp-help.c (make_hol, hol_append): Don't assume that
124260         SIZE_MAX is a valid preprocessor constant.
124261         (__argp_basename): Change from "#ifndef _LIBC"
124262         to "#ifndef __argp_short_program_name", so that
124263         we don't compile these functions for tar.
124265         More merges from coreutils.
124266         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
124267         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
124268         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
124269         * lib/addext.c: Remove; no longer needed.
124270         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
124271         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
124272         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
124273         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
124274         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
124275         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
124276         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
124277         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
124278         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
124279         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
124280         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
124281         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
124282         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
124283         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
124284         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
124285         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
124286         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
124287         Import changes from coreutils.
124289 2004-08-05  Simon Josefsson  <jas@extundo.com>
124291         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
124293 2004-08-05  Simon Josefsson  <jas@extundo.com>
124295         * m4/getsubopt.m4: New file.
124297 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124299         Merge from coreutils.
124301         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
124302         * m4/getcwd-path-max.m4: New files.
124304         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
124305         FILESYSTEM_PREFIX_LEN ->
124306         FILE_SYSTEM_PREFIX_LEN.
124307         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
124308         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
124309         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
124310         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
124312         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
124313         prerequisite modules now handle the DOS stuff.
124314         Don't check for unistd.h.
124316 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124318         Merge from coreutils.
124320         * lib/.gdb-history: Remove; this doesn't belong here.
124322         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
124323         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
124324         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
124325         * lib/getcwd.c: New files.
124327         * lib/dirname.h: Include <stdbool.h>.
124328         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
124329         for consistency with POSIX terminology.  All uses changed.
124330         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
124331         (strip_trailing_slashes): Use bool for booleans.
124332         * lib/stripslash.c (strip_trailing_slashes): Likewise.
124334         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
124335         sometimes returns a positive errno value even when it succeeds.
124336         (print_errno_message) [!LIBC]: Fall back on strerror if
124337         __strerror_r fails.
124339         * lib/path-concat.c (mempcpy): Don't define if a system header defines
124340         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
124341         (longest_relative_suffix): New function.
124342         (path_concat): Use it.  Assume first argument is not NULL.
124343         Port to DOS.  Omit redundant separators.
124344         Report an error instead of returning NULL.
124345         Use mempcpy instead of memcpy.
124346         (xpath_concat): Remove: not declared or used.
124348         * lib/same.h: Include <stdbool.h>
124349         (same_name): Return bool, not int.
124350         * lib/same.c (same_name): Likewise.
124351         (errno): Don't declare; we assume C89 or better now.
124353         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
124354         if not already defined.
124356         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
124357         * lib/dup-safer.c (errno): Likewise.
124359 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124361         Merge from coreutils.
124362         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
124363         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
124364         * modules/path-concat: Don't depend on strdup.
124366 2004-08-03  Simon Josefsson  <jas@extundo.com>
124368         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
124369         * lib/progname.h: Don't include stdbool.h.
124371 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124373         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
124374         * MODULES.html.sh (func_all_modules): Remove fatal.
124376 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124378         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
124380 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124382         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
124383         working.
124385 2004-08-02  Simon Josefsson  <jas@extundo.com>
124387         * lib/getsubopt.h: New file, with comments from Bruno Haible.
124388         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
124389         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
124391 2004-08-01  Simon Josefsson  <jas@extundo.com>
124393         * lib/xgetdomainname.c: Include stdlib.h, for free().
124395 2004-07-19  Bruno Haible  <bruno@clisp.org>
124397         * MODULES.html.sh (func_all_modules): Add dummy.
124399 2004-07-16  Simon Josefsson  <jas@extundo.com>
124401         * modules/dummy: New file.
124403 2004-07-16  Simon Josefsson  <jas@extundo.com>
124405         * lib/dummy.c: New file.
124407 2004-07-16  Bruno Haible  <bruno@clisp.org>
124409         * lib/backupfile.h: Add extern "C" for C++.
124410         * lib/closeout.h: Likewise.
124411         * lib/copy-file.h: Likewise.
124412         * lib/findprog.h: Likewise.
124413         * lib/full-write.h: Likewise.
124414         * lib/pathname.h: Likewise.
124415         * lib/progname.h: Likewise.
124416         * lib/stpcpy.h: Likewise.
124417         * lib/stpncpy.h: Likewise.
124418         * lib/strcase.h: Likewise.
124419         * lib/strstr.h: Likewise.
124420         * lib/xalloc.h: Likewise.
124422         * lib/mbswidth.h: Add extern "C" for C++.
124423         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
124425 2004-07-13  Robert Millan  <robertmh@gnu.org>
124427         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
124429 2004-07-09  Simon Josefsson  <jas@extundo.com>
124431         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
124432         failed without this.)
124434 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
124436         * modules/chown (Files): Add lib/fchown-stub.c, since
124437         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
124439 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
124441         * lib/fchown-stub.c: New file.
124443 2004-06-24  Jim Meyering  <jim@meyering.net>
124445         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
124447 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124449         * modules/argz: Omit "#include".
124451         * MODULES.html.sh (func_all_modules): Add calloc, to match
124452         2004-06-01 addition of calloc module.
124454 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124456         * m4/argz.m4: New file, which is autoupdated from libtool.
124458 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124460         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
124461         libtool.
124463 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124465         * config/srclist-update: Don't insist on "USA." before the
124466         close-comment, as libtool omits the period and puts the */ on a
124467         separate line.
124468         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
124469         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
124471 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
124473         * modules/argz: New file.
124474         * MODULES.html.sh (func_all_modules): Add argz.
124476 2004-06-12  Jim Meyering  <jim@meyering.net>
124477         and  Paul Eggert  <eggert@cs.ucla.edu>
124479         * modules/hash (Files): Add lib/xalloc.h.
124480         * modules/pipe (Depends-on): Add wait-process.
124481         * modules/stat (Depends-on): Add xalloc.
124482         * modules/userspec (Files): Add lib/userspec.h.
124483         * modules/xstrto
124485         Upgrade from gettext-0.13.
124486         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
124487         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
124488         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
124490 2004-06-10  Jim Meyering  <jim@meyering.net>
124492         * lib/calloc.c: New file.
124494 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
124496         * lib/getdate.y (yylex): Allow space between sign and number.
124497         Problem reported by Dan Jacobson.
124499 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
124501         Merge from coreutils CVS.
124503         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
124504         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
124505         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
124506         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
124507         xstrtol.m4: Fix copyright date and/or serial number.
124509         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
124510         See if we need an fchown replacement.
124511         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
124512         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
124513         and use the replacement function if we detect either defect.
124515         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
124516         gl_UTIMECMP.
124518 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
124519         and  Jim Meyering  <jim@meyering.net>
124521         Merge from coreutils CVS.
124523         * lib/stat-macros.h: New file, with contents from file-type.h
124524         and coreutils' system.h.
124525         * lib/file-type.c: Include "stat-macros.h".
124526         * lib/file-type.h (file_type): Move all macro definitions to new file,
124527         stat-macros.h.
124529         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
124530         Wrap old code with this conditional.
124531         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
124532         function that does not dereference symlinks.
124533         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
124535         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
124536         dependency problems.
124537         (xreadlink): Accept new arg SIZE, for efficiency.
124538         All decls and uses changed.
124539         * lib/xreadlink.h: Include <stddef.h>, for size_t.
124541         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
124542         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
124544         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
124545         sysexits.h.
124547 2004-06-01  Jim Meyering  <jim@meyering.net>
124549         * m4/calloc.m4: New file.
124551 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
124553         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
124554         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
124555         Also, fix a typo in a diagnostic.
124557 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
124559         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
124560         or AC_FUNC_REALLOC.
124562 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
124564         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
124565         macros to be defined.
124566         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
124567         the allocator returns NULL because the requested size is zero.
124569 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
124571         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
124572         var.  Add comment explaining why libc still defines it.  This
124573         merges the following patch from glibc:
124574         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
124576 2004-05-20  Andreas Schwab  <schwab@suse.de>
124578         * m4/free.m4: Replace free if it not known to work, not the other
124579         way round.
124581 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
124583         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
124584         present in glibc since revision 1.1 of this file.
124585         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
124586         obstack_alignment_mask, obstack_alloc, obstack_base,
124587         obstack_blank, obstack_blank_fast, obstack_chunk_size,
124588         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
124589         obstack_grow0, obstack_init, obstack_int_grow,
124590         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
124591         obstack_next_free, obstack_object_size, obstack_ptr_grow,
124592         obstack_ptr_grow_fast, obstack_room): Remove declarations of
124593         nonexistent functions.
124595 2004-05-18  Karl Berry  <karl@gnu.org>
124597         * config/srclist.txt: break link for vasnprintf.c.
124599 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
124601         Port obstack to the AS/400, where pointers are 16 bytes wide and
124602         you cannot cast an integer to a valid pointer.  This patch is
124603         currently waiting to be integrated into glibc; see
124604         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
124606         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
124607         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
124608         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
124609         (struct obstack): temp member is now a union of a pointer and
124610         an integer, instead of an integer.  All integer uses changed.
124611         This does not affect the physical layout of struct obstack,
124612         except on hosts (like the AS/400) where the size or alignment of
124613         void * is greater than that of ptrdiff_t.
124614         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
124615         __STDC__)]: Store temporary in pointer member of union, not
124616         integer member.
124617         * lib/obstack.c: Include <stddef.h>, for offsetof.
124618         (struct fooalign): Remove; it doesn't need a name.
124619         (union fooround): Change double to long double, and add void *.
124620         (DEFAULT_ALIGNMENT): Use offsetof to compute.
124621         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
124622         not a macro.  Hence the values are always int; so remove all
124623         casts-to-int in uses.
124625 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
124627         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
124628         we can get this patch merged into glibc.
124630 2004-05-17  Derek R. Price  <derek@ximbiot.com>
124631             Paul Eggert  <eggert@cs.ucla.edu>
124633         * m4/argp: Depend on alloca.
124635 2004-05-17  Derek R. Price  <derek@ximbiot.com>
124636             Paul Eggert  <eggert@cs.ucla.edu>
124638         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
124639         freecoding.
124641 2004-05-17  Bruno Haible  <bruno@clisp.org>
124643         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
124644         precision that consists of a '.' followed by an empty digit string.
124645         Patch by Tor Lillqvist <tml@iki.fi>.
124647 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
124649         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
124650         for backward compatibility with older code.  We need our own
124651         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
124652         it under some other name, and our alloca.h will define it.
124654 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
124655             Derek Price  <derek@ximbiot.com>
124657         * lib/alloca.c: Include <alloca.h>, to get our interface.
124658         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
124659         include <alloca.h> first.  Use C89 prototype for alloca; this
124660         requires including <stddef.h> for size_t.  Use extern "C" if C++.
124661         Use #elif for simplicity, since we can assume C89 now.
124662         Don't try to source the system alloca.h since it will not be found
124663         and to prevent recursively including its replacement.
124664         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
124665         * lib/regex.c: Likewise.
124667 2004-05-16  Derek Price  <derek@ximbiot.com>
124668             Paul Eggert  <eggert@cs.ucla.edu>
124670         getline cleanup.  This changes the getndelim2 API: both order of
124671         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
124672         no delimiter).
124674         * lib/getline.c: Don't include stddef.h or stdio.h, since our
124675         interface does that.
124676         (getline): Always use getdelim, so that we don't have two
124677         copies of this code.
124678         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
124679         if available.
124680         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
124681         (GETNDELIM2_MAXIMUM): New macro.
124682         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
124683         instead of the old practice of delim2==0.  All callers changed.
124684         Return -1 on overflow, instead of returning junk.
124685         Do not set *linesize unless allocation succeeds.
124686         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
124687         that we include sys/types.h.
124688         * lib/getnline.h: Likewise.
124689         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
124690         (getndelim2): Reorder arguments.
124691         * lib/getnline.c (getnline, getndelim):
124692         Don't discard the NMAX argument.
124693         (getnline): Invoke getndelim, to avoid code duplication.
124694         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
124695         of (size_t) -1 by callers of the getnline family.
124697 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
124699         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
124700         Check for gettimeofday.
124701         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
124702         Check for settimeofday, stime.
124704 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
124706         * lib/nanosleep.c (suspended): Change its type from int to
124707         sig_atomic_t volatile.
124708         (first_call): Make it private to rpl_nanosleep, and have it
124709         be zero initially as that's a bit faster.
124710         (my_usleep): Round up fractional times instead of truncating them,
124711         as this is the usual meaning for 'sleep'.
124713         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
124714         doesn't work.
124715         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
124716         (ENOSYS): Define if not defined.
124717         (settime): Fall back on stime if it exists and settimeofday fails.
124718         But don't bother with fallbacks if a method fails with errno == EPERM.
124720 2004-05-11  Jim Meyering  <jim@meyering.net>
124722         Prior to this change, the save_cwd caller required read access to the
124723         current directory on most systems (ones with the fchdir function).
124725         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
124726         fails, try write-only, and finally, resort to using xgetcwd.
124728 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
124730         * lib/obstack.c, obstack.h: Import changes from libc.
124732 2004-04-28  Bruno Haible  <bruno@clisp.org>
124734         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
124735         also implicitly appends .exe to executables.
124736         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
124737         accepts Windows pathnames.
124738         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
124739         Treat Cygwin like Windows, since it now accepts Windows pathnames.
124740         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
124741         Treat Cygwin like Windows, since it now accepts Windows pathnames.
124742         Reported by Derek Robert Price <derek@ximbiot.com>.
124744 2004-04-21  Karl Berry  <karl@gnu.org>
124746         * config/srclist.txt (localcharset.c): break sync.
124748 2004-04-20  Paul Eggert  <eggert@twinsun.com>
124750         * m4/host-os.m4: Add a copyright notice.
124752 2004-04-20  Jim Meyering  <jim@meyering.net>
124754         Change UTILS_ to gl_ in AC_DEFINE'd names.
124755         Change utils_- and jm_-prefixed variables, too.
124756         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
124757         UTILS_FUNC_MKDIR_TRAILING_SLASH.
124758         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
124760         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
124761         Don't emit trailing blanks.
124762         Also rename jm_-prefixed variables to have gl_ prefix.
124764         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
124765         Also rename jm_-prefixed variables to have gl_ prefix.
124767         * m4/jm-macros.m4: Reflect the renamings.
124768         * m4/prereq.m4: Likewise.
124770 2004-04-20  Jim Meyering  <jim@meyering.net>
124772         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
124773         memory.
124775 2004-04-20  Jim Meyering  <jim@meyering.net>
124776             Bruno Haible  <bruno@clisp.org>
124778         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
124779         memory when realloc fails.
124781 2004-04-19  Jim Meyering  <jim@meyering.net>
124783         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
124784         now that readutmp.c may call `free (0)'.
124786 2004-04-19  Bruno Haible  <bruno@clisp.org>
124788         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
124789         * m4/inttypes_h.m4: Likewise.
124790         * m4/stdint_h.m4: Likewise.
124791         * m4/intmax_t.m4: Likewise.
124792         * m4/uintmax_t.m4: Likewise.
124794 2004-04-18  Jim Meyering  <jim@meyering.net>
124796         * m4/prereq.m4: Don't forbid jm_ prefix.
124798         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
124799         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
124800         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
124801         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
124802         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
124803         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
124804         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
124805         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
124806         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
124807         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
124808         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
124809         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
124810         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
124811         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
124812         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
124813         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
124814         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
124815         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
124816         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
124818 2004-04-18  Jim Meyering  <jim@meyering.net>
124820         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
124821         failure, don't leak memory and do call END_UTMP_ENT.
124823 2004-04-16  Jim Meyering  <jim@meyering.net>
124825         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
124826         coreutils' stat program.
124827         (gl_PREREQ): Don't require jm_PREREQ_STAT.
124829 2004-04-11  Paul Eggert  <eggert@twinsun.com>
124831         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
124832         C89.
124833         (CHAR_BIT): Remove, since we assume C89.
124834         Include <stdint.h> if available, as per current Autoconf CVS advice.
124836 2004-03-31  Jim Meyering  <jim@meyering.net>
124838         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
124839         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
124840         * m4/xalloc.m4: Likewise.
124842 2004-03-30  Paul Eggert  <eggert@twinsun.com>
124844         Merge from coreutils.
124846         * m4/inttostr.m4: New file.
124847         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
124848         Require AM_STDBOOL_H and gl_TIMESPEC instead.
124849         Require gl_CLOCK_TIME.
124850         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
124852 2004-03-30  Paul Eggert  <eggert@twinsun.com>
124854         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
124855         not bool, to be more consistent with Unix conventions.
124856         Suggested by Bruno Haible.
124858         Merge from coreutils.
124860         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
124861         * lib/umaxtostr.c: New files.
124863         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
124864         the usual <time.h> dance.
124865         (get_date): Change signature to support fractional time stamps.
124866         All callers changed.
124867         * lib/getdate.y: Include "getdate.h" first, as we can now
124868         assume C89 and don't need to worry about 'const'.
124869         Similarly, include "unlocked-io.h" near start, not in middle.
124870         Include <limits.h>.
124871         (textint.value): Use long int rather than int.
124872         (textint.digits): Use size_t rather than int.
124873         (BILLION, LOG10_BILLION): New constants.
124874         (parser_control): New member rel_ns.  Members day_ordinal,
124875         time_zone, month, day, hour, minutes, rel_year, rel_month,
124876         rel_day, rel_hour, rel_minutes, rel_seconds
124877         are now long int, not int.  Member seconds is now struct timespec,
124878         not int.  New member timespec_seen.  Members dates_seen, days_seen,
124879         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
124880         not int.
124881         (%union.intval): Now long int, not int.
124882         New member timespec.
124883         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
124884         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
124885         (spec): Now is a timespec or an item list.
124886         (timespec, items): New nonterminals.
124887         (time, rel, relunit, number, get_date):
124888         Add support for fractional seconds.
124889         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
124890         (gmtime, localtime, mktime): Remove decls; not needed with C89.
124891         (to_hour): First arg is now long int, not int.
124892         (to_year): Returns long int, not int.
124893         Don't treat year -70 like 70.
124894         (tm_diff): Returns long int, not int.
124895         (lookup_word): Use bool instead of int when appropriate.
124896         (yylex): Use size_t for count, not int.
124897         Detect overflow when parsing large integer constants.
124898         Add support for fractions.
124899         (get_date): Make pointers 'const' if possible.
124900         Use more-portable code to detect integer overflow.
124901         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
124902         Don't use ctime; it's not reliable if the year has >4 digits.
124904         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
124905         This is for compatibility with BSD.
124907         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
124908         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
124909         From coreutils' system.h.
124911         * lib/userspec.c: Don't include "posixver.h".
124912         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
124913         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
124914         compatible extension.  Simplify code by removing a boolean int
124915         that was always nonzero if a string was nonnull.
124917 2004-03-30  Jim Meyering  <jim@meyering.net>
124919         Merge from coreutils.
124921         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
124922         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
124923         on some systems one must include <grp.h> before it.
124924         Reported by Christian Krackowizer.
124926 2004-03-30  Jim Meyering  <jim@meyering.net>
124928         Merge from coreutils.
124930         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
124932         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
124933         an empty input stream.
124935         * lib/readtokens.c: Include <stdbool.h>.
124936         (readtoken): Use `size_t' rather than int/long.
124937         All callers adjusted.
124938         Use `bool' rather than `int' where appropriate.
124939         Use memset rather than an explicit loop.
124940         Use x2nrealloc rather than xrealloc.
124941         Allow the use of `\0' as a delimiter.
124942         (readtokens): Likewise.
124943         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
124945 2004-03-30  Jim Meyering  <jim@meyering.net>
124947         * m4/realloc.m4: Remove file, since now it does no more than
124948         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
124949         the `configure.ac' section of module/realloc.
124950         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
124952 2004-03-30  Bruno Haible  <bruno@clisp.org>
124954         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
124955         nonnull.
124957 2004-03-29  Paul Eggert  <eggert@twinsun.com>
124959         Merge changes to getloadavg.c from coreutils and Emacs.
124961         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
124962         Define to an expression, not to the empty string.
124963         Include cloexec.h and xalloc.h.
124964         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
124965         Use set_cloexec_flag rather than rolling our own.
124966         * lib/cloexec.c, lib/cloexec.h: New files.
124968 2004-03-29  Paul Eggert  <eggert@twinsun.com>
124970         * m4/cloexec.m4: New file.
124972 2004-03-18  Paul Eggert  <eggert@twinsun.com>
124974         * lib/getopt.h: Sync with libc CVS.
124976 2004-03-18  Paul Eggert  <eggert@twinsun.com>
124977             Bruno Haible  <bruno@clisp.org>
124979         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
124980         mbswidth.
124982 2004-03-18  Paul Eggert  <eggert@twinsun.com>
124983             Bruno Haible  <bruno@clisp.org>
124985         * lib/mbswidth.h: Include <wchar.h> only if
124986         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
124987         <wchar.h>.
124988         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
124990 2004-03-09  Paul Eggert  <eggert@twinsun.com>
124992         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
124993         Sync with libc CVS.
124994         * lib/getopt_int.h: New file, also synced from libc.
124996 2004-03-09  Paul Eggert  <eggert@twinsun.com>
124998         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
124999         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
125000         Bring back getopt.c, getopt.h, getopt1.c.
125002 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125004         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
125005         All uses changed.  Check for sa_sigaction member; this fixes
125006         a bug first reported by Jason Andrade in
125007         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125009 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125011         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
125012         '#if' expressions.  Unlike the code it replaces, it does not
125013         depend on (defined _SC_PAGESIZE).  However, it does depend on
125014         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
125015         first reported by Jason Andrade in
125016         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125018 2004-02-25  Simon Josefsson  <jas@extundo.com>
125020         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
125022 2004-02-25  Simon Josefsson  <jas@extundo.com>
125024         * lib/strdup.h: New file.
125025         * lib/strdup.c: Include it.
125026         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
125027         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
125029 2004-02-23  Karl Berry  <karl@gnu.org>
125031         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
125032         (from fencepost.gnu.org:/gd/gnuorg).
125034 2004-02-23  Karl Berry  <karl@gnu.org>
125036         * config/srclistvars.sh (GNUORG) [karl]: redefine.
125037         * config/srclist.txt: add maintain/standards documents.
125039 2004-02-18  Bruno Haible  <bruno@clisp.org>
125041         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
125042         Reported by Derek Robert Price <derek@ximbiot.com>.
125044 2004-02-16  Karl Berry  <karl@gnu.org>
125046         * config/mkinstalldirs, install-sh: update from automake.
125048 2004-02-06  Karl Berry  <karl@gnu.org>
125050         * m4/po.m4: update from gettext 0.14.1.
125052 2004-02-06  Karl Berry  <karl@gnu.org>
125054         * lib/config.charset: update from gettext 0.14.1.
125056 2004-02-05  Paul Eggert  <eggert@twinsun.com>
125058         Add comments and code, prompted by suggestions from Bruno Haible
125059         for sh-quote.
125060         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
125061         describing the enum quoting_style values.
125062         * lib/quotearg.c (quotearg_alloc): New function.
125063         (quotearg_buffer_restyled): Treat lone { and } as special.
125064         Treat = as special.  Work around bug with older shells
125065         that "see" a '\' that is really the 2nd byte of a multibyte char.
125066         Quote empty string with shell_quoting_style.
125068 2004-02-03  Bruno Haible  <bruno@clisp.org>
125070         * m4/pipe.m4: New file, from GNU gettext.
125072 2004-02-03  Bruno Haible  <bruno@clisp.org>
125074         * lib/pipe.h: New file, from GNU gettext.
125075         * lib/pipe.c: New file, from GNU gettext.
125077 2004-01-27  Bruno Haible  <bruno@clisp.org>
125079         * m4/execute.m4: New file, from GNU gettext.
125081 2004-01-27  Bruno Haible  <bruno@clisp.org>
125083         * lib/execute.h: New file, from GNU gettext.
125084         * lib/execute.c: New file, from GNU gettext.
125085         * lib/w32spawn.h: New file, from GNU gettext.
125087 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125089         Merge from diffutils.
125091         * lib/file-type.c (file_type): Add typed memory objects.
125092         * lib/file-type.h (S_TYPEISTMO): New macro.
125094         * lib/c-stack.h (c_stack_action): Remove argv argument.
125095         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
125096         (die): Don't calculate message unless segv_action returns.
125097         (get_stack_location, min_address_from_argv, max_address_from_argv,
125098         volatile stack_base, volatile_stack_size): Remove.
125099         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
125100         that every segmentation violation is a stack overflow.  (Ouch!)
125101         See Debian bug 136249 (still outstanding) for more info about why
125102         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
125104 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125106         Exit-status fix from coreutils.
125108         Use exit_failure consistently in place of EXIT_FAILURE,
125109         so that program exit statuses are consistent on failure.
125111         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
125112         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
125113         * lib/argmatch.h: Comment fix to match the above.
125114         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
125115         Now a macro referring to exit_failure, instead of a separate
125116         variable.  Include "exitfail.h" to get it.
125117         * lib/xstrtol.h: Include "exitfail.h".
125118         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
125120         * lib/long-options.c (parse_long_options): Use prototype
125121         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
125122         for clarity.
125124 2004-01-21  Jim Meyering  <jim@meyering.net>
125126         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
125127         so as not to conflict with a different-sized __mktime_internal
125128         function in GNU libc.
125129         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
125130         Problem building statically-linked `ls' reported by Michael Brunnbauer.
125132 2004-01-20  Karl Berry  <karl@gnu.org>
125134         * config/config.guess: update from config.
125136         * config/srclistvars.sh: GNUWWWLICENSES for karl.
125138 2004-01-20  Bruno Haible  <bruno@clisp.org>
125140         Safer stack allocation.
125141         * lib/setenv.c: Include allocsa.h.
125142         (alloca): Remove fallback definition.
125143         (freea): Remove macro.
125144         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
125145         instead of freea.
125147 2004-01-20  Bruno Haible  <bruno@clisp.org>
125149         * m4/eealloc.m4: New file, from GNU gettext.
125151 2004-01-20  Bruno Haible  <bruno@clisp.org>
125153         * m4/allocsa.m4: New file, from GNU gettext.
125155 2004-01-20  Bruno Haible  <bruno@clisp.org>
125157         * lib/xallocsa.h: New file, from GNU gettext.
125158         * lib/xallocsa.c: New file, from GNU gettext.
125160 2004-01-20  Bruno Haible  <bruno@clisp.org>
125162         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
125164 2004-01-20  Bruno Haible  <bruno@clisp.org>
125166         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
125167         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
125168         specially.
125170 2004-01-20  Bruno Haible  <bruno@clisp.org>
125172         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
125173         patch.
125175 2004-01-20  Bruno Haible  <bruno@clisp.org>
125177         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
125179 2004-01-20  Bruno Haible  <bruno@clisp.org>
125181         * lib/eealloc.h: New file.
125183 2004-01-20  Bruno Haible  <bruno@clisp.org>
125185         * lib/binary-io.h: Avoid warnings on Cygwin.
125187 2004-01-20  Bruno Haible  <bruno@clisp.org>
125189         * lib/allocsa.h: New file, from GNU gettext.
125190         * lib/allocsa.c: New file, from GNU gettext.
125192 2004-01-18  Karl Berry  <karl@gnu.org>
125194         * doc/gpl.texi, doc/lgpl.texi: new files.
125196 2004-01-18  Karl Berry  <karl@gnu.org>
125198         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
125199         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
125201 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125203         Merge from coreutils.
125205         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
125206         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
125207         (gl_DEFAULT_POSIX2_VERSION): Move
125208         the documentation from 'configure' into 'config.hin',
125209         so that 'configure --help' isn't burdened by it and
125210         we don't have to worry about its formatting there.
125211         Reword the documentation so that it's more succinct
125212         and can be run together into a single paragraph.
125213         * m4/same.m4 (gl_SAME): Check for pathconf.
125215 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125217         Merge from coreutils.
125219         * lib/posixver.c: Include posixver.h.
125221         * lib/same.c: Include <stdbool.h>, <limits.h>.
125222         (_POSIX_NAME_MAX): Define if not defined.
125223         (MIN): New macro.
125224         (same_name): If file names are silently truncated, report
125225         that the file names are the same if they are the same after
125226         the silent truncation.
125228         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
125229         conversion function.
125230         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
125231         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
125232         longer needed.
125234 2004-01-15  Jim Meyering  <jim@meyering.net>
125236         Merge from coreutils.
125238         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
125239         if no library is required.
125240         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
125241         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
125242         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
125243         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
125244         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
125245         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
125246         value, $ac_cv_search_crypt, if it's "none required".
125247         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
125248         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
125249         not gl_FUNC_GETLOADAVG.
125250         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
125251         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
125253 2004-01-15  Jim Meyering  <jim@meyering.net>
125255         Merge from coreutils.
125257         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
125258         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
125259         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
125261         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
125262         optional configure-time default.
125264         * lib/version-etc.c (version_etc_copyright): Update copyright date.
125266         * lib/xreadlink.c (xreadlink): Correct outdated comment.
125268 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
125270         Merge from coreutils.
125272         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
125273         value, $ac_cv_search_nanosleep, if it's "none required".
125275 2004-01-14  Paul Eggert  <eggert@twinsun.com>
125277         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
125278         with like-named macro in fnmatch.c.
125279         (EXT): Use an internal constant instead.
125281         Merge fnmatch patches from glibc.
125282         * lib/fnmatch.c (mbsinit): Remove define.
125283         Add libc_hidden_ver (__fnmatch, fnmatch).
125284         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
125285         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
125287 2004-01-14  Karl Berry  <karl@gnu.org>
125289         * config/install-sh: update from automake.
125291 2004-01-13  Karl Berry  <karl@gnu.org>
125293         * config/install-sh: update from automake.
125295 2004-01-09  Karl Berry  <karl@gnu.org>
125297         * config/install-sh: update from automake.
125299 2004-01-05  Karl Berry  <karl@gnu.org>
125301         * config/config.{sub,guess}: update from config.
125303 2003-12-31  Karl Berry  <karl@gnu.org>
125305         * config/depcomp: update from automake.
125307 2003-12-14  Karl Berry  <karl@gnu.org>
125309         * lib/config.charset: update from gettext-runtime.
125311 2003-12-03  Paul Eggert  <eggert@twinsun.com>
125313         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
125314         Bug reported by Alfred M. Szmidt.
125316 2003-12-03  Bruno Haible  <bruno@clisp.org>
125318         * m4/gettext.m4: Upgrade from gettext-0.13.
125319         * m4/po.m4: Upgrade from gettext-0.13.
125320         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
125321         * m4/intmax.m4: New file, from gettext-0.13.
125322         * m4/printf-posix.m4: New file, from gettext-0.13.
125324 2003-11-29  Karl Berry  <karl@gnu.org>
125326         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
125328 2003-11-25  Paul Eggert  <eggert@twinsun.com>
125329             Bruno Haible  <bruno@clisp.org>
125331         * lib/printf-parse.h: Don't include sys/types.h.
125332         (ARG_NONE): New macro.
125333         (char_directive): Change type of *arg_index fields to size_t.
125334         * lib/printf-parse.c: Don't include sys/types.h.
125335         (SSIZE_MAX): Remove macro.
125336         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
125337         Remove unnecessary overflow check.
125338         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
125339         fields.
125341 2003-11-25  Bruno Haible  <bruno@clisp.org>
125343         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
125345 2003-11-25  Bruno Haible  <bruno@clisp.org>
125347         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
125348         gt_TYPE_SSIZE_T.
125350 2003-11-24  Paul Eggert  <eggert@twinsun.com>
125352         * modules/alloca: Remove dependency on xalloc.
125354 2003-11-24  Paul Eggert  <eggert@twinsun.com>
125356         * lib/alloca.c: Remove dependency on xalloc module.
125357         (xalloc_die): Remove.
125358         (memory_full) [!defined emacs]: New macro.
125359         [!defined emacs]: Don't include xalloc.h.
125360         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
125361         address arithmetic overflows.  Change datatypes a bit to avoid
125362         unnecessary casts.
125364 2003-11-22  Jim Meyering  <jim@meyering.net>
125366         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
125367         s/size/size_t/.
125369 2003-11-21  Karl Berry  <karl@gnu.org>
125371         * config/config.{sub,guess}: update from config.
125373 2003-11-18  Karl Berry  <karl@gnu.org>
125375         * config/config.{sub,guess}: update from config.
125377         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
125379 2003-11-17  Paul Eggert  <eggert@twinsun.com>
125381         * README: Mention that S+T cannot overflow if S is the size of
125382         an existing object and T is sufficiently small.
125384 2003-11-17  Jim Meyering  <jim@meyering.net>
125386         On systems without utime and without a utimes function capable of
125387         dealing with a NULL struct utimbuf* argument, this utime replacement
125388         could -- in unusual circumstances -- leak a file descriptor.
125389         * lib/utime.c: Include <unistd.h> and <errno.h>.
125390         (utime_null): Be sure to close `fd' and to preserve errno.
125391         Reported by Geoff Collyer via Arnold Robbins.
125393 2003-11-17  Bruno Haible  <bruno@clisp.org>
125395         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
125396         (Depends-on): Add xsize.
125398 2003-11-17  Bruno Haible  <bruno@clisp.org>
125400         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
125402 2003-11-17  Bruno Haible  <bruno@clisp.org>
125404         * lib/vasnprintf.c (alloca): Remove fallback definition.
125405         (freea): Remove definition.
125406         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
125407         Reported by Paul Eggert.
125409 2003-11-16  Paul Eggert  <eggert@twinsun.com>
125410             Bruno Haible  <bruno@clisp.org>
125412         Protect against address arithmetic overflow.
125413         * lib/printf-args.h: Include stddef.h.
125414         (arguments): Change type of field 'count' to size_t.
125415         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
125416         'unsigned int' where appropriate.
125417         * lib/printf-parse.h: Include sys/types.h.
125418         (char_directive): Change type of *arg_index fields to ssize_t.
125419         (char_directives): Change type of fields 'count', max_*_length to
125420         size_t.
125421         * lib/printf-parse.c: Include sys/types.h and xsize.h.
125422         (SSIZE_MAX): Define fallback value.
125423         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
125424         instead of 'int' where appropriate. Check a_allocated, d_allocated
125425         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
125426         * lib/vasnprintf.c: Include xsize.h.
125427         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
125428         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
125429         overflow. Avoid wraparound when converting a width or precision from
125430         decimal to binary.
125432 2003-11-16  Bruno Haible  <bruno@clisp.org>
125434         Update from GNU gettext.
125435         * lib/printf-parse.c: Generalize to it can be compiled for wide
125436         strings.
125437         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
125438         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
125439         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
125440         SNPRINTF): New macros.
125441         Don't include <alloca.h> if the file is used inside libintl.
125442         (local_wcslen): New function, for Solaris 2.5.1.
125443         (VASNPRINTF): Use it instead of wcslen.
125445 2003-11-16  Bruno Haible  <bruno@clisp.org>
125447         * lib/xsize.h (xmax): New function.
125448         (xsum, xsum3, xsum4): Declare as "pure" functions.
125450 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125452         * modules/xalloc (Files): Undo latest change, since xalloc.h
125453         no longer needs SIZE_MAX or PTRDIFF_MAX.
125455 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125457         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
125458         gl_PTRDIFF_MAX.
125460 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125462         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
125463         "return", to pacify some unknown compiler.  Problem reported
125464         by Joerg Schilling.
125466 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125468         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
125469         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
125470         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
125471         heuristic is just as accurate as far as we know, and it removes a
125472         dependency on size_max.m4 and ptrdiff_max.m4.
125474 2003-11-11  Bruno Haible  <bruno@clisp.org>
125476         * modules/xsize (Files): Add m4/size_max.m4.
125477         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
125479 2003-11-11  Bruno Haible  <bruno@clisp.org>
125481         * m4/size_max.m4: New file.
125482         * m4/ptrdiff_max.m4: New file.
125483         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
125484         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
125485         (gl_XALLOC): Invoke it.
125487 2003-11-11  Bruno Haible  <bruno@clisp.org>
125489         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
125490         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
125491         defined.
125493 2003-11-10  Paul Eggert  <eggert@twinsun.com>
125495         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
125496         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
125497         rejected some allocations of exactly SIZE_MAX - 2 bytes.
125498         From Bruno Haible.
125499         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
125500         not (size_t) -1, since it's defined here.
125502 2003-11-09  Karl Berry  <karl@gnu.org>
125504         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
125506 2003-11-06  Paul Eggert  <eggert@twinsun.com>
125508         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
125509         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
125510         Reject sizes of exactly SIZE_MAX bytes.
125511         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
125512         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
125514 2003-11-05  Bruno Haible  <bruno@clisp.org>
125516         * lib/xsize.h: Include limits.h, to avoid a possible collision with
125517         SIZE_MAX defined in <limits.h> on Solaris.
125519 2003-11-04  Jim Meyering  <jim@meyering.net>
125521         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
125522         variable names, rather than @VAR@.
125523         * modules/poll: Likewise.
125525 2003-11-04  Bruno Haible  <bruno@clisp.org>
125527         * modules/xsize: New file.
125528         * modules/linebreak: Depend on xsize.
125529         * MODULES.html.sh (func_all_modules): Add xsize.
125531 2003-11-04  Bruno Haible  <bruno@clisp.org>
125533         * m4/xsize.m4: New file.
125535 2003-11-04  Bruno Haible  <bruno@clisp.org>
125537         * lib/xsize.h: New file.
125538         * lib/linebreak.c: Include xsize.h.
125539         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
125540         argument for overflow.
125541         Suggested by Paul Eggert.
125543 2003-11-03  Karl Berry  <karl@gnu.org>
125545         * config/config.{guess,sub}: update from config.
125547 2003-11-03  Jim Meyering  <jim@meyering.net>
125549         * modules/userspec (lib_SOURCES): Add userspec.h.
125550         (Include): Add "userspec.h".
125551         Improve description.
125553 2003-11-03  Jim Meyering  <jim@meyering.net>
125555         * lib/userspec.c: Include "userspec.h".
125556         * lib/userspec.h: New file.
125558 2003-11-03  Bruno Haible  <bruno@clisp.org>
125560         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
125562 2003-11-03  Bruno Haible  <bruno@clisp.org>
125564         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
125565         available, to avoid (extremely rare) race condition.
125566         Suggested by Paul Eggert.
125568 2003-11-02  Karl Berry  <karl@gnu.org>
125570         * config/srclist.txt (vasprintf.c): sync broken, sigh.
125572 2003-10-31  Paul Eggert  <eggert@twinsun.com>
125574         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
125575         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
125576         (read_filesystem_list): Set and use me_type_malloced.
125577         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
125578         whatever the type happens to be), for brevity and consistency.
125579         Check for size calculation overflow on Alphas running OSF/1.
125581 2003-10-31  Jim Meyering  <jim@meyering.net>
125583         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
125585         * lib/linebuffer.c: Include <string.h> for declaration of memset.
125587 2003-10-30  Paul Eggert  <eggert@twinsun.com>
125588             Bruno Haible  <bruno@clisp.org>
125590         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
125591         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
125593 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
125595         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
125596         netbsd*-gnu*.  Suggested by Robert Millan.
125598 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125600         * modules/group-member: Depend on stdbool.
125602 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125604         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
125606 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125608         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
125609         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
125610         after the 'gnu' in these cases.  This fixes some bugs in the
125611         previous change, and is based on suggestions by Robert Millan.
125613 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125615         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
125616         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
125617         no longer needed.
125618         * lib/quotearg.c (quotearg_n_options): Use it.
125619         * lib/group-member.c: Include <stdbool.h>.
125620         (free_group_info): Arg is now const *; don't free arg.
125621         (get_group_info): Now returns bool and accepts struct group_info *,
125622         rather than returning a malloc'ed struct group_info *.
125623         All uses changed.  Check for overflow in internal size calculation.
125625         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
125626         rather than xmalloc/xrealloc.
125627         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
125628         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
125629         conformance bug: the old code used a pointer after freeing the
125630         storage that it addressed.
125631         * lib/hash.c (hash_initialize): Simplify the code by using
125632         xalloc_oversized rather than doing it by hand.
125633         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
125634         the buffer preserved.  Use free and xmalloc instead.
125635         * lib/quotearg.c (quotearg_n_options): Likewise.
125636         Use a simpler test for size overflow.  Don't use xalloc_oversized
125637         because unsigned int might be wider than size_t (!); this suggests
125638         that we should switch from unsigned int to size_t for slot numbers.
125640 2003-10-28  Paul Eggert  <eggert@twinsun.com>
125642         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
125643         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
125644         NetBSD kernels.  Requested by Richard Stallman.
125646 2003-10-27  Paul Eggert  <eggert@twinsun.com>
125648         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
125649         to allocate the returned structure.  Do not allocate a subarray,
125650         as x2nrealloc will do that.
125651         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
125652         instead of xnrealloc.
125653         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
125655 2003-10-27  Bruno Haible  <bruno@clisp.org>
125657         * lib/stdbool_.h: Better support for BeOS.
125659 2003-10-26  Paul Eggert  <eggert@twinsun.com>
125661         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
125662         now uses inline.
125664 2003-10-26  Paul Eggert  <eggert@twinsun.com>
125666         * lib/xalloc.h (xalloc_oversized): New static inline function, for
125667         callers that want to do their own size-overflow checking.  Include
125668         <stdbool.h>, since xalloc_oversized returns bool.
125669         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
125670         to use xalloc_oversized.
125672         Add two functions x2realloc, x2nrealloc, for programs that grow
125673         arrays dynamically by doubling their sizes.
125674         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
125675         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
125676         New functions.
125678         Port to C99 semantics for 'inline' of external functions.
125679         Bug reported by Bruno Haible.
125680         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
125681         with the old contents of xnmalloc.
125682         (xnmalloc, xmalloc): Use it.
125683         (xnrealloc_inline): New static inline function,
125684         with the old contents of xnrealloc.
125685         (xnrealloc, xrealloc): Use it.
125687         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
125688         that.
125690 2003-10-26  Karl Berry  <karl@gnu.org>
125692         * config/srclist.txt (COPYING.DOC): no longer available from
125693         /gd/gnuorg; don't know where the ultimate source is.
125695 2003-10-25  Paul Eggert  <eggert@twinsun.com>
125697         Fix several address-calculation bugs in the hash modules,
125698         plus some minor code cleanup.
125700         * lib/hash.h: Include <stdbool.h>, for bool.
125701         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
125702         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
125703         hash_get_n_entries, hash_get_max_bucket_length,
125704         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
125705         hash_rehash): Use size_t rather than unsigned.
125706         * lib/hash.c (struct hash_table, hash_get_n_buckets,
125707         hash_get_n_buckets_used, hash_get_n_entries,
125708         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
125709         hash_get_entries, hash_do_for_each, hash_string, is_prime,
125710         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
125711         Likewise.
125712         (SIZE_MAX): Define if not defined.
125713         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
125714         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
125715         hash_print):
125716         Use const * when possible.
125717         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
125718         (check_tuning): Fix bug: if tuning parameters were very close to
125719         0 or 1, rounding errors could have caused subscript violations.
125720         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
125721         (hash_initialize): Add 'fail:' label
125722         to free table and return NULL, and use it to simplify code.
125723         Use calloc rather than clearing the storage ourself.
125724         (hash_initialize, hash_rehash): Check for arithmetic overflow in
125725         buffer size calculations.
125726         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
125727         Include <stddef.h>, for size_t.
125728         * lib/hash-pjw.c (hash_pjw): Likewise.
125729         Switch to method described by Bruno Haible.
125730         Include <limits.h>, for CHAR_BIT.
125731         (SIZE_BITS): New macro.
125733 2003-10-23  Paul Eggert  <eggert@twinsun.com>
125735         * m4/getline.m4 (AM_FUNC_GETLINE):
125736         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
125737         hosts.  Problem reported by Derek Robert Price in
125738         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
125739         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
125740         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
125742 2003-10-21  Paul Eggert  <eggert@twinsun.com>
125744         * lib/getndelim2.c (getndelim2): When size calculation overflows,
125745         ceiling the allocation at NMAX bytes rather than silently
125746         discarding input bytes before NMAX is reached.  This makes
125747         a difference only if NMAX exceeds SIZE_MAX / 2.
125749         * lib/obstack.c: Merge from glibc.
125750         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
125751         Add libc_hidden_def (_obstack_newchunk).
125752         (_obstack_free) [! defined _LIBC]: Remove.
125753         [defined _LIBC]: Make a strong alias from obstack_free, rather than
125754         a clone of the function body.
125755         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
125756         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
125758         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
125759         glibc.
125760         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
125761         arg to memcpy.
125763         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
125764         (obstack_ptr_grow_fast, obstack_int_grow_fast):
125765         Don't use lvalue casts, as GCC plans to remove support for them
125766         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
125767         was also present in the non-GCC version, indicating that this
125768         code had always been buggy and had never been widely used.
125769         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
125770         Use the fast variant of each macro, rather than copying the
125771         definiens of the fast variant; that way, we'll be more likely to
125772         catch future bugs in the fast variants.
125774 2003-10-20  Bruno Haible  <bruno@clisp.org>
125776         * modules/wait-process: New file.
125777         * MODULES.html.sh (func_all_modules): Add wait-process.
125779 2003-10-20  Bruno Haible  <bruno@clisp.org>
125781         * m4/wait-process.m4: New file.
125783 2003-10-20  Bruno Haible  <bruno@clisp.org>
125785         * lib/wait-process.h: New file, from GNU gettext.
125786         * lib/wait-process.c: New file, from GNU gettext.
125788 2003-10-19  Jim Meyering  <jim@meyering.net>
125790         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
125791         HPUX 10.20.
125793 2003-10-18  Karl Berry  <karl@gnu.org>
125795         * config/config.guess: update from config.
125797 2003-10-16  Paul Eggert  <eggert@twinsun.com>
125799         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
125800         (getgroups): First arg is int, not size_t.
125801         Don't let 'free' mangle errno.
125803 2003-10-16  Paul Eggert  <eggert@twinsun.com>
125805         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
125807 2003-10-16  Karl Berry  <karl@gnu.org>
125809         * config/config.{guess,sub}: update from config.
125811 2003-10-16  Jim Meyering  <jim@meyering.net>
125813         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
125814         memcpy.
125816 2003-10-15  Paul Eggert  <eggert@twinsun.com>
125818         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
125819         (SIZE_MAX): Remove.
125820         (new_exclude, add_exclude_file): Initial size no longer needs to
125821         be a power of 2.
125822         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
125823         our own address arithmetic overflow checking.
125825         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
125826         (fnmatch): Do not alloca more than 2000 wide characters;
125827         instead, use malloc for large buffers.
125828         Check for address arithmetic overflow, and return -1
125829         with errno set to ENOMEM in that case.
125830         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
125831         (NEW_PATTERN): Do not alloca more than 8000 bytes;
125832         instead, return -1.  Check for address arithmetic overflow.
125834 2003-10-14  Paul Eggert  <eggert@twinsun.com>
125836         Handle invalid suffixes and overflow independently, so that
125837         callers can treat them independently as needed.  Fix some bugs in
125838         suffix handling, e.g., "100k@" was not diagnosed as an invalid
125839         suffix for a human-readable blocksize.  The major caller-visible
125840         change is the addition of a new
125841         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
125842         that both overflow and suffix chars were found.
125844         * lib/human.c (humblock): Don't check separately for invalid suffix
125845         char; that is xstrtoumax's job (now that its bug is fixed).
125846         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
125847         INTMAX_MAX]: New macros.
125848         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
125849         TYPE_MAXIMUM): New macros.
125850         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
125851         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
125852         if overflow occurs, as it's what __strtol does and it's more useful
125853         in practice.
125854         (__xstrtol): If __strtol reports some error other than ERANGE,
125855         reflect it to the caller as LONGINT_INVALID.  If it reports
125856         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
125857         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
125858         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
125859         value.
125860         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
125861         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
125862         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
125863         [defined UINTMAX_MAX]: New macros.
125865 2003-10-14  Bruno Haible  <bruno@clisp.org>
125867         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
125869 2003-10-14  Bruno Haible  <bruno@clisp.org>
125871         * m4/sig_atomic_t: New file, from GNU gettext.
125872         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
125874 2003-10-14  Bruno Haible  <bruno@clisp.org>
125876         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
125877         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
125878         Also use volatile where needed.
125880 2003-10-12  Paul Eggert  <eggert@twinsun.com>
125882         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
125883         Change maintainer from Bruno Haible to 'all'.
125885 2003-10-12  Paul Eggert  <eggert@twinsun.com>
125887         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
125889 2003-10-12  Paul Eggert  <eggert@twinsun.com>
125891         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
125892         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
125893         and define in terms of the other primitives.
125894         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
125895         (SIZE_MAX): Define if not already defined.
125896         (array_size_overflow): New function.
125897         (xalloc_die): Abort instead of exiting if 'error' returns.
125898         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
125899         (xmalloc, xrealloc): Use them.
125900         (xcalloc): Check for address arithmetic overflow.
125901         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
125902         a bit faster than strcpy.
125904 2003-10-10  Simon Josefsson  <jas@extundo.com>
125906         * modules/argp (Depends-on): Add restrict and strcase.
125908 2003-10-10  Simon Josefsson  <jas@extundo.com>
125910         * m4/argp.m4: Add AC_C_INLINE.
125912 2003-10-08  Paul Eggert  <eggert@twinsun.com>
125914         Merge getpass from libc, plus a few fixes.
125916         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
125917         Include <stdbool.h>.
125918         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
125919         __fsetlocking to empty.
125920         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
125921         do include <bits/libc-lock.h>.
125922         Do not include <fcntl.h>; not needed.
125923         [_LIBC]: Include <wchar.h>.
125924         (NOTCANCEL_MODE): New macro.
125925         (flockfile, funlockfile) [_LIBC]: New macros.
125926         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
125927         [!_LIBC]: New macros.
125928         (call_fclose): New function.
125929         (getpass): Use it.  Save tty stream separately; this simplifies the
125930         code and makes it more reliable if stdin happens to equal stdout.
125931         Invoke __fsetlocking on tty.
125932         Handle thread cancellation if needed.
125933         Namespace cleanup (use __tcgetattr, __getline).
125934         Use bool for Booleans.
125935         [USE_IN_LIBIO]: Handle wide streams.
125936         [!_LIBC]: Unconditionally do the fseek, since we don't know what
125937         stream might go where.
125939         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
125940         doesn't have to include <stdio.h> before us.
125941         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
125942         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
125943         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
125944         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
125945         if not declared, so that we can use getpass.c code from libc without
125946         rewriting it.
125947         (flockfile, ftrylockfile, funlockfile): New macros.
125949 2003-10-08  Paul Eggert  <eggert@twinsun.com>
125951         * modules/getpass: Depend on stdbool.
125953 2003-10-08  Paul Eggert  <eggert@twinsun.com>
125955         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
125957 2003-10-07  Karl Berry  <karl@gnu.org>
125959         * config/config.{guess,sub}: update from config.
125961 2003-10-06  Jim Meyering  <jim@meyering.net>
125962             Bruno Haible  <bruno@clisp.org>
125964         This lets translators provide better translations for the
125965         "Written by ..." part of --version output.
125966         * lib/version-etc.h: Include stdarg.h.
125967         (version_etc_copyright): Declare as readonly.
125968         (version_etc): Make this function variadic with a NULL-terminated list
125969         of author name strings.
125970         (version_etc_va): New declaration.
125971         * lib/version-etc.c: Include stdarg.h, stdlib.h.
125972         (version_etc_copyright): Declare as readonly.
125973         (version_etc_va): New function. Provide a different translatable string
125974         for each possible number of authors < 10. Abbreviate when there are 10
125975         authors or more.
125976         (version_etc): Make this function variadic. Call version_etc_va.
125977         Suggestion from Gary V. Vaughan.
125979         * lib/long-options.h (parse_long_options): Change prototype: the
125980         authors string is moved to the end and becomes variadic.
125981         * lib/long-options.c: Include stdarg.h.
125982         (parse_long_options): Make this function variadic, too.
125983         Call version_etc_va, not version_etc.
125985 2003-10-06  Bruno Haible  <bruno@clisp.org>
125987         * modules/version-etc-2: Remove file.
125988         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
125990 2003-10-06  Bruno Haible  <bruno@clisp.org>
125992         * modules/fatal-signal: New file.
125993         * MODULES.html.sh (func_all_modules): Add fatal-signal.
125995 2003-10-06  Bruno Haible  <bruno@clisp.org>
125997         * m4/fatal-signal.m4: New file.
125998         * m4/signalblocking.m4: New file, from GNU gettext.
126000 2003-10-06  Bruno Haible  <bruno@clisp.org>
126002         * lib/version-etc-2.h: Remove file.
126003         * lib/version-etc-2.c: Remove file.
126005 2003-10-06  Bruno Haible  <bruno@clisp.org>
126007         * lib/fatal-signal.h: New file, from GNU gettext.
126008         * lib/fatal-signal.c: New file, from GNU gettext.
126010 2003-10-05  Paul Eggert  <eggert@twinsun.com>
126012         * README: Rework advice for preventing empty .o files.
126013         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
126014         not <sys/types.h>.
126016 2003-10-04  Karl Berry  <karl@gnu.org>
126018         * lib/argp*: update from libc.
126020 2003-10-04  Karl Berry  <karl@gnu.org>
126022         * config/config.{guess,sub}: update from config.
126024 2003-10-02  Bruno Haible  <bruno@clisp.org>
126026         * modules/lchown (Include): Add lchown.h.
126027         * modules/time_r (Include): Use "..." syntax.
126028         * modules/xgetdomainname (Include): Add xgetdomainname.h.
126030 2003-10-01  Simon Josefsson  <jas@extundo.com>
126032         * MODULES.html.sh (func_all_modules): Move gethostname from section
126033         'based on' to section 'lacking' POSIX:2001.
126035 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
126037         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
126038         to output mode on the same stream.
126040 2003-09-29  Paul Eggert  <eggert@twinsun.com>
126042         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
126043         Fix arg typo in previous patch.
126045 2003-09-28  Jim Meyering  <jim@meyering.net>
126047         * lib/error.c: Correct cpp indentation.
126049 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126051         * modules/free: New file.
126053 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126055         * m4/free.m4: New file.
126057 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126059         * lib/minmax.h (MIN, MAX)
126060         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
126061         Omit the special code that used __typeof__, since we worry that
126062         it could be more trouble than it's worth.  See:
126063         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
126064         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
126066         * lib/free.c: New file.
126068 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
126070         Trivial fixes to Makefile.am parts of module listings.
126071         * modules/strstr: Append strstr.h to lib_SOURCES.
126072         * modules/strcase: Likewise, for strcase.h.
126074 2003-09-27  Karl Berry  <karl@gnu.org>
126076         * config/mkinstalldirs: update from automake.
126078 2003-09-26  Paul Eggert  <eggert@twinsun.com>
126080         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
126081         (error_tail): Do not loop, reallocating temporary buffer, since
126082         the output cannot contain more wide characters than the input
126083         contains bytes, the size must be big enough already.  This avoids
126084         one potential size overflow calculation.  Check for size overflow
126085         when calculating temporary buffer size.  Free temporary buffer
126086         when done, if it was allocated with malloc; this plugs a memory
126087         leak.  Remove casts from void * to pointers, that are no longer
126088         needed now that we're assuming C89 or better.
126090         Merge error changes from glibc.
126092         * lib/error.c, error.h: Update copyright notice header to match glibc.
126093         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
126094         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
126095         Disable cancellation while printing error.
126096         * lib/error.h: Prepend __ to parameter names.
126098 2003-09-26  Jim Meyering  <jim@meyering.net>
126100         * lib/error.c (error_tail): Move some declarations
126101         into inner scope where the local variables are used.
126103 2003-09-26  Bruno Haible  <bruno@clisp.org>
126105         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
126106         stpncpy().
126107         Don't define stpncpy through config.h; it's now done through stpncpy.h.
126109 2003-09-26  Bruno Haible  <bruno@clisp.org>
126111         * lib/stpncpy.h (gnu_stpncpy): New declaration.
126112         (stpncpy): Define as alias for gnu_stpncpy.
126113         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
126115 2003-09-25  Simon Josefsson  <jas@extundo.com>
126117         * lib/xgetdomainname.h: New file.
126118         * lib/xgetdomainname.c: New file.
126120 2003-09-25  Simon Josefsson  <jas@extundo.com>
126121             Bruno Haible  <bruno@clisp.org>
126123         * modules/getdomainname: New file.
126124         * modules/xgetdomainname: New file.
126125         * MODULES.html.sh (func_all_modules): Add getdomainname,
126126         xgetdomainname.
126128 2003-09-25  Simon Josefsson  <jas@extundo.com>
126129             Bruno Haible  <bruno@clisp.org>
126131         * m4/getdomainname.m4: New file.
126133 2003-09-25  Simon Josefsson  <jas@extundo.com>
126134             Bruno Haible  <bruno@clisp.org>
126136         * lib/getdomainname.h: New file.
126137         * lib/getdomainname.c: New file.
126139 2003-09-25  Karl Berry  <karl@gnu.org>
126141         * lib/argp-fmtstream.c, argp-help.c: update from libc.
126143 2003-09-25  Karl Berry  <karl@gnu.org>
126145         * config/install-sh: update from automake.
126147 2003-09-25  Bruno Haible  <bruno@clisp.org>
126149         * modules/version-etc-2: New file, from modules/version-etc with
126150         modifications.
126151         * MODULES.html.sh (func_all_modules): Add version-etc-2.
126153 2003-09-25  Bruno Haible  <bruno@clisp.org>
126155         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
126156         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
126158 2003-09-24  Simon Josefsson  <jas@extundo.com>
126160         * modules/xgethostname: Add xgethostname.h.
126162 2003-09-24  Paul Eggert  <eggert@twinsun.com>
126164         * lib/linebuffer.c (freebuffer): Don't free the argument, just
126165         the buffer associated with the argument.  Bug reported by
126166         Simon Josefsson.
126168 2003-09-24  Paul Eggert  <eggert@twinsun.com>
126170         * README: Document assumptions that 'int' is at least 32 bits
126171         wide, that integer arithmetic is 2's complement without overflow,
126172         that there are no holes in integer values, that adding sizes of
126173         two nonoverlapping objects can't overflow, and that all-bits-zero
126174         yields scalar zero.  Fix spelling and capitalization typos.
126176 2003-09-19  Karl Berry  <karl@gnu.org>
126178         * lib/argp.h: update from libc.
126180 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126182         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
126183         to avoid spurious warnings like "AC_RUN_IFELSE was called before
126184         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
126186 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126188         * gnulib-tool: Use "test -h", not "test -L", for portability
126189         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
126190         (tags_regexp): Remove, since \| doesn't conform to POSIX.
126191         (sed_extract_prog): Issue s commands one-by-one, rather than
126192         using \| in one s command.
126194 2003-09-16  Paul Eggert  <eggert@twinsun.com>
126196         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
126197         input error, instead of returning NULL the next time we are called
126198         (and therefore losing track of errno).
126200 2003-09-16  Bruno Haible  <bruno@clisp.org>
126202         * gnulib-tool (func_create_testdir): Warn about duplicated
126203         dependencies.
126205 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126207         * modules/argmatch, modules/fatal, modules/obstack,
126208         modules/xalloc, modules/xgethostname: Sort dependencies by
126209         importance, not alphabetically.
126211 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126213         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
126214         fails, so that the caller gets the proper errno.
126216         * lib/readutmp.c (read_utmp): Likewise.
126217         Check for fstat error.  Close stream and free storage
126218         when failing.
126220 2003-09-14  Karl Berry  <karl@gnu.org>
126222         * config/srclist.txt (strdup.c): disable for c89 changes.
126224 2003-09-14  Jim Meyering  <jim@meyering.net>
126226         * lib/getloadavg.c: Correct cpp indentation.
126227         * lib/strdup.c: Likewise.
126228         * lib/vasnprintf.c: Likewise.
126230 2003-09-14  Bruno Haible  <bruno@clisp.org>
126232         * modules/fwriteerror: New file.
126233         * MODULES.html.sh (func_all_modules): Add fwriteerror.
126235 2003-09-14  Bruno Haible  <bruno@clisp.org>
126237         * lib/fwriteerror.h: New file.
126238         * lib/fwriteerror.c: New file.
126240 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126242         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
126243         modules/xgethostname, modules/xalloc: Depend on exit.
126245 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126247         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
126249         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
126250         and AC_MINIX, too, so that their extensions are available.
126252         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
126253         This macro has been superseded by gl_BACKUPFILE.
126255         More patches to assume C89 or better.
126257         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
126259         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
126260         unconditionally.
126261         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
126262         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
126263         Include <string.h>, <stdlib.h> unconditionally.
126264         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
126265         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
126266         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
126267         headers or for string.h.
126268         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
126269         or strtoul.
126271         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
126272         headers.
126273         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
126274         * m4/userspec.m4 (gl_USERSPEC): Likewise.
126275         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
126276         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
126277         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
126278         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
126279         memcpy, memset.
126280         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
126281         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
126282         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
126283         strtol.
126284         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
126285         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
126286         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
126287         strtoul.
126289 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126291         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
126292         * lib/obstack.c [!defined _LIBC]: Likewise.
126293         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
126294         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
126295         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
126297         More changes to assume C89 or better.
126299         * lib/error.c (error_tail): Assume vprintf.
126301         * lib/argmatch.c (getenv): Remove decl.
126302         * lib/progreloc.c (get_full_program_name): Define via prototype.
126303         * lib/setenv.c (clearenv): Likewise.
126304         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
126305         needed.
126306         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
126307         (malloc, memcpy): Remove decls.
126308         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
126309         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
126310         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126311         (memcpy): Remove macro.
126312         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
126313         (__P): Remove.  All uses removed.
126314         (PTR): Remove.  All uses changed to void *.
126315         (CHAR_BIT, NULL): Remove.
126316         (spaces, zeros, memset_space, memset_zero)
126317         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
126318         Remove.
126319         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
126320         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
126321         Define with prototype.
126322         Remove now-unnecessary prototype decl.
126323         (extra_args_spec): Assume ANSI C.  All uses changed.
126324         (extra_args_spec_iso): Remove.
126325         (my_strftime, emacs_strftimeu): Define via prototype.
126326         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
126327         unconditionally.
126328         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
126329         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
126330         (strtoul, strtol): Remove decls.
126331         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
126332         LONG_MAX): Remove.
126333         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126334         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
126335         (LOCALE_PARAM_PROTO): New macro.
126336         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
126337         (INTERNAL (strtol), strtol): Define with a prototype.
126338         (PARAMS): Remove.  All uses removed.
126339         * lib/tempname.c: Include <string.h> unconditionally.
126340         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
126341         * lib/xgethostname.c (main): Define with a prototype.
126342         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
126343         Include <stdlib.h> unconditionally.
126344         (calloc, malloc, realloc, free): Remove decls.
126345         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
126346         Include <stdlib.h> unconditionally.  Sort include file names.
126347         (strtod): Remove.
126348         (xstrtod): Define with a prototype.
126349         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
126350         (strtol, strtoul): Remove decls.
126352 2003-09-11  Paul Eggert  <eggert@twinsun.com>
126354         More patches to assume C89 or better.
126355         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
126356         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
126357         string.h, memchr, STDC_HEADERS.
126359 2003-09-11  Paul Eggert  <eggert@twinsun.com>
126361         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
126362         Include <stdlib.h>, <string.h> unconditionally.
126363         Remove now-unnecessary cast to char *.
126364         * lib/strnlen.c: Include <string.h> unconditionally.
126365         * lib/yesno.c (yesno): Define with a prototype.
126367 2003-09-11  Bruno Haible  <bruno@clisp.org>
126369         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
126371 2003-09-10  Jim Meyering  <jim@meyering.net>
126373         * lib/error.c: Correct indentation of cpp directives.
126375 2003-09-10  Bruno Haible  <bruno@clisp.org>
126377         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
126378         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
126379         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
126380         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
126381         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
126382         <stdlib.h> and <string.h> checks.
126383         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
126384         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
126386 2003-09-10  Bruno Haible  <bruno@clisp.org>
126388         * lib/strcspn.c: Include <string.h> unconditionally.
126389         * lib/strpbrk.c: Include <string.h> unconditionally.
126390         * lib/strstr.c: Include <string.h> unconditionally.
126391         * lib/unicodeio.c: Include <string.h> unconditionally.
126392         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
126393         * lib/unsetenv.c: Likewise.
126394         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
126395         * lib/yesno.c: Include <stdlib.h> unconditionally.
126396         (rpmatch): Add prototype.
126398 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126400         More patches to assume C89 or better.
126401         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
126402         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
126403         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
126404         or for string.h.
126405         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
126406         stdlib.h.
126407         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
126408         C headers.
126409         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
126410         string.h.
126411         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
126412         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
126413         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
126414         or for string.h.
126415         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
126416         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
126417         C headers.
126418         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
126419         memcpy.
126420         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
126421         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
126422         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
126423         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
126424         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
126425         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
126426         string.h, free.
126427         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
126428         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
126429         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
126430         C headers, or for string.h.
126431         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
126432         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
126433         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
126434         headers, memory.h, stdlib.h, string.h, strings.h.
126435         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
126436         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
126437         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
126438         strchr.
126439         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
126440         headers, memory.h, string.h.
126441         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
126442         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
126443         free.
126444         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
126445         headers.
126446         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
126447         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
126448         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
126449         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
126450         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
126452 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126454         More K&R removal.
126456         * lib/acosl.c (main): Use a prototype.
126457         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
126458         tanl.c: Likewise.
126460         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
126462         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
126463         (getopt, etopt_long, getopt_long_only, _getopt_internal)
126464         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
126465         with a prototype.
126466         * lib/getopt.c (const): Remove macro.
126467         Include <string.h> unconditionally.
126468         (my_index): Remove; all uses changed to strchr.
126469         (strlen): Remove decl.
126470         (exchange): Remove forward decl; no longer needed.
126471         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
126472         Define with prototype.
126473         * lib/getopt1.c (const): Remove macro.
126474         (getopt_long, getopt_long_only, main): Define with prototype.
126476         * lib/getugroups.c: Include <string.h> unconditionally.
126478         * lib/getusershell.c: Include <stdlib.h> unconditionally.
126479         (getusershell, setusershell, endusershell, readname, main):
126480         Define with prototypes.
126482         * lib/group-member.c: Include group-member.h first.
126483         Include <stdlib.h> unconditionally.
126485         * lib/hard-locale.c: Include hard-locale.h first.
126486         Include <stdlib.h>, <string.h> unconditionally.
126488         * lib/hash.c (free, malloc): Remove decls.
126489         Include <stdlib.h> unconditionally.
126491         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
126492         (getenv): Do not declare.
126494         * lib/idcache.c: Include <string.h> unconditionally.
126496         * lib/long-options.c: Include long-options.h first, to test interface.
126497         Include <stdlib.h> unconditionally.
126499         * lib/makepath.c: Include makepath.h first, to test interface.
126500         Include <stdlib.h> and <string.h> unconditionally.
126502         * lib/linebuffer.c: Include <stdlib.h>.
126503         (free): Remove decl.
126505         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
126506         stddef.h. rpl_malloc returns void *, not char *.
126507         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
126508         prototype.
126510         * lib/md5.h: Include <limits.h> unconditionally.
126511         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
126512         (__P): Remove; all uses removed.
126513         * lib/md5.c: Include "md5.h" first.
126514         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
126515         md5_buffer, md5_process_bytes, md5_process_block):
126516         Define with prototypes.
126517         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
126518         * lib/sha.c: Include "sha.h" first.
126519         Include <stdlib.h>, <string.h> unconditionally.
126521         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
126522         * lib/memcmp.c (__ptr_t): Likewise.
126523         * lib/memrchr.c (__ptr_t): Likewise.
126524         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
126525         Include <string.h> unconditionally.
126526         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
126527         * lib/memchr.c: Include <stdlib.h> unconditionally.
126528         * lib/memchr.c (LONG_MAX): Remove.
126529         * lib/memrchr.c (LONG_MAX): Likewise.
126530         * lib/memchr.c (__memchr): Define via a prototype.
126531         * lib/memrchr.c (__memrchr): Likewise.
126532         * lib/memcmp.c (__P): Remove, and remove all uses.
126533         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
126534         Remove forward decls; no longer needed.
126535         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
126536         Use types required by C89 in prototype.
126538         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
126539         * lib/savedir.c: Likewise.
126540         * lib/mkdir.c (free): Remove decl.
126541         * lib/rmdir.c (rmdir): Define with a prototype.
126542         * lib/savedir.c: Include savedir.h first, to test interface.
126544         * lib/mktime.c (STDC_HEADERS): Remove.
126545         Include <stdlib.h>, <string.h> unconditionally.
126547         * lib/modechange.c: Include <stdlib.h> unconditionally.
126548         (malloc): Remove decl.
126550         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
126551         (free): Remove decl.
126553         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
126554         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
126555         (This type really should be intptr_t, but that's a C99ism.)
126556         (_obstack_memcpy): Remove: all uses changed to memcpy.
126557         Include <string.h> unconditionally.
126558         (struct obstack): Assume __STDC__ for types of members
126559         chunkfun, freefun, extra_arg.
126560         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
126561         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
126562         obstack_begin, obstack_specify_allocation,
126563         obstack_specify_allocation_with_arg, obstack_chunkfun,
126564         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
126565         Remove unprototyped decls and the macros that use them.
126566         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
126567         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
126568         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
126569         (defined __STDC__ && __STDC__)]:
126570         Remove nonprototyped code.
126571         Include <stdlib.h> unconditionally.
126572         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
126573         _obstack_allocated_p, _obstack_free, obstack_free,
126574         _obstack_memory_used, print_and_abort):
126575         Define using prototypes.
126576         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
126577         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
126578         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
126579         obstack_next_free, obstack_object_size, obstack_room) [0]:
126580         Remove unused, unprototyped code.
126582         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
126584         * lib/physmem.c (physmem_total, physmem_available, main): Define
126585         with prototypes.
126587         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
126588         (main): Define with a prototype.
126590         * lib/posixver.c (getenv): Remove decl.
126592         * lib/putenv.c (malloc): Returns void *, not char *.
126593         Include <string.h> unconditionally.
126594         (strchr, memcpy, NULL): Do not define.
126596         * lib/readtokens.c: Include readtokens.h first, to test interface.
126597         Include <stdlib.h>, <string.h> unconditionally.
126598         (init_tokenbuffer): Define with a prototype.
126600         * lib/regex.c (PARAMS): Remove.  All uses removed.
126601         All uses of _RE_ARGS removed, too.
126602         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
126603         unconditionally.
126604         (bzero): Assume memset exists.
126605         (memcmp, memcpy, NULL): Remove.
126606         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
126607         char, or assignments to local vars of type signed char.
126608         (init_syntax_once, PREFIX(extract_number_and_incr),
126609         PREFIX(print_partial_compiled_pattern),
126610         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
126611         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
126612         PREFIX(regex_grow_registers), PREFIX(regex_compile),
126613         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
126614         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
126615         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
126616         wcs_compile_range, byte_compile_range, truncate_wchar,
126617         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
126618         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
126619         count_mbs_length, wcs_re_match_2_internal,
126620         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
126621         PREFIX(alt_match_null_string_p),
126622         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
126623         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
126624         regfree, PREFIX(extract_number)): Define with prototype.  Remove
126625         now-unnecessary declaration, if any.
126626         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
126627         regcomp, regexec):
126628         Remove now-unnecessary casts among pointer types.
126629         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
126631         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
126632         (free): Remove decl.
126634         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
126636         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
126637         (free): Remove decl.
126639         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
126640         * lib/xgetcwd.c: Likewise.
126642         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
126643         (free): Remove decl.
126645         * lib/strchrnul.c (strchrnul): Define with a prototype.
126646         Fix bug: c_in was not converted to char before searching.
126648         The following changes are not K&R related:
126650         * lib/group-member.h: Include <sys/types.h>, so that this file is
126651         self-contained.
126652         * lib/makepath.h: Likewise.
126654         * lib/getusershell.c (readname, default_index, line_size, readname):
126655         Use size_t, not int, for sizes.
126656         (readname): If the size overflows, report an error instead of
126657         looping forever.
126659 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126661         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
126662         libc.
126664 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126666         * README: New section: portability guidelines.
126668 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
126670         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
126671         C89 spec.
126673 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
126675         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
126677 2003-09-08  Paul Eggert  <eggert@twinsun.com>
126679         Assume C89 or better; remove K&R cruft.
126680         A few of these changes were first proposed by Derek Robert Price
126681         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
126683         * lib/addext.c: Include <string.h> unconditionally.
126684         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
126685         Don't declare getenv or malloc.
126687         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
126688         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
126689         (NULL): Remove.
126690         (find_stack_direction, alloca): Use prototypes.
126692         * lib/atexit.c (atexit): Define using a prototype.
126694         * lib/basename.c, dirname.c, stripslash.c:
126695         Include <string.h> unconditionally.
126697         * lib/bcopy.c: Include <stddef.h>.
126698         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
126700         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
126702         * lib/error.h (error, error_at_line, error_print_progname)
126703         [! (defined (__STDC__) && __STDC__)]: Remove decls.
126704         * lib/error.c: Include error.h first, to check interface.
126705         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
126706         (VA_START): Remove; all uses changeed to va_start.
126707         (exit, strerror): Remove decls.
126708         (error_print_progname): Prototype uncondionally.
126709         Don't include <errno.h>; no longer needed.
126710         (private_strerror): Remove.
126711         (error_tail): Always define.
126712         (error, error_at_line): Assume C89 or better; always use prototypes.
126713         * lib/fatal.c: Include "fatal.h" first, to test interface.
126714         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
126715         (VA_START): Remove; all uses changed to va_start.
126716         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
126717         this case.
126718         (exit): Remove decl.
126719         (fatal): Prototype unconditionally.  Assume va_start works.
126720         Abort at end, to pacify gcc.
126722         * lib/euidaccess.c (main): Define with a prototype.
126724         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
126726         * lib/exitfail.c: Include <stdlib.h> unconditionally.
126728         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
126729         prototypes.
126730         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
126731         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
126732         (getenv): Remove decl.
126733         (fnmatch): Define using a prototype.
126734         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
126735         (FCT): Define using a prototype.
126737         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
126739         * lib/gethostname.c: Include <stddef.h>.
126740         (gethostname): Define with prototype.  Length is size_t, not int.
126742 2003-09-08  Paul Eggert  <eggert@twinsun.com>
126744         Assume C89 or better; remove K&R cruft.
126745         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
126746         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
126747         string.h, getenv, malloc.
126748         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
126749         headers.
126750         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
126751         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
126752         do not check for strerror.
126753         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
126754         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
126755         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
126756         do not check for doprnt or vprintf.
126757         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
126758         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
126760 2003-09-08  Paul Eggert  <eggert@twinsun.com>
126762         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
126763         getversion.c should have been removed then, but was accidentally
126764         preserved.
126766         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
126767         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
126769 2003-09-08  Karl Berry  <karl@gnu.org>
126771         * config/config.sub, config.guess, srclistvars.sh: update from savannah
126772                 config, forget about prep.
126774         * config/depcomp, missing: update from automake.
126776 2003-09-07  Paul Eggert  <eggert@twinsun.com>
126778         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
126779         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
126781 2003-09-07  Paul Eggert  <eggert@twinsun.com>
126783         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
126784         copy_tm_result.  Bug reported by Simon Josefsson in
126785         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
126787 2003-09-06  Paul Eggert  <eggert@twinsun.com>
126789         * m4/time_r.m4: New file.
126790         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
126791         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
126792         is. Check for timegm declaration.
126793         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
126794         Do not check for gmtime_r.
126795         Replace mktime if __mktime_internal does not exist and if mktime
126796         hasn't been replaced already.
126798 2003-09-06  Paul Eggert  <eggert@twinsun.com>
126800         * lib/time_r.c, lib/time_r.h: New files.
126802         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
126803         __localtime_r.
126804         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
126805         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
126807         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
126808         __gmtime_r.
126809         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
126810         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
126811         Include <time_r.h>.
126813         * lib/timegm.c: Switch to glibc implementation, with the following
126814         changes:
126815         [defined HAVE_CONFIG_H]: Include <config.h>.
126816         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
126817         (__mktime_internal) [!defined _LIBC]: New decl.
126818         (__gmtime_r) [!defined _LIBC]: New macro and function.
126819         (timegm): Use a prototype, since gnulib assumes C89.
126820         Do not bother declaring tmp to be const, as it's not really usefu.
126821         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
126822         (timegm): Declare only if HAVE_DECL_TIMEGM.
126824 2003-09-06  Paul Eggert  <eggert@twinsun.com>
126826         * MODULES.html.sh (func_all_modules): Add time_r.
126827         * modules/time_r: New file.
126828         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
126829         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
126831 2003-09-03  Paul Eggert  <eggert@twinsun.com>
126833         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
126834         Bug reported by Lute Kamstra in
126835         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
126837         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
126838         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
126839         course with correspondingly smaller numbers for tomorrow and
126840         yesterday.  From Tadayoshi Funaba.  Originally installed into
126841         sh-utils on 1999-08-07, but the patch got lost (I guess during the
126842         coreutils merge?).
126844 2003-08-31  Simon Josefsson  <jas@extundo.com>
126846         * modules/timegm: New file.
126847         * MODULES.html.sh (func_all_modules): Add timegm.
126849 2003-08-31  Simon Josefsson  <jas@extundo.com>
126851         * m4/timegm.m4: New file.
126853 2003-08-31  Simon Josefsson  <jas@extundo.com>
126855         * lib/timegm.h: New file.
126856         * lib/timegm.c: New file.  Based on
126857         wget-1.8.2/src/http.c:mktime_from_utc.
126859 2003-08-31  Karl Berry  <karl@gnu.org>
126861         * lib/argp.h: update from libc.
126863 2003-08-28  Bruno Haible  <bruno@clisp.org>
126865         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
126866         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
126867         followed by '#define fnmatch fnmatch_posix' gives an error.
126869 2003-08-28  Bruno Haible  <bruno@clisp.org>
126871         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
126872         warning on QNX, which defines O_BINARY to 000000.
126874 2003-08-27  Jim Meyering  <jim@meyering.net>
126876         * m4/mkstemp.m4: Require that the system mkstemp be able to create
126877         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
126878         would fail after 32.  Reported by Danny Levinson.  Details here:
126879         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
126881 2003-08-24  Bruno Haible  <bruno@clisp.org>
126883         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
126884         MSVC7 <stdio.h> is included later.
126886 2003-08-22  Simon Josefsson  <jas@extundo.com>
126888         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
126890 2003-08-20  Karl Berry  <karl@gnu.org>
126892         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
126894 2003-08-20  Bruno Haible  <bruno@clisp.org>
126896         * modules/progname: New file.
126897         * MODULES.html.sh (func_all_modules): Add progname.
126899 2003-08-20  Bruno Haible  <bruno@clisp.org>
126901         * lib/progname.h: New file, from GNU gettext.
126902         * lib/progname.c: New file, from GNU gettext.
126903         * lib/progreloc.c: New file, from GNU gettext.
126905 2003-08-19  Jim Meyering  <jim@meyering.net>
126907         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
126908         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
126910 2003-08-19  Bruno Haible  <bruno@clisp.org>
126912         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
126913         more.
126915 2003-08-19  Bruno Haible  <bruno@clisp.org>
126917         * lib/xstrdup.c: Assume <string.h> exists.
126919 2003-08-18  Paul Eggert  <eggert@twinsun.com>
126921         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
126922         in makefile rules.
126924 2003-08-18  Jim Meyering  <jim@meyering.net>
126926         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
126927         * m4/lib-ld.m4: Likewise.
126929 2003-08-18  Jim Meyering  <jim@meyering.net>
126931         * lib/setenv.h: Indent nested cpp directive.
126932         * lib/vasnprintf.c: Remove trailing blanks.
126934 2003-08-17  Simon Josefsson  <jas@extundo.com>
126936         * modules/xstrndup: New file.
126937         * MODULES.html.sh (func_all_modules): Add xstrndup.
126939 2003-08-17  Simon Josefsson  <jas@extundo.com>
126941         * modules/argp: Fix autoconf macro name. Add more dependencies.
126943 2003-08-17  Simon Josefsson  <jas@extundo.com>
126945         * m4/xstrndup.m4: New file.
126947 2003-08-17  Simon Josefsson  <jas@extundo.com>
126949         * m4/argp.m4: New file.
126951 2003-08-17  Simon Josefsson  <jas@extundo.com>
126952             Bruno Haible  <bruno@clisp.org>
126954         * lib/xstrndup.h: New file.
126955         * lib/xstrndup.c: New file.
126957 2003-08-17  Bruno Haible  <bruno@clisp.org>
126959         * modules/strndup (Files, Include): Add lib/strndup.h.
126961 2003-08-17  Bruno Haible  <bruno@clisp.org>
126963         * modules/euidaccess (Files): Add lib/euidaccess.h.
126965 2003-08-17  Bruno Haible  <bruno@clisp.org>
126967         * lib/strndup.h: New file.
126969 2003-08-17  Bruno Haible  <bruno@clisp.org>
126971         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
126972         like AC_GNU_SOURCE.
126973         * modules/extensions (configure.ac): Comment out the invocation of
126974         gl_USE_SYSTEM_EXTENSIONS.
126976 2003-08-16  Paul Eggert  <eggert@twinsun.com>
126978         Merges from coreutils, etc.
126979         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
126980         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
126981         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
126982         fixing a typo.
126983         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
126984         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
126986 2003-08-16  Paul Eggert  <eggert@twinsun.com>
126988         Document merge from coreutils.
126989         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
126990         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
126991         * modules/utime: Add m4/utimes-null.m4.
126993 2003-08-16  Paul Eggert  <eggert@twinsun.com>
126995         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
126996         space, undoing this 2003-08-12 change:
126997         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
126999 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127001         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
127002         strtoul.c from libc, undoing this 2003-08-12 change:
127003         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127005 2003-08-16  Jim Meyering  <jim@meyering.net>
127007         Merges from coreutils.
127008         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
127009         prefix.  Adjust cache variables similarly.  Create 500 rather than
127010         just 300 files, to exercise bug on Darwin6.5, too.
127011         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
127012         $missing_dir.
127013         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
127014         AM_SYS_POSIX_TERMIOS.
127015         Reported by mkc@mathdogs.com.
127016         Also change use of $am_cv_sys_posix_termios
127017         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
127018         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
127019         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
127020         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
127021         in /proc/mounts until it finds one with matching device number.  This
127022         is unnecessary when the FILE argument *is* a mount point.  No stat call
127023         is necessary in that case.  So, disable the statvfs-testing code on
127024         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
127025         as RedHat bug# 84846.
127026         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127027         to 1MB, so as not to render systems with no stack size limit (e.g.,
127028         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127029         Include <unistd.h>.  On some systems,
127030         it is required for the definition of _SC_PAGESIZE.
127032 2003-08-16  Jim Meyering  <jim@meyering.net>
127034         Merge from coreutils.
127035         * lib/xstrtoimax.c: #else #if -> #elif.
127036         * lib/xstrtoumax.c: Likewise.
127038 2003-08-16  Jim Meyering  <jim@meyering.net>
127040         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
127041         * m4/utimes.m4: Removed.
127042         * m4/utimes-null.m4: Renamed from utimes.m4.
127044         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127045         to 1MB, so as not to render systems with no stack size limit (e.g.,
127046         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127047         Include <unistd.h>.  On some systems,
127048         it is required for the definition of _SC_PAGESIZE.
127050 2003-08-16  Jim Meyering  <jim@meyering.net>
127051         and Paul Eggert  <eggert@cs.ucla.edu>
127053         Merges from coreutils, etc.
127055         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
127056         using the latest version from cvs.  This avoids problems with #line
127057         directives using a vendor (Sun) compiler.
127058         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
127059         Don't set GETGROUPS_LIB here; now it's
127060         done via getgroups.m4's wrapper function.
127061         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
127062         rather than just in sh-util/configure.in, so that the
127063         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
127064         same.
127065         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
127066         AC_FUNC_GETLOADAVG where to find getloadavg.c.
127067         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
127068         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
127069         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
127070         Remove code that is now done by the newly-required macros.
127071         Append $(EXEEXT) to DF_PROG.
127072         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
127073         Do not invoke or require the following here,
127074         since prereq.m4 or some gnulib .m4 now does this for us:
127075         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
127076         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
127077         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
127078         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
127079         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
127080         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
127081         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
127082         AC_FUNC_OBSTACK.
127083         Do not replace the following functions, as this is now the job
127084         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
127085         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
127086         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
127087         atexit getpass, strdup, getpagesize.
127088         Replace 'raise'.
127089         Do not check for the following functions, as this is now the job
127090         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
127091         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
127092         setregid.
127093         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
127094         Check for sys/sysctl.h.
127095         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
127096         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
127097         of checking for ssize_t ourselves.
127099         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
127100         Require every macro that gnulib/modules/* suggests for us.
127101         (jm_PREREQ_ADDEXT): New macro.
127102         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
127103         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
127105         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
127106         (gl_PHYSMEM): Use it.
127107         Also check for `table' function.
127108         Check for new headers and functions.
127109         Add check for sys/sysmp.h.
127110         With suggestions from Kaveh Ghazi.
127111         Ignore headers that are present but cannot be compiled.  This
127112         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
127113         C 5.4.
127115 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127117         Document merge from coreutils.
127118         * modules/userspec: Depend on posixver.
127119         * modules/strftime: Depend on tzset.
127121 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127123         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
127124         rather than tab, after '#' in shell-script copyright notices.
127125         Suggested by Bruno Haible.
127127 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127129         * config/srclist-update: Use three spaces, rather than tab, after '#'
127130         in shell-script copyright notices.  Suggested by Bruno Haible.
127131         Remove unnecessary parenthesization in regular expression.
127133 2003-08-15  Jim Meyering  <jim@meyering.net>
127135         Merge from coreutils.
127136         * lib/xgethostname.c: Include <stdlib.h>.
127137         (xghostname): Don't exit for anything other than memory-related
127138         failure; just return NULL.
127139         * lib/userspec.c: Include "posixver.h".
127140         (parse_user_spec): Accept `.' as a separator only
127141         in pre-POSIX-200112 mode.
127142         * lib/strtoimax.c: Use #elif rather than #else #if.
127143         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
127144         Remove function, now that we can rely on a working tzset function.
127145         [!_LIBC]: Ensure that the required autoconf test has been run.
127146         [!defined _NL_CURRENT && HAVE_STRFTIME]:
127147         Use underlying_strftime for %r.
127148         * lib/sha.c: Merge in some clean-up and optimization changes from
127149         glibc.
127150         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
127151         Ensure that it is a multiple of 64.
127152         Rearrange loop exit tests so as to avoid performing an
127153         additional fread after encountering an error or EOF.
127154         * lib/realloc.c: Update copyright date.
127156 2003-08-15  Jim Meyering  <jim@meyering.net>
127157         and Paul Eggert  <eggert@twinsun.com>
127159         Merge from coreutils.
127160         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
127161         member but strut utmpx does not.  Needed for AIX 4.3.3.
127162         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
127164 2003-08-15  Jim Meyering  <jim@meyering.net>
127165         and Paul Eggert  <eggert@cs.ucla.edu>
127167         Merges from coreutils, etc.
127168         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
127169         Require gl_FUNC_TZSET_CLOBBER.
127170         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
127171         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
127172         members.
127174 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127176         Help the merge from coreutils.
127177         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
127178         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
127179         * m4/tzset.m4: Use it too.
127181 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127183         * modules/tzset: New file.
127185 2003-08-14  Jim Meyering  <jim@meyering.net>
127187         Merges from coreutils.
127188         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
127189         variable names, rather than @FNMATCH_H@.
127190         * modules/alloca: Likewise for $(ALLOCA_H).
127192         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
127193         the three copies of the literal target, `fnmatch.h'.
127194         * modules/alloca (alloca.h): Likewise.
127196 2003-08-14  Jim Meyering  <jim@meyering.net>
127198         Merge from coreutils.
127199         * m4/tzset.m4: New file.
127200         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
127201         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
127202         otherwise, AIX 5.1 systems would end up using the latter.
127203         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
127204         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
127205         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
127206         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
127208 2003-08-14  Jim Meyering  <jim@meyering.net>
127210         Merge from coreutils.
127211         * lib/obstack.h: Whitespace changes.
127212         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
127213         and xcalloc return values.
127214         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
127215         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
127216         hang on OSF/1 5.1 for DIR on both local and remote file systems.
127217         Reported by (and fix confirmed by) Nelson H. F. Beebe.
127218         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
127219         error from mntctl.
127220         Use mntctl's return value to drive the entry-processing loop, since
127221         we can't rely on the value of the vmt_length member in the last
127222         entry.  On some systems doing so could result in exhausting
127223         virtual memory.  Based in part on a patch from Mike Jetzer.
127225 2003-08-14  Jim Meyering  <jim@meyering.net>
127226         and Paul Eggert  <eggert@twinsun.com>
127228         Merges from coreutils, plus other fixes.
127229         * lib/physmem.c: Merge in portability changes from gcc/libiberty
127230         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
127231         for credits and details.  Thanks to Kaveh Ghazi for helping
127232         to keep these files in sync.
127233         (ARRAY_SIZE): Define it.
127234         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
127235         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
127236         (memcasecmp): Don't assume size_t fits in unsigned int.
127237         Remove casts and duplicate code.
127238         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
127239         (memcpy): Remove definition.
127240         Merge in some clean-up and optimization changes from glibc.
127241         [BLOCKSIZE]: Move definition to top of file.
127242         Ensure that it is a multiple of 64.
127243         Rearrange loop exit tests so as to avoid performing an
127244         additional fread after encountering an error or EOF.
127245         * lib/md5.h (md5_uintptr): Define.
127246         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
127247         return to the initial working directory.  Preserve errno
127248         for caller.
127249         * lib/idcache.c: Include "xalloc.h".
127250         (xmalloc, xrealloc): Remove decls.
127251         (getuser): Remove casts no longer required in C89.
127252         * lib/human.c: Include stdio.h, for sprintf.
127253         * lib/group-member.c: Include "xalloc.h".
127254         (xmalloc, xrealloc): Remove decls.
127255         (get_group_info): Remove casts no longer required in C89.
127256         * lib/getusershell.c (readname): Remove casts no longer required in
127257         C89.
127258         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
127259         * lib/getline.c: Whitespace fix, from coreutils.
127261 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127263         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
127264         Check for isascii.
127266         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127267         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127268         Undo previous (whitespace-only) change.
127270 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127272         * lib/exclude.c: Include <ctype.h>
127273         (IN_CTYPE_DOMAIN): New macro.
127274         (is_space): New fn.
127275         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
127276         and empty lines.
127278         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127279         Undo previous (whitespace-only) change.
127281 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127283         * config/srclist-update: Change update back to the old behavior,
127284         leaving whitespace alone.  Use one 'sed' command rather than a
127285         pipeline.
127286         (fixlicense): Now a variable, not a function.
127287         (remove_trailing_blanks): Remove.
127288         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
127289         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127290         Undo previous (whitespace-only) change.
127292 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127294         Merge from coreutils.
127295         * modules/euidaccess: Add lib_SOURCES, include for new
127296         file euidaccess.h
127298 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127300         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127301         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127302         Normalize leading white space and remove trailing white space.
127304         Merge from coreutils
127305         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
127307         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
127308         0.12.1.  These files are now being upgraded automatically by
127309         ../config/srclist-update.
127311 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127313         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127314         Normalize leading white space and remove trailing white space.
127315         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
127316         notice, as per ../config/srclist-update.
127318         Merge from coreutils.
127319         * lib/euidaccess.h: New file.
127320         * lib/euidaccess.c: Include it.
127321         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
127322         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
127323         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
127325 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127327         * config/srclist-update: Add copyright notice.
127328         (remove_id_lines, remove_trailing_blanks): New constants.
127329         (fixfile): Use them to normalize spacing a bit in copied files.
127330         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127331         Normalize leading white space and remove trailing white space.
127333         * config/texinfo.tex: Sync with texinfo.
127335         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
127336         strtoul.c from libc, to merge coreutils whitespace changes.
127338         * config/srclist.txt: Get the following m4 files from gettext:
127339         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
127340         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
127341         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
127342         wint_t.m4.
127344 2003-08-12  Karl Berry  <karl@gnu.org>
127346         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
127347         been made.
127349 2003-08-11  Paul Eggert  <eggert@twinsun.com>
127351         * modules/gnu-source, m4/gnu-source.m4:
127352         Remove; we're assuming Autoconf 2.54 or later now.
127353         Suggested by Bruno Haible.
127354         * MODULES.html.sh (func_all_modules): Remove gnu-source.
127356 2003-08-11  Bruno Haible  <bruno@clisp.org>
127358         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
127360 2003-08-11  Bruno Haible  <bruno@clisp.org>
127362         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
127363         (vasnprintf): Use it instead of wcslen.
127365 2003-08-11  Bruno Haible  <bruno@clisp.org>
127367         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
127368         value to ensure that _Bool promotes to int. Use #define for _Bool when
127369         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
127371 2003-08-10  Karl Berry  <karl@gnu.org>
127373         * lib/regex.h: update from libc (whitespace fix).
127375 2003-08-09  Paul Eggert  <eggert@twinsun.com>
127377         Merge some files from coreutils.  These changes were
127378         originally made by Jim Meyering.
127379         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
127380         many older Unixes require this.
127381         * lib/alloca.c (alloca): Remove cast to argument of free;
127382         no longer needed in C89.
127383         * lib/alloca_.h, regex.h: Fix white space to match
127384         what GNU indent does.
127386 2003-08-09  Paul Eggert  <eggert@twinsun.com>
127388         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
127389         apparently Emacs's Unicode mode got confused before my 2003-08-05
127390         checkin.
127392 2003-08-08  Paul Eggert  <eggert@twinsun.com>
127394         * m4/extensions.m4: New file.
127395         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
127396         Require gl_USE_SYSTEM_EXTENSIONS.
127397         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
127398         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
127400 2003-08-08  Paul Eggert  <eggert@twinsun.com>
127402         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
127403         * modules/extensions, modules/gnu-source: New files.
127404         * modules/timespec, modules/unlocked-io: Depend on extensions.
127406 2003-08-07  Paul Eggert  <eggert@twinsun.com>
127408         * modules/restrict: New file.
127409         * MODULES.html.sh (func_all_modules): Add restrict.
127410         * modules/regex: Depend on restrict.
127412 2003-08-07  Paul Eggert  <eggert@twinsun.com>
127414         * m4/restrict.m4: New file.
127415         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
127417 2003-08-07  Bruno Haible  <bruno@clisp.org>
127419         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
127420         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
127422 2003-08-07  Bruno Haible  <bruno@clisp.org>
127424         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
127425         makes the module 'getndelim2' compatible with the module 'getline'.
127427 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127429         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
127430         byte with "\201" to avoid glitches when editing that source file
127431         with multi-gnome-terminal.
127433 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127435         * lib/bumpalloc.h: Remove.
127437 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127439         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
127440         * modules/bumpalloc: Remove.
127442 2003-08-04  Paul Eggert  <eggert@twinsun.com>
127444         * lib/getloadavg.c: Change copyright notice and spacing to conform to
127445         GNU coding style.
127447         Merge from coreutils.
127448         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
127449         1. From glibc.
127450         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
127451         from Karl Berry, implemented by Jim Meyering.
127452         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
127453         from Dmitry V. Levin.
127454         Remove anachronistic cast of xrealloc.
127455         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
127456         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
127457         type. Otherwise, it wouldn't compile with at least /bin/cc on
127458         ymp-cray-unicos9.0.2.X.
127459         Combine two mostly-identical uses of alloca into one.
127460         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
127462 2003-08-04  Dave Love  <d.love@dl.ac.uk>
127464         [From Emacs.]
127466         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
127467         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
127468         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
127469         obsolete NLIST_NAME_UNION.
127470         [__GNU__]: Undef BSD and FSCALE.
127471         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
127473 2003-08-03  Paul Eggert  <eggert@twinsun.com>
127475         * lib/stdbool_.h (_Bool): Make it signed char, instead of
127476         an enum type, so that it's guaranteed to promote to int.  See:
127477         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
127479 2003-08-03  Karl Berry  <karl@gnu.org>
127481         * config/depcomp: update from automake.
127483 2003-07-31  Paul Eggert  <eggert@twinsun.com>
127485         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
127486         (strerror): Don't assume that a printable int fits in 14 bytes.
127488 2003-07-31  Bruno Haible  <bruno@clisp.org>
127490         * modules/getpass-gnu: New file.
127491         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
127493 2003-07-31  Bruno Haible  <bruno@clisp.org>
127495         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
127497 2003-07-24  Karl Berry  <karl@gnu.org>
127499         * config/missing: update from automake.
127501 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
127502             Bruno Haible  <bruno@clisp.org>
127504         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
127505         * lib/getline.c (getline, getdelim): Likewise.
127506         Remove _GNU_SOURCE define; now it's defined in config.h through
127507         m4/getline.m4.
127509 2003-07-23  Karl Berry  <karl@gnu.org>
127511         * config/config.sub: update from prep.
127513 2003-07-22  Paul Eggert  <eggert@twinsun.com>
127515         * modules/xalloc (Depends-on): Add exitfail.
127516         * modules/xmemcoll: Likewise.
127518 2003-07-22  Paul Eggert  <eggert@twinsun.com>
127520         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
127521         over-parenthesization in macros.
127523         Sync with coreutils.
127525         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
127526         required by C99.
127528         Use `exit_failure' for xalloc and xmemcoll instead of their own
127529         private exit-failure variables.
127530         * lib/xalloc.h (xalloc_exit_failure): Remove.
127531         * lib/xmalloc.c: Likewise.  Include exitfail.h.
127532         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
127533         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
127534         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
127535         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
127537 2003-07-20  Jim Meyering  <jim@meyering.net>
127539         * modules/closeout (Depends-on): Add exitfail.
127540         Suggestion from Bruno Haible.
127542 2003-07-19  Karl Berry  <karl@gnu.org>
127544         * config/config.sub: update from prep.
127546 2003-07-18  Paul Eggert  <eggert@twinsun.com>
127548         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
127549         Remove.
127550         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
127551         to test that it can stand by itself.  Include "exitfail.h".
127552         Clients should set exit_failure instead.
127553         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
127555 2003-07-18  Bruno Haible  <bruno@clisp.org>
127557         * modules/getndelim2: New file.
127558         * modules/getline: Share files with module getndelim2.
127559         * modules/getnline: Depend on getndelim2 instead of sharing files with
127560         it. Add getnline.c to lib_SOURCES.
127561         * MODULES.html.sh (func_all_modules): Add getndelim2.
127563 2003-07-18  Bruno Haible  <bruno@clisp.org>
127565         * m4/getndelim2.m4: New file.
127566         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
127567         invoke gl_PREREQ_GETNDELIM2.
127568         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
127569         gl_PREREQ_GETNDELIM2.
127570         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
127571         gl_GETNDELIM2.
127573 2003-07-18  Bruno Haible  <bruno@clisp.org>
127575         * lib/getndelim2.h: New file.
127576         * lib/getndelim2.c: Make into a module of its own. Include config.h,
127577         getndelim2.h.
127578         (getndelim2): Make non-static. Change return type to ssize_t.
127579         * lib/getline.h: Change argument names.
127580         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
127581         * lib/getnline.c: Include getndelim2.h.
127583 2003-07-18  Andreas Schwab  <schwab@suse.de>
127585         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
127587 2003-07-17  Karl Berry  <karl@gnu.org>
127589         * config/config.sub: update from prep.
127591 2003-07-17  Bruno Haible  <bruno@clisp.org>
127593         * modules/getnline: New file.
127594         * modules/getline: Add lib/getndelim2.c to source file list.
127595         * MODULES.html.sh (func_all_modules): Add getnline.
127597 2003-07-17  Bruno Haible  <bruno@clisp.org>
127599         * m4/getnline.m4: New file.
127601 2003-07-17  Bruno Haible  <bruno@clisp.org>
127603         * m4/Makefile.am.in: Remove file.
127604         * m4/Makefile.am: Remove file.
127605         * m4/Makefile.in: Remove file.
127607 2003-07-17  Bruno Haible  <bruno@clisp.org>
127609         * lib/getnline.h: New file.
127610         * lib/getnline.c: New file.
127611         * lib/getndelim2.c: New file, extracted from getline.c.
127612         (getndelim2): Renamed from getdelim2, with added nmax argument.
127613         * lib/getline.c: Include getndelim2.c.
127614         (getdelim2): Moved out to getndelim2.c.
127615         (getline, getdelim): Update.
127617 2003-07-17  Bruno Haible  <bruno@clisp.org>
127619         * lib/Makefile.am: Remove file.
127620         * lib/Makefile.in: Remove file.
127622 2003-07-17  Bruno Haible  <bruno@clisp.org>
127624         * configure.in: Remove file.
127625         * Makefile.in: Remove file.
127627 2003-07-17  Bruno Haible  <bruno@clisp.org>
127629         * MODULES.html.sh: Put the </BODY> right before </HTML>.
127631 2003-07-16  Karl Berry  <karl@gnu.org>
127633         * config/srclist-update: was running fixlicense twice, which caused
127634                 texinfo.tex to be nullified for some reason.  Simplify,
127635                 $gplsrc is no longer needed as far as I can see?
127637 2003-07-16  Jim Meyering  <jim@meyering.net>
127639         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
127641 2003-07-15  Paul Eggert  <eggert@twinsun.com>
127643         * config/srclist.txt: Get the following files from gettext-runtime/intl
127644         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
127645         ref-del.sin.  From Bruno Haible.
127646         * config/srclist-update (fixfile): Change grep pattern again, since the
127647         previous fix didn't work (there was another trailing $).  Use
127648         '[$]' to escape the $s.
127650 2003-07-15  Karl Berry  <karl@gnu.org>
127652         * lib/vasnprintf.c: update from gettext.
127654 2003-07-15  Karl Berry  <karl@gnu.org>
127656         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
127657         gets expanded when surrounded by '$'.
127659 2003-07-15  Jim Meyering  <jim@meyering.net>
127661         * modules/save-cwd: Don't depend on error.  From Derek Price.
127663 2003-07-15  Jim Meyering  <jim@meyering.net>
127665         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
127667 2003-07-14  Simon Josefsson  <jas@extundo.com>
127669         * modules/mempcpy: New file.
127670         * MODULES.html.sh (func_all_modules): Add mempcpy.
127672 2003-07-14  Simon Josefsson  <jas@extundo.com>
127674         * m4/mempcpy.m4: New file.
127676 2003-07-14  Simon Josefsson  <jas@extundo.com>
127678         * lib/mempcpy.h: New file.
127679         * lib/mempcpy.c: New file.
127681 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127683         * modules/getdate, modules/posixtm: Depend on mktime.
127685 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127687         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
127688         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
127689         unicodeio.c, unicodeio.h, unlocked-io.h:
127690         Switch from LGPL to GPL.
127692 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127694         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
127695         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
127696         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
127697         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
127698         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
127699         updated automatically by ../config/srclist-update.  This changes
127700         their license from LPGL to GPL.
127702 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127704         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
127705         assumed to refer to the root of the most recent stable gettext version.
127706         * config/srclistvars.sh: Add defaults for eggert.
127707         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
127708         Match "This program" as well as "The program".  This is needed
127709         for gettext.
127711 2003-07-14  Jim Meyering  <jim@meyering.net>
127713         Don't emit diagnostics.  Let callers do that.
127714         * lib/save-cwd.c: Don't include "error.h".
127715         (save_cwd): Don't call error.  Ensure that errno is valid
127716         when returning nonzero.
127718         * lib/save-cwd.h (restore_cwd): Update prototype.
127719         * lib/save-cwd.c (restore_cwd): Remove two parameters.
127720         Simplify.  Don't call error upon failure.  Let callers do that.
127721         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
127722         when auditing is enabled.  But don't bother updating the #if.
127724 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
127726         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
127727         it breaks C++ compilation.
127728         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
127730 2003-07-10  Simon Josefsson  <jas@extundo.com>
127732         * modules/strchrnul (Makefile.am): Add strchrnul.h.
127734 2003-07-10  Jim Meyering  <jim@meyering.net>
127736         * m4/clock_time.m4: Remove trailing blank.
127737         * m4/intmax_t.m4: Likewise.
127739 2003-07-10  Jim Meyering  <jim@meyering.net>
127741         * lib/vasnprintf.c: Remove trailing blanks.
127742         Make cpp indentation consistent.
127744 2003-07-09  Paul Eggert  <eggert@twinsun.com>
127746         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
127747         posixver.c, strftime.c, strnlen.c, strverscmp.c:
127748         Switch from LGPL to GPL.
127750 2003-07-09  Paul Eggert  <eggert@twinsun.com>
127752         * config/srclist.txt: Sort sublists.  Add
127753         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
127754         that differ from gnulib for one reason or another; we'd like this list
127755         to be smaller but for now let's document what we have.
127757 2003-07-08  Paul Eggert  <eggert@twinsun.com>
127759         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
127760         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
127761         and sweeter "eval x=$x".
127762         * config/srclist.txt: Get lib/argp* from glibc.
127764 2003-07-07  Paul Eggert  <eggert@twinsun.com>
127766         * lib/mktime.c: Fix some boundary cases and remove need for floating
127767         point.
127769         Issue a compile-time diagnostic if time_t is floating point, or if
127770         two's complement arithmetic is not in effect, or if arithmetic
127771         right shift does not propagate the sign.  These assumptions were
127772         all in the original code but they weren't checked.
127774         (TIME_T_MIDPOINT, verify): New macros.
127775         (__isleap): Remove; it has integer overflow problems.
127776         (leapyear): New function, without those problems.
127777         (ydhms_tm_diff): Remove; splitting into two parts.
127778         (ydhms_diff): New function, containing the arithmetic part of
127779         the old ydhms_tm_diff function.  Issue a compile-time
127780         diagnostic if we are not using C99 integer division.
127781         Avoid casts when possible.
127782         (guess_time_tm): New function, containing the checking part of
127783         the old ydhms_tm_diff function.  Return the new value, rather than
127784         the difference between it and the old.  Accept a new argument T
127785         so that *T specifies the old value.  Check for overflow in the result.
127787         (__mktime_internal): Use a time_t offset, not a long int offset.
127788         This undoes the 2003-06-04 change, which is no longer needed now
127789         that we have better overflow checking.
127790         (localtime_offset): Likewise.
127792         (__mktime_internal): Avoid harmful overflow on hosts where time_t
127793         and long are 64-bit but int is only 32-bit.
127794         (ydhms_diff): Use long int to store year1 and yday1.
127795         Issue a compile-time diagnostic if long int is not wide enough.
127797         (__mktime_internal): Use long int to store adjusted year and yday.
127798         Use plain C rather than preprocessor commands, if that doesn't
127799         affect efficiency.
127800         Check for overflow (and try to repair) after each probe
127801         rather than checking only at the very end.  This avoids some bugs
127802         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
127803         does not equal GMT offset at maximum time).
127804         Use integer to check for overflow rather than floating point; this
127805         is more portable to non-IEEE hosts, and is a tad faster.
127806         When we detect that we are oscillating between two values,
127807         don't check whether tm_isdst has the requested value, since
127808         we already know the answer.  When tm_isdst has the wrong value,
127809         use a different heuristic to find the right one, based on the
127810         extreme values actually observed in practice in tz2003a,
127811         rather than the (overly optimistic) "previous 3 calendar quarters".
127813         (not_equal_tm, print_tm, check_result): Use "const T" rather than
127814         "T const" to accommodate glibc style.
127815         (check_result): Use less-confusing report format.  "long" -> "long int.
127816         (main): Likewise.
127817         Don't loop if the iteration overflows time_t.
127818         Allow a negative step in the iteration.
127820 2003-07-06  Karl Berry  <karl@gnu.org>
127822         * config/depcomp: update from automake.
127823         * config/config.sub: update from prep.
127825 2003-07-03  Karl Berry  <karl@gnu.org>
127827         * config/config.guess: update from prep.
127829 2003-07-01  Paul Eggert  <eggert@twinsun.com>
127831         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
127832         xreadlink.c now includes it unconditionally.
127834 2003-07-01  Paul Eggert  <eggert@twinsun.com>
127836         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
127837         having it depend on HAVE_SYS_TYPES_H.
127839 2003-07-01  Bruno Haible  <bruno@clisp.org>
127841         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
127842         <sys/types.h> should be sufficient.
127843         Reported by Paul Eggert.
127845 2003-06-26  Karl Berry  <karl@gnu.org>
127847         * config/depcomp: update from automake.
127849 2003-06-26  Bruno Haible  <bruno@clisp.org>
127851         * modules/human: Depend on module stdbool.
127853 2003-06-25  Bruno Haible  <bruno@clisp.org>
127855         * modules/readlink: New file.
127856         * modules/xreadlink: Depend on it.
127857         * MODULES.html.sh (func_all_modules): Add readlink.
127859 2003-06-25  Bruno Haible  <bruno@clisp.org>
127861         * m4/readlink.m4: New file.
127863 2003-06-25  Bruno Haible  <bruno@clisp.org>
127865         * lib/readlink.c: New file.
127867 2003-06-22  Karl Berry  <karl@gnu.org>
127869         * config/srclist.txt: update mkinstalldirs from automake.
127870         * config/mkinstalldirs: update.
127872 2003-06-22  Bruno Haible  <bruno@clisp.org>
127874         Portability to mingw32.
127875         * m4/ssize_t.m4: New file, from GNU gettext.
127876         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
127877         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
127879 2003-06-22  Bruno Haible  <bruno@clisp.org>
127881         * modules/safe-read: Add m4/ssize_t.m4.
127882         * modules/xreadlink: Add m4/ssize_t.m4.
127884 2003-06-20  Bruno Haible  <bruno@clisp.org>
127886         Assume C89, so PARAMS isn't needed.
127887         * lib/unicodeio.h (PARAMS): Remove.
127888         * lib/unicodeio.c: Don't use PARAMS.
127890 2003-06-18  Karl Berry  <karl@gnu.org>
127892         * config/config.{guess,sub}: update from prep.
127894 2003-06-18  Jim Meyering  <jim@meyering.net>
127896         Merge changes from coreutils.
127897         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
127898         Remove explicit declarations of xmalloc and realloc.
127899         Include xalloc.h.
127900         (read_utmp): Remove anachronistic cast of xmalloc.
127902 2003-06-17  Paul Eggert  <eggert@twinsun.com>
127904         Assume C89, so PARAMS isn't needed.
127905         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
127906         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
127907         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
127908         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
127909         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
127910         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
127911         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
127912         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
127913         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
127914         lib/xstrtod.h, lib/xstrtol.h: Likewise.
127915         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
127916         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
127917         no longer needed. Anyway, config.h should always be included before any
127918         other file.
127920 2003-06-11  Simon Josefsson  <jas@extundo.com>
127922         * modules/sysexits: New file.
127923         * MODULES.html.sh (func_all_modules): Add sysexits.
127925 2003-06-11  Simon Josefsson  <jas@extundo.com>
127927         * lib/sysexit_.h: New file.
127929 2003-06-11  Derek Price  <derek@ximbiot.com>
127931         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
127932         necessary.
127934 2003-06-11  Bruno Haible  <bruno@clisp.org>
127936         * m4/sysexits.m4: New file.
127938 2003-06-10  Simon Josefsson  <jas@extundo.com>
127940         * lib/argp.h: New file, from glibc.
127941         * lib/argp-ba.c: New file, from glibc.
127942         * lib/argp-eexst.c: New file, from glibc.
127943         * lib/argp-fmtstream.c: New file, from glibc.
127944         * lib/argp-fmtstream.h: New file, from glibc.
127945         * lib/argp-fs-xinl.c: New file, from glibc.
127946         * lib/argp-help.c: New file, from glibc.
127947         * lib/argp-namefrob.h: New file, from glibc.
127948         * lib/argp-parse.c: New file, from glibc.
127949         * lib/argp-pv.c: New file, from glibc.
127950         * lib/argp-pvh.c: New file, from glibc.
127951         * lib/argp-xinl.c: New file, from glibc.
127953 2003-06-10  Simon Josefsson  <jas@extundo.com>
127955         * modules/strchrnul: New file.
127957 2003-06-10  Simon Josefsson  <jas@extundo.com>
127959         * modules/argp: New file.
127961 2003-06-10  Simon Josefsson  <jas@extundo.com>
127963         * m4/strchrnul.m4: New file.
127965 2003-06-10  Simon Josefsson  <jas@extundo.com>
127967         * lib/strchrnul.h: New file.
127968         * lib/strchrnul.c: New file.
127970 2003-06-10  Bruno Haible  <bruno@clisp.org>
127972         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
127974 2003-06-07  Karl Berry  <karl@gnu.org>
127976         * config/config.{guess,sub}: update from prep.
127978 2003-06-07  Jim Meyering  <jim@meyering.net>
127980         * modules/strtod: Use $(...) notation, not @...@ for
127981         AC_REPLACE'd variables.
127982         * modules/localcharset: Likewise.
127984 2003-06-07  Jim Meyering  <jim@meyering.net>
127986         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
127987         in place of my name in the copyright comment.
127988         Remove definition and uses of __P.
127990         From coreutils.
127991         * lib/stat.c: Don't declare xmalloc explicitly.
127992         Instead, include "xalloc.h".
127993         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
127994         xrealloc, and xcalloc return values.
127995         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
127996         Improve comment.
127997         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
127999 2003-06-07  Bruno Haible  <bruno@clisp.org>
128001         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
128002         avoid AC_CONFIG_LINKS.
128003         * modules/fnmatch (Makefile.am): Use explicit creation rule for
128004         fnmatch.h, to avoid AC_CONFIG_LINKS.
128005         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
128007 2003-06-07  Bruno Haible  <bruno@clisp.org>
128009         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
128010         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
128011         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128012         directory.
128013         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
128014         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128015         directory.
128017 2003-06-06  Jim Meyering  <jim@meyering.net>
128019         Merge from coreutils.
128020         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
128021         Consolidate declarations and initializations of *_base* locals.
128023         Merge from coreutils.
128024         This avoids a core dump on systems without GNU putenv,
128025         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
128026         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
128027         (unsetenv): New static function, from GNU libc.
128028         (rpl_putenv): Use it.
128030         * lib/modechange.c: Remove trailing blanks.
128032         Merge from coreutils.
128033         * lib/fsusage.c: Remove declaration of statfs.
128034         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
128036         * lib/posixtm.c: Include <stdbool.h> unconditionally.
128038 2003-06-06  Jim Meyering  <jim@meyering.net>
128040         * lib/stdbool_.h: Renamed from stdbool.h.in.
128042 2003-06-06  Jim Meyering  <jim@meyering.net>
128043             Bruno Haible  <bruno@clisp.org>
128045         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
128046         Adjust Makefile.am snippet not to redirect directly to target.
128047         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
128049 2003-06-05  Paul Eggert  <eggert@twinsun.com>
128051         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
128052         mismatch, look in future quarters as well as past.  This fixes a
128053         bug when processing fall-backwards gaps immediately after a long
128054         period of daylight-saving time.
128056         * lib/mktime.c: Assume freestanding C89 or better.
128057         (HAVE_LIMITS_H): Remove.  Assume it's 1.
128058         (__P): Remove; not used.
128059         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
128060         (mktime, not_equal_tm, print_tm, check_result,
128061         main): Use prototypes.  Use const * where appropriate.
128062         (main): Fix typo in testing code that uncovered by above changes.
128063         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
128065 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128067         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
128068         locale.h, localeconv.  This merges changes from coreutils.
128070         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
128071         It can be removed after the next Autoconf is released.
128072         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
128073         needed.
128075 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128077         * lib/mktime.c: Fix Debian bug 177940
128078         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
128079         (localtime_offset): Now long int, not time_t, because we want it
128080         to be guaranteed to be signed.  All uses changed.
128081         (__mktime_internal): If overflow would occur when adding offset,
128082         don't add it.
128084         Merge 'human' changes from coreutils.  Rewrite to support
128085         locale-specific notations like thousands separators.
128086         * lib/human.c: Simplify authorship notice.
128087         Include human.h immediately after config.h.
128088         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
128089         <limits.h>: Do not include, since human.h does.
128090         (SIZE_MAX, UINTMAX_MAX): New macros.
128091         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
128092         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
128093         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
128094         (power_letter): Renamed from suffixes.
128095         (generate_suffix_backwards): Remove.
128096         (adjust_value): Now takes int style (because of human.h changes)
128097         and long double value (for greater precision on some platforms).
128098         (group_number): New function.
128099         (human_readable): Use it.  Use integer options, not enum.
128100         Put the options before the sizes in the arg list.
128101         Support all the new options.
128102         The old human_readable function has been removed;
128103         use inttostr.h instead.
128104         (human_readable, default_block_size, humblock):
128105         Use uintmax_t, not int, for block sizes.
128106         (human_readable_inexact, block_size_types): Remove.
128107         (block_size_opts): New constant.
128108         (human_options): Renamed from human_block_size, with new signature
128109         that allows block sizes up to UINTMAX_MAX.  All callers changed.
128110         * lib/human.h: Add copyright and authorship notice.
128111         Include <limits.h> and <stdbool.h> unconditionally.
128112         (PARAMS): Remove.  All uses removed.
128113         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
128114         (enum human_inexact_style): Remove tag; now a nameless enum.
128115         (human_floor, human_ceiling, human_round_to_even): Now have
128116         values 2, 0, 1 rather than -1, 1, 0.
128117         (human_group_digits, human_suppress_point_zero, human_autoscale,
128118         human_base_1024, human_SI, human_B): New constants.
128119         (human_readable_inexact, human_block_size): Remove.
128120         (human_readable): Size args are now uintmax_t, not int.
128121         (human_options): New decl.
128123         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
128124         unnecessary now that we assume C89 or better.  This change
128125         imported from coreutils.
128127         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128128         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
128129         in the 2003-05-30 sync from glibc.
128131         .h files should stand alone, but we shouldn't include <sys/types.h>
128132         if we can get away with just <stddef.h>.
128134         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
128135         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
128136         rather than <sys/types.h>, as we merely need size_t.
128137         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
128138         to get size_t.
128139         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
128140         Include <stdio.h>, to get FILE.
128141         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
128142         memcasecmp.h has included <stddef.h> and all we need is size_t.
128143         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
128144         our interface, instead of including <sys/types.h>
128146 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128148         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
128149         now, as glibc mktime is buggy on non-glibc systems.
128151 2003-06-03  Karl Berry  <karl@gnu.org>
128153         * config/config.sub: update from prep.
128155 2003-06-02  Paul Eggert  <eggert@twinsun.com>
128157         [from coreutils]
128158         Fix some minor time-related bugs with POSIX time arguments.
128159         Some valid time stamps were being rejected (notably -1, and
128160         time stamps before 1900 on 64-bit hosts).  And some invalid
128161         time stamps were being accepted, e.g. September 31.
128163         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
128164         that we can return (time_t) -1 successfully.
128165         * lib/posixtm.c: Likewise.
128166         [HAVE_STDBOOL_H]: Include <stdbool.h>.
128167         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
128168         (t): Remove static var.
128169         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
128170         of static var.  All uses changed.
128171         (year): Do not reject years before 1900; they can occur with
128172         64-bit time_t.
128173         (posix_time_parse): Do not check for out-of-range components;
128174         that is now the caller's responsibility, since our checks were
128175         only approximations.
128176         (posixtime): Use mktime to check for out-of-range components,
128177         since it knows them exactly.
128178         If mktime returns (time_t) -1, check whether an error actually occurred
128179         by invoking localtime on -1.
128180         (main) [TEST_POSIXTIME]: Check for input data errors, and report
128181         posixtime failures better.
128182         Improve the test data (in comments only).
128184 2003-06-02  Karl Berry  <karl@gnu.org>
128186         * config/mkinstalldirs (version): new variable.
128187         (--version): new option.
128188         (usage): improve message.
128190 2003-05-30  Karl Berry  <karl@gnu.org>
128192         * lib/mktime.c: update from libc.
128194 2003-05-30  Bruno Haible  <bruno@clisp.org>
128196         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
128197         * config/config.rpath: Upgrade to gettext-0.12.1.
128199 2003-05-30  Bruno Haible  <bruno@clisp.org>
128201         * m4/gettext.m4: Upgrade to gettext-0.12.1.
128202         * m4/nls.m4: New file, from gettext-0.12.1.
128203         * m4/po.m4: New file, from gettext-0.12.1.
128204         * m4/progtest.m4: Upgrade to gettext-0.12.1.
128206 2003-05-30  Bruno Haible  <bruno@clisp.org>
128208         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
128209         * lib/localcharset.h: Likewise.
128210         * lib/localcharset.c: Likewise.
128212 2003-05-29  Karl Berry  <karl@gnu.org>
128214         * config/config.rpath: update from gettext.
128216 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128218         Assume the headers required for C89 freestanding compilers.
128219         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
128220         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
128221         * m4/human.m4 (gl_HUMAN): Likewise.
128222         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
128223         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
128224         * m4/userspec.m4 (gl_USERSPEC): Likewise.
128225         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
128226         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
128227         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
128229 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128231         Assume the headers required for C89 freestanding compilers.
128232         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
128233         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
128234         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
128235         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
128236         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
128237         define, since <limits.h> is guaranteed to do that.
128238         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
128239         * lib/exclude.c: Include <stdbool.h> unconditionally.
128240         * lib/tempname.c: Include <stddef.h> unconditionally.
128241         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
128242         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
128243         <stddef.h> does that.
128244         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
128245         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
128246         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
128247         needed.
128248         * lib/xstrtol.c: Likewise.
128249         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
128250         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
128252         * lib/addext.c (addext): Use assignment rather than cast, to avoid
128253         warnings on some platforms.
128255         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128256         arbitrarily.
128258 2003-05-26  Jim Meyering  <jim@meyering.net>
128260         Merge in a change from coreutils:
128261         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
128262         that is guaranteed to be `no'.  Use `no_such_member' to indicate
128263         that condition, rather than `-1' which is slightly misleading.
128264         Change the name of the cache variable to have the gl_ prefix.
128265         Prompted by a patch from Richard Dawe for DJGPP.
128267 2003-05-24  Karl Berry  <karl@gnu.org>
128269         * config/config.guess: update from prep.
128271 2003-05-22  Karl Berry  <karl@gnu.org>
128273         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
128275 2003-05-20  Karl Berry  <karl@gnu.org>
128277         * config/config.guess: update from prep.
128279 2003-05-18  Karl Berry  <karl@gnu.org>
128281         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
128282         might actually be set by the user.
128284         * config/depcomp, install-sh, mdate-sh: update from automake.
128286 2003-05-17  Bruno Haible  <bruno@clisp.org>
128288         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
128289         invalid expansion for AC_EGREP_CPP.
128290         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
128291         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
128292         Suggested by Akim Demaille <akim@epita.fr> in
128293         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
128295 2003-05-12  Jim Meyering  <jim@meyering.net>
128297         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
128298         the space-padded-by-default conversion specifiers, %e, %k, %l.
128300 2003-05-12  Bruno Haible  <bruno@clisp.org>
128302         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
128303         the string is longer than 4 KB.
128305 2003-05-11  Karl Berry  <karl@gnu.org>
128307         * config/config.{guess,sub}: update from prep.
128309 2003-05-09  Bruno Haible  <bruno@clisp.org>
128311         * modules/error: Add m4/strerror_r.m4 to file list.
128313 2003-05-03  Bruno Haible  <bruno@clisp.org>
128315         Upgrade to Unicode-4.0.
128316         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
128317         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
128318         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
128319         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
128320         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
128321         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
128322         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
128323         Change width of U+E0100..U+E01EF from 1 to 0.
128325 2003-04-25  Jim Meyering  <jim@meyering.net>
128327         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
128328         of type size_t, not int.
128330 2003-04-25  Bruno Haible  <bruno@clisp.org>
128332         * lib/copy-file.c: Include <stddef.h>, for size_t.
128334 2003-04-21  Paul Eggert  <eggert@twinsun.com>
128336         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
128337         code which expansion is under static control.  Patch imported from
128338         Akim Demaille's patch to Bison; see
128339         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
128341 2003-04-14  Bruno Haible  <bruno@clisp.org>
128343         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
128345 2003-04-11  Jim Meyering  <jim@meyering.net>
128347         Merge changes from Coreutils.
128349         2003-03-22  Jim Meyering  <jim@meyering.net>
128351         * lib/strftime.c (widen): Cast alloca return value to proper type.
128353         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
128355         From GNU libc.
128356         * lib/strftime.c (my_strftime): Handle very large width
128357         specifications for numeric values correctly.  Improve checks for
128358         overflow.
128360         2003-01-19  Jim Meyering  <jim@meyering.net>
128362         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
128363         definitions.
128364         (nl_get_alt_digit) [! defined my_strftime]: Define.
128365         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
128366         _nl_get_alt_digit and _nl_get_walt_digit.
128368         * lib/strftime.c (my_strftime): Merge in locale-related changes from
128369         libc. These changes have no effect outside of _LIBC.
128371 2003-04-10  Bruno Haible  <bruno@clisp.org>
128373         * modules/findprog: New file.
128374         * MODULES.html.sh (func_all_modules): Add it.
128376 2003-04-10  Bruno Haible  <bruno@clisp.org>
128378         * m4/findprog.m4: New file.
128379         * m4/eaccess.m4: New file.
128381 2003-04-10  Bruno Haible  <bruno@clisp.org>
128383         * lib/findprog.h: New file, from GNU gettext.
128384         * lib/findprog.c: New file, from GNU gettext.
128386 2003-04-05  Jim Meyering  <jim@meyering.net>
128388         Merge changes from Coreutils.
128390         * lib/exclude.h (PARAMS): Remove definition and uses.
128391         * lib/exclude.c: Remove uses of `PARAMS'.
128393         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
128394         Add test-cases for DOS filenames. Declare program_name.
128395         (main): Set up program_name.  Patch by Rich Dawe.
128397         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128398         error from mntctl.
128399         Use mntctl's return value to drive the entry-processing loop, since
128400         we can't rely on the value of the vmt_length member in the last
128401         entry.  On some systems doing so could result in exhausting
128402         virtual memory.  Based in part on a patch from Mike Jetzer.
128404 2003-04-04  Bruno Haible  <bruno@clisp.org>
128406         * modules/linebreak: New file.
128407         * MODULES.html.sh (func_all_modules): Add it.
128409 2003-04-04  Bruno Haible  <bruno@clisp.org>
128411         * m4/linebreak.m4: New file.
128413 2003-04-04  Bruno Haible  <bruno@clisp.org>
128415         * lib/linebreak.h: New file, from GNU gettext.
128416         * lib/linebreak.c: New file, from GNU gettext with slight
128417         modifications.
128418         * lib/lbrkprop.h: New file, from GNU gettext.
128420 2003-04-03  Bruno Haible  <bruno@clisp.org>
128422         * modules/utf8-ucs4: New file.
128423         * modules/utf16-ucs4: New file.
128424         * modules/ucs4-utf8: New file.
128425         * modules/ucs4-utf16: New file.
128426         * MODULES.html.sh (func_all_modules): Add them.
128428 2003-04-03  Bruno Haible  <bruno@clisp.org>
128430         * m4/utf-ucs4.m4: New file.
128431         * m4/ucs4-utf.m4: New file.
128433 2003-04-03  Bruno Haible  <bruno@clisp.org>
128435         * lib/utf8-ucs4.h: New file, from GNU gettext.
128436         * lib/utf16-ucs4.h: New file, from GNU gettext.
128437         * lib/ucs4-utf8.h: New file, from GNU gettext.
128438         * lib/ucs4-utf16.h: New file, from GNU gettext.
128440 2003-04-02  Bruno Haible  <bruno@clisp.org>
128442         * modules/binary-io: New file.
128443         * MODULES.html.sh (func_all_modules): Add it.
128445 2003-04-02  Bruno Haible  <bruno@clisp.org>
128447         * lib/binary-io.h: New file, from GNU gettext.
128449 2003-04-01  Bruno Haible  <bruno@clisp.org>
128451         * modules/pathname: New file.
128452         * MODULES.html.sh (func_all_modules): Add it.
128454 2003-04-01  Bruno Haible  <bruno@clisp.org>
128456         * lib/pathname.h: New file, from GNU gettext.
128457         * lib/concatpath.c: New file, from GNU gettext.
128459 2003-03-30  Bruno Haible  <bruno@clisp.org>
128461         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
128463 2003-03-30  Bruno Haible  <bruno@clisp.org>
128465         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
128466         function chown() doesn't exist.
128468 2003-03-28  Bruno Haible  <bruno@clisp.org>
128470         * modules/copy-file: New file.
128471         * MODULES.html.sh (func_all_modules): Add it.
128473 2003-03-28  Bruno Haible  <bruno@clisp.org>
128475         * m4/copy-file.m4: New file.
128477 2003-03-28  Bruno Haible  <bruno@clisp.org>
128479         * lib/copy-file.h: New file, from GNU gettext.
128480         * lib/copy-file.c: New file, from GNU gettext.
128482 2003-03-18  Jim Meyering  <jim@meyering.net>
128484         * lib/quote.c (quote_n): Fix typo in comment.
128486 2003-03-18  Bruno Haible  <bruno@clisp.org>
128488         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
128489         checking.
128490         * m4/onceonly_2_57.m4: Likewise.
128492 2003-03-17  Bruno Haible  <bruno@clisp.org>
128494         * m4/onceonly.m4: Require autoconf 2.54 or newer.
128495         (m4_quote): Remove macro.
128496         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
128498 2003-03-14  Jim Meyering  <jim@meyering.net>
128500         Merge changes from Coreutils.
128501         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
128502         to be const, in order to avoid warnings.
128503         (obstack_room): Likewise.
128504         (obstack_empty_p): Likewise.
128506 2003-03-14  Bruno Haible  <bruno@clisp.org>
128508         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
128509         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
128511 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128513         Merge changes from Bison.
128514         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
128515         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
128516         when compiling Bison 1.875's `bitset bset = obstack_alloc
128517         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
128518         * lib/hash.c: Include <stdbool.h> unconditionally.
128520 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128522         * m4/onceonly.m4 (m4_quote): New macro.
128523         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
128524         Quote AC_FOREACH variable-expansions properly.
128526 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128528         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
128530 2003-03-09  Paul Eggert  <eggert@twinsun.com>
128532         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
128533         Reported by Bruce Becker; see:
128534         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
128536 2003-03-03  Paul Eggert  <eggert@twinsun.com>
128537             Bruno Haible  <bruno@clisp.org>
128539         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
128540         Reported by John Hughes, see
128541         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
128543 2003-02-20  Bruno Haible  <bruno@clisp.org>
128545         * MODULES.html.sh (func_all_modules): Add poll.
128547 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128549         * modules/poll: New file.
128551 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128553         * lib/poll_.h: New file.
128554         * lib/poll.c: New file.
128556 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128558         * m4/poll.m4: New file.
128560 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128562         * modules/mathl: New file.
128564 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128566         * lib/mathl.h: New file.
128567         * lib/acosl.c: New file.
128568         * lib/asinl.c: New file.
128569         * lib/atanl.c: New file.
128570         * lib/ceill.c: New file.
128571         * lib/cosl.c: New file.
128572         * lib/expl.c: New file.
128573         * lib/floorl.c: New file.
128574         * lib/frexpl.c: New file.
128575         * lib/ldexpl.c: New file.
128576         * lib/logl.c: New file.
128577         * lib/sincosl.c: New file.
128578         * lib/sinl.c: New file.
128579         * lib/sqrtl.c: New file.
128580         * lib/tanl.c: New file.
128581         * lib/trigl.c: New file.
128582         * lib/trigl.h: New file.
128584 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128586         * m4/mathl.m4: New file.
128588 2003-02-18  Bruno Haible  <bruno@clisp.org>
128590         * MODULES.html.sh (func_all_modules): Add mathl.
128592 2003-02-17  Bruno Haible  <bruno@clisp.org>
128594         * modules/mkdtemp: New module.
128595         * MODULES.html.sh (func_all_modules): Add it.
128597 2003-02-17  Bruno Haible  <bruno@clisp.org>
128599         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
128601 2003-02-17  Bruno Haible  <bruno@clisp.org>
128603         * lib/mkdtemp.h: New file, from GNU gettext.
128604         * lib/mkdtemp.c: New file, from GNU gettext.
128606 2003-02-02  Jim Meyering  <jim@meyering.net>
128608         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
128609         e.g. glibc-2.2.93.
128611 2003-01-31  Bruno Haible  <bruno@clisp.org>
128613         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
128614         'rpl_rename'.
128615         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
128616         'rpl_strnlen'.
128617         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
128618         'rpl_strtod'.
128619         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
128620         'rpl_utime'.
128622 2003-01-31  Bruno Haible  <bruno@clisp.org>
128624         * lib/rename.c: #undef rename before defining rpl_rename.
128625         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
128627 2003-01-30  Bruno Haible  <bruno@clisp.org>
128629         * modules/vasnprintf, modules/vasprintf: New modules.
128630         * MODULES.html.sh (func_all_modules): Add them.
128632 2003-01-30  Bruno Haible  <bruno@clisp.org>
128634         * m4/signed.m4: New file, from GNU gettext.
128635         * m4/longdouble.m4: New file, from GNU gettext.
128636         * m4/wchar_t.m4: New file, from GNU gettext.
128637         * m4/wint_t.m4: New file, from GNU gettext.
128638         * m4/vasnprintf.m4: New file.
128639         * m4/vasprintf.m4: New file.
128641 2003-01-30  Bruno Haible  <bruno@clisp.org>
128643         * lib/printf-args.h: New file, from GNU gettext.
128644         * lib/printf-args.c: New file, from GNU gettext.
128645         * lib/printf-parse.h: New file, from GNU gettext.
128646         * lib/printf-parse.c: New file, from GNU gettext.
128647         * lib/vasnprintf.h: New file, from GNU gettext.
128648         * lib/vasnprintf.c: New file, from GNU gettext.
128649         * lib/asnprintf.c: New file, from GNU gettext.
128650         * lib/vasprintf.h: New file, from GNU gettext with modifications.
128651         * lib/vasprintf.c: New file, from GNU gettext.
128652         * lib/asprintf.c: New file, from GNU gettext.
128654 2003-01-29  Bruno Haible  <bruno@clisp.org>
128656         * modules/stpncpy: New module.
128657         * MODULES.html.sh (func_all_modules): Add it.
128659 2003-01-29  Bruno Haible  <bruno@clisp.org>
128661         * m4/stpncpy.m4: New file.
128663 2003-01-29  Bruno Haible  <bruno@clisp.org>
128665         * lib/stpncpy.h: New file, from GNU gettext with modifications.
128666         * lib/stpncpy.c: New file, from GNU gettext with modifications.
128668 2003-01-28  Bruno Haible  <bruno@clisp.org>
128670         * modules/c-ctype: New module.
128671         * MODULES.html.sh (func_all_modules): Add it.
128673 2003-01-28  Bruno Haible  <bruno@clisp.org>
128675         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
128676         Paul Eggert.
128677         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
128678         Paul Eggert.
128680 2003-01-27  Bruno Haible  <bruno@clisp.org>
128682         * modules/xsetenv: New module.
128683         * MODULES.html.sh (func_all_modules): Add it.
128685 2003-01-27  Bruno Haible  <bruno@clisp.org>
128687         * lib/xsetenv.h: New file, from GNU gettext.
128688         * lib/xsetenv.c: New file, from GNU gettext.
128690 2003-01-23  Jim Meyering  <jim@meyering.net>
128692         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
128693         from working on systems without dirfd (at least Irix and OSF1/Tru64).
128695 2003-01-23  Bruno Haible  <bruno@clisp.org>
128697         * modules/minmax: New module.
128698         * MODULES.html.sh (func_all_modules): Add it.
128700 2003-01-23  Bruno Haible  <bruno@clisp.org>
128702         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
128703         Eggert.
128705 2003-01-22  Bruno Haible  <bruno@clisp.org>
128707         * modules/exit: New module.
128708         * MODULES.html.sh (func_all_modules): Add it.
128710 2003-01-22  Bruno Haible  <bruno@clisp.org>
128712         * lib/exit.h: New file, from GNU gettext.
128714 2003-01-19  Bruno Haible  <bruno@clisp.org>
128716         * gnulib-tool: Recognize option --extract-maintainer.
128717         (func_get_maintainer): New function.
128718         * modules/*: Add Maintainer entry.
128720 2003-01-16  Jim Meyering  <jim@meyering.net>
128722         * m4/regex.m4: The `regex' struct is both input and output.
128723         Initialize it before each use.  Patch by Tim Waugh.
128725 2003-01-16  Bruno Haible  <bruno@clisp.org>
128727         * MODULES.html.sh: Add a table of contents. Add the module name as
128728         leftmost column. Add hyperlinks.
128730 2003-01-15  Bruno Haible  <bruno@clisp.org>
128732         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
128734 2003-01-15  Bruno Haible  <bruno@clisp.org>
128736         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
128737         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
128738         suffix.
128740 2003-01-15  Bruno Haible  <bruno@clisp.org>
128742         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
128744 2003-01-15  Bruno Haible  <bruno@clisp.org>
128746         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
128747         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
128749 2003-01-14  Jim Meyering  <jim@meyering.net>
128751         * lib/same.c (same_name): Tweak a comment.
128753 2003-01-14  Bruno Haible  <bruno@clisp.org>
128755         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
128756         when a string comparison is sufficient.
128758 2003-01-14  Bruno Haible  <bruno@clisp.org>
128760         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
128761         'unsigned int'.
128763 2003-01-14  Bruno Haible  <bruno@clisp.org>
128765         * lib/hash-pjw.c: Add comment about low quality of this function.
128767 2003-01-13  Bruno Haible  <bruno@clisp.org>
128769         * modules/stpcpy: Distribute lib/stpcpy.h.
128770         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
128772 2003-01-13  Bruno Haible  <bruno@clisp.org>
128774         * modules/*: Add a description.
128775         * modules/strpbrk: Fix Makefile.am snippet.
128776         * modules/strtoimax: Fix dependencies.
128777         * modules/strtoumax: Likewise.
128779 2003-01-13  Bruno Haible  <bruno@clisp.org>
128781         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
128782         * modules/alloca (Makefile.am): All object files depend on alloca.h.
128783         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
128785 2003-01-13  Bruno Haible  <bruno@clisp.org>
128787         * gnulib-tool (func_create_testdir): Store config/* files in the main
128788         directory.
128789         * config.rpath: Move to ...
128790         * config/config.rpath: ... here.
128791         * modules/gettext: Contains config/config.rpath, not config.rpath.
128792         * modules/iconv: Likewise.
128794 2003-01-12  Paul Eggert  <eggert@twinsun.com>
128796         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
128797         to avoid collisions with libcurses and libreadline.
128799         * m4/getstr.m4: Remove.
128800         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
128802 2003-01-12  Paul Eggert  <eggert@twinsun.com>
128804         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
128805         to avoid collisions with libcurses and libreadline.
128807         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
128808         * lib/getstr.h, getstr.c: Remove.
128809         * lib/getline.c: Include "getline.h", to check interface.
128810         Move body of old getstr.c here: this defines MIN_CHUNK and
128811         declares getdelim2, which is renamed from getstr.
128812         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
128814         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
128815         All uses changed.
128816         * lib/linebuffer.h: Likewise.
128817         (readline): Remove backward-compatibility macro.
128819 2003-01-12  Paul Eggert  <eggert@twinsun.com>
128821         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
128822         to avoid collisions with libcurses and libreadline.
128823         * getstr: Remove.
128824         * MODULES.html.sh: Remove getstr.
128825         * modules/getline: Depend on unlocked-io, not getstr.
128827 2003-01-12  Jim Meyering  <jim@meyering.net>
128829         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
128831 2003-01-10  Bruno Haible  <bruno@clisp.org>
128833         * modules/alloca: Change Makefile.am requirements. Simplify Include
128834         requirements. Add lib/alloca_.h to file list.
128836 2003-01-10  Bruno Haible  <bruno@clisp.org>
128838         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
128840 2003-01-10  Bruno Haible  <bruno@clisp.org>
128842         * lib/alloca_.h: New file.
128843         * lib/getdate.y: Unconditionally include alloca.h.
128844         * lib/makepath.c: Likewise.
128845         * lib/setenv.c: Likewise.
128846         * lib/userspec.c: Likewise.
128848 2003-01-09  Karl Berry  <karl@gnu.org>
128850         * MODULES.html.sh: include `dirname $0` in PATH, to find
128851         gnulib-tool.
128853 2003-01-09  Bruno Haible  <bruno@clisp.org>
128855         * modules/stdbool: Change configure.ac, Makefile.am requirements.
128856         Simplify Include requirements. Add lib/stdbool.h.in to file list.
128858 2003-01-09  Bruno Haible  <bruno@clisp.org>
128860         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
128862 2003-01-09  Bruno Haible  <bruno@clisp.org>
128864         * lib/stdbool.h.in: New file.
128866 2003-01-09  Bruno Haible  <bruno@clisp.org>
128868         * gnulib-tool (func_all_modules): Ignore files ending in ~.
128869         * MODULES.html.sh: Likewise.
128871 2003-01-08  Jim Meyering  <jim@meyering.net>
128873         * lib/full-write.c: Undefine and define-away `const' after inclusion
128874         of errno.h, not before.  Suggestion from Bruno Haible.
128876 2003-01-08  Bruno Haible  <bruno@clisp.org>
128878         * modules/full-read: Depend on full-write.
128880 2003-01-08  Bruno Haible  <bruno@clisp.org>
128882         * lib/safe-read.c: Include specification header first, to ensure its
128883         selfcontainedness.
128884         * lib/full-write.c: Likewise.
128886 2003-01-07  Jim Meyering  <jim@meyering.net>
128888         * lib/full-write.c: Rework so that it may serve to define full_read,
128889         too.
128890         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
128892 2003-01-07  Bruno Haible  <bruno@clisp.org>
128894         * lib/strtoimax.c: Include <stdint.h> as an alternative to
128895         <inttypes.h>.
128896         * lib/xstrtol.h: Likewise.
128897         * lib/xstrtoimax.c: Likewise.
128898         * lib/xstrtoumax.c: Likewise.
128899         * lib/human.h: Likewise.
128901         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
128902         on systems that have <inttypes.h> but not <stdint.h>.
128904 2003-01-07  Bruno Haible  <bruno@clisp.org>
128906         * MODULES.html.sh: Add copyright notice.
128907         (missed_files): Omit CVS directory entries.
128908         (func_module): Make it work with sed-3.02.
128909         * MODULES.txt: Remove file.
128911 2003-01-06  Jim Meyering  <jim@meyering.net>
128913         * lib/version-etc.c: Update year in translatable copyright string.
128915 2003-01-03  Karl Berry  <karl@gnu.org>
128917         * config/config.{guess,sub}: update from prep.
128919 2003-01-02  Karl Berry  <karl@gnu.org>
128921         * doc/COPYING.DOC: belatedly updated to 1.2.
128923 2003-01-01  Karl Berry  <karl@gnu.org>
128925         * gnulib-tool (func_verify_module): report module name $module in
128926         error message, not $1.
128927         * gnulib-tool (create-testdir): don't complain if destdir couldn't
128928         be created, only if it doesn't exist.
128929         * gnulib-tool (last_checkin_date): don't expand the $Date here.
128931 2002-12-31  Paul Eggert  <eggert@twinsun.com>
128933         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
128935 2002-12-31  Paul Eggert  <eggert@twinsun.com>
128937         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
128938         memcmp if strcoll doesn't work.
128940 2002-12-31  Bruno Haible  <bruno@clisp.org>
128942         * lib/utime.c (utime_null): No need to call ftruncate if the file was
128943         nonempty.
128945 2002-12-31  Bruno Haible  <bruno@clisp.org>
128947         * lib/memcoll.c (STRCOLL): New macro.
128948         (memcoll): Use it.
128950 2002-12-31  Bruno Haible  <bruno@clisp.org>
128952         * lib/localcharset.h: New file.
128953         * lib/localcharset.c: Include it.
128954         * lib/unicodeio.c: Likewise.
128956 2002-12-31  Bruno Haible  <bruno@clisp.org>
128958         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
128959         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
128961 2002-12-31  Bruno Haible  <bruno@clisp.org>
128963         * lib/getline.h: Include <stddef.h>, for size_t.
128965         * lib/unicodeio.h: Include <stddef.h>, for size_t.
128966         * lib/unicodeio.c: Don't include <stddef.h>.
128968 2002-12-31  Bruno Haible  <bruno@clisp.org>
128970         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
128971         HAVE_TM_ZONE.
128973 2002-12-24  Karl Berry  <karl@gnu.org>
128975         * config/config.guess: update from prep.
128977 2002-12-24  Bruno Haible  <bruno@clisp.org>
128979         General infrasructure.
128980         * m4/README: Rewritten.
128981         * m4/onceonly.m4: New file.
128982         * m4/onceonly_2_57.m4: New file.
128984         Module atexit.
128985         * m4/atexit.m4: New file.
128987         Module strtod.
128988         * m4/strtod.m4: New file.
128990         Module strtol.
128991         * m4/strtol.m4: New file.
128993         Module strtoul.
128994         * m4/strtoul.m4: New file.
128996         Module memchr.
128997         * m4/memchr.m4: New file.
128999         Module memcmp.
129000         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
129001         (jm_FUNC_MEMCMP): Invoke it.
129003         Module memcpy.
129004         * m4/memcpy.m4: New file.
129006         Module memmove.
129007         * m4/memmove.m4: New file.
129009         Module memset.
129010         * m4/memset.m4: New file.
129012         Module strcspn.
129013         * m4/strcspn.m4: New file.
129015         Module strpbrk.
129016         * m4/strpbrk.m4: New file.
129018         Module strstr.
129019         * m4/strstr.m4: New file.
129021         Module strerror.
129022         * m4/strerror.m4: New file.
129024         Module mktime.
129025         * m4/mktime.m4: Renamed from jm-mktime.m4.
129026         (gl_PREREQ_MKTIME): New macro.
129027         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
129029         Module malloc.
129030         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
129031         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
129032         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
129034         Module realloc.
129035         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
129036         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
129037         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
129039         Module strftime.
129040         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
129041         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
129042         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
129043         gl_TM_GMTOFF.
129044         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
129046         Module xalloc.
129047         * m4/xalloc.m4: New file.
129049         Module alloca.
129050         * m4/alloca.m4: New file.
129052         Module putenv.
129053         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
129054         (jm_FUNC_PUTENV): Invoke it.
129056         Module setenv.
129057         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
129058         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
129059         when invoked twice.
129060         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
129061         gt_FUNC_SETENV.
129063         Module memrchr.
129064         * m4/memrchr.m4: New file.
129066         Module stpcpy.
129067         * m4/stpcpy.m4: New file.
129069         Module strcase.
129070         * m4/strcase.m4: New file.
129072         Module strdup.
129073         * m4/strdup.m4: New file.
129075         Module strnlen.
129076         * m4/strnlen.m4: New file.
129078         Module strndup.
129079         * m4/strndup.m4: New file.
129081         Module xstrtod.
129082         * m4/xstrtod.m4: New file.
129084         Module xstrtol.
129085         * m4/xstrtol.m4: New file.
129087         Module getdate.
129088         * m4/getdate.m4: New file.
129090         Module unlocked-io.
129091         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
129092         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
129093         * m4/jm-glibc-io.m4n: Remove file.
129095         Module long-options.
129096         * m4/long-options.m4: New file.
129098         Module md5.
129099         * m4/md5.m4: New file.
129101         Module sha.
129102         * m4/sha.m4: New file.
129104         Module getstr.
129105         * m4/getstr.m4: New file.
129107         Module getline.
129108         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
129109         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
129110         <sys/types.h>, for size_t. Use the function name gnu_getline, not
129111         simply getline. Infoke gl_PREREQ_GETLINE.
129113         Module obstack.
129114         * m4/obstack.m4: New file.
129116         Module hash.
129117         * m4/hash.m4: New file.
129119         Module readtokens.
129120         * m4/readtokens.m4: New file.
129122         Module strverscmp.
129123         * m4/strverscmp.m4: New file.
129125         Module stdbool.
129126         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
129127         OSF/1.
129129         Module strtoll.
129130         * m4/strtoll.m4: New file.
129132         Module strtoull.
129133         * m4/strtoull.m4: New file.
129135         Module strtoimax.
129136         * m4/strtoimax.m4: New file.
129138         Module strtoumax.
129139         * m4/strtoumax.m4: New file.
129141         Module xstrtoimax.
129142         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
129143         jm_AC_PREREQ_XSTRTOIMAX.
129144         Moved the strtol prerequisites to strtol.m4.
129145         Moved the strtoll prerequisites to strtoll.m4.
129146         Moved the strtoimax prerequisites to strtoimax.m4.
129148         Module xstrtoumax.
129149         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
129150         jm_AC_PREREQ_XSTRTOUMAX.
129151         Moved the strtoul prerequisites to strtoul.m4.
129152         Moved the strtoull prerequisites to strtoull.m4.
129153         Moved the strtoumax prerequisites to strtoumax.m4.
129155         Module chown.
129156         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
129157         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
129159         Module dup2.
129160         * m4/dup2.m4: New file.
129162         Module ftruncate.
129163         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
129164         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
129166         Module getgroups.
129167         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
129168         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
129170         Module gettimeofday.
129171         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
129172         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
129173         gl_PREREQ_GETTIMEOFDAY.
129175         Module mkdir.
129176         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
129177         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
129179         Module mkstemp.
129180         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
129181         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
129182         jm_AC_TYPE_UINTMAX_T.
129183         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
129185         Module stat.
129186         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
129187         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
129189         Module lstat.
129190         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
129191         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
129193         Module timespec.
129194         * m4/timespec.m4 (gl_TIMESPEC): New macro.
129195         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
129196         * m4/st_mtim.m4: Indentation.
129198         Module nanosleep.
129199         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
129200         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
129201         gl_PREREQ_NANOSLEEP.
129203         Module regex.
129204         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
129205         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
129206         (gl_REGEX): New macro.
129208         Module rename.
129209         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
129210         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
129212         Module rmdir.
129213         * m4/rmdir.m4: New file.
129215         Module utime.
129216         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
129217         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
129218         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
129220         Module dirname.
129221         * m4/dirname.m4: New file.
129223         Module getopt.
129224         * m4/getopt.m4: New file.
129226         Module unistd-safer.
129227         * m4/unistd-safer.m4: New file.
129229         Module fnmatch.
129230         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
129231         declaration.
129232         (gl_PREREQ_FNMATCH_EXTRA): New macro.
129233         (gl_FUNC_FNMATCH_POSIX): New macro.
129234         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
129235         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
129236         simply fnmatch.
129238         Module exclude.
129239         * m4/exclude.m4: New file.
129241         Module human.
129242         * m4/human.m4: New file.
129244         Module acl.
129245         * m4/acl.m4: Nop.
129247         Module backupfile.
129248         * m4/backupfile.m4: New file.
129249         * m4/d-ino.m4: Indentation.
129251         Module fsusage.
129252         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
129253         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
129254         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
129256         Module dirfd.
129257         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
129258         requirements.
129260         Module euidaccess.
129261         * m4/euidaccess.m4: New file.
129263         Module file-type.
129264         * m4/file-type.m4: New file.
129266         Module fileblocks.
129267         * m4/fileblocks.m4: New file.
129269         Module filemode.
129270         * m4/filemode.m4: New file.
129272         Module isdir.
129273         * m4/isdir.m4: New file.
129275         Module lchown.
129276         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
129277         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
129279         Module makepath.
129280         * m4/makepath.m4: New file.
129282         Module modechange.
129283         * m4/modechange.m4: New file.
129285         Module mountlist.
129286         * m4/mountlist.m4: New file.
129287         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
129288         Indentation.
129290         Module path-concat.
129291         * m4/path-concat.m4: New file.
129293         Module pathmax.
129294         * m4/pathmax.m4: New file.
129296         Module same.
129297         * m4/same.m4: New file.
129299         Module save-cwd.
129300         * m4/save-cwd.m4: New file.
129302         Module savedir.
129303         * m4/savedir.m4: New file.
129305         Module xgetcwd.
129306         * m4/xgetcwd.m4: New file.
129307         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
129309         Module xreadlink.
129310         * m4/xreadlink.m4: New file.
129312         Module safe-read.
129313         * m4/safe-read.m4: New file.
129315         Module safe-write.
129316         * m4/safe-write.m4: New file.
129318         Module closeout.
129319         * m4/closeout.m4: New file.
129321         Module stdio-safer.
129322         * m4/stdio-safer.m4: New file.
129324         Module getpass.
129325         * m4/getpass.m4: New file.
129327         Module getugroups.
129328         * m4/getugroups.m4: New file.
129330         Module group-member.
129331         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
129332         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
129334         Module idcache.
129335         * m4/idcache.m4: New file.
129337         Module userspec.
129338         * m4/userspec.m4: New file.
129340         Module gettime.
129341         * m4/clock_time.m4: New file.
129342         * m4/gettime.m4: New file.
129344         Module settime.
129345         * m4/settime.m4: New file.
129347         Module posixtm.
129348         * m4/posixtm.m4: New file.
129350         Module gethostname.
129351         * m4/gethostname.m4: New file.
129353         Module canon-host.
129354         * m4/canon-host.m4: New file.
129356         Module gettext.
129357         * m4/codeset.m4: New file, from gettext-0.11.5.
129358         * m4/gettext.m4: New file, from gettext-0.11.5.
129359         * m4/glibc21.m4: New file, from gettext-0.11.5.
129360         * m4/iconv.m4: New file, from gettext-0.11.5.
129361         * m4/intdiv0.m4: New file, from gettext-0.11.5.
129362         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
129363         * m4/inttypes.m4: New file, from gettext-0.11.5.
129364         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
129365         * m4/isc-posix.m4: New file, from gettext-0.11.5.
129366         * m4/lcmessage.m4: New file, from gettext-0.11.5.
129367         * m4/lib-ld.m4: New file, from gettext-0.11.5.
129368         * m4/lib-link.m4: New file, from gettext-0.11.5.
129369         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
129370         * m4/progtest.m4: New file, from gettext-0.11.5.
129371         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
129372         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
129373         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
129375         Module localcharset.
129376         * m4/localcharset.m4: New file.
129378         Module hard-locale.
129379         * m4/hard-locale.m4: New file.
129381         Module mbswidth.
129382         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
129383         onceonly macros.
129384         * m4/mbrtowc.m4: Add comment.
129386         Module memcasecmp.
129387         * m4/memcasecmp.m4: New file.
129389         Module memcoll.
129390         * m4/memcoll.m4: New file.
129392         Module unicodeio.
129393         * m4/unicodeio.m4: New file.
129395         Module rpmatch.
129396         * m4/rpmatch.m4: New file.
129398         Module yesno.
129399         * m4/yesno.m4: New file.
129401         Module exitfail.
129402         * m4/exitfail.m4: New file.
129404         Module c-stack.
129405         * m4/c-stack.m4 (gl_C_STACK): New macro.
129406         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
129408         Module error.
129409         * m4/error.m4 (gl_ERROR): New macro.
129410         (jm_PREREQ_ERROR): Use onceonly macros.
129412         Module fatal.
129413         * m4/fatal.m4: New file.
129415         Module getloadavg.
129416         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
129417         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
129419         Module getpagesize.
129420         * m4/getpagesize.m4: New file.
129422         Module getusershell.
129423         * m4/getusershell.m4: New file.
129425         Module physmem.
129426         * m4/physmem.m4: New file.
129428         Module posixver.
129429         * m4/posixver.m4: New file.
129431         Module quotearg.
129432         * m4/quotearg.m4: New file.
129434         Module quote.
129435         * m4/quote.m4: New file.
129437         Module readutmp.
129438         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
129440         Module sig2str.
129441         * m4/sig2str.m4: New file.
129443         Other.
129444         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
129445         ulonglong.m4.
129446         * m4/intmax_t.m4: New file.
129447         * m4/d-type.m4: Indentation.
129448         * m4/jm-macros.m4: Update.
129449         * m4/prereq.m4 (jm_PREREQ): Update.
129450         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
129451         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
129452         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
129453         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
129454         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
129455         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
129456         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
129457         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
129458         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
129459         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
129460         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
129461         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
129462         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
129463         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
129464         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
129465         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
129466         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
129467         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
129468         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
129470 2002-12-24  Bruno Haible  <bruno@clisp.org>
129472         * MODULES.txt: Update according to m4/ changes.
129474         Module gettext.
129475         * config.rpath: New file, from gettext-0.11.5.
129477         * modules/*: New module descriptions.
129478         * gnulib-tool: New file.
129479         * MODULES.html.sh: New file.
129481 2002-12-21  Karl Berry  <karl@gnu.org>
129483         * doc/fdl.texi: update to version 1.2.
129485 2002-12-19  Karl Berry  <karl@gnu.org>
129487         * config/config.guess: update from prep.
129489 2002-12-18  Bruno Haible  <bruno@clisp.org>
129491         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
129492         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
129494 2002-12-17  Bruno Haible  <bruno@clisp.org>
129496         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
129497         stdlib.h, string.h.
129499 2002-12-17  Bruno Haible  <bruno@clisp.org>
129501         * lib/canon-host.c (strdup): Remove unused declaration.
129503         * lib/fsusage.c: Include full_read.h.
129504         (get_fs_usage): Use full_read instead of safe_read.
129506         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
129508 2002-12-12  Karl Berry  <karl@gnu.org>
129510         * config/config.guess: update from prep.
129512 2002-12-11  Bruno Haible  <bruno@clisp.org>
129514         * m4/setenv.m4: New file, from gettext-0.11.5.
129516 2002-12-11  Bruno Haible  <bruno@clisp.org>
129518         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
129519         not unsetenv().
129520         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
129521         modifications:
129523         2002-12-11  Bruno Haible  <bruno@clisp.org>
129525                 * setenv.c (alloca): Fall back to malloc.
129526                 (freea): New macro.
129527                 (setenv): Use freea() to free memory allocated with alloca().
129529         2002-11-13  Bruno Haible  <bruno@clisp.org>
129531                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
129532                 function declarations.
129533                 * unsetenv.c (unsetenv): Likewise.
129535         2002-03-04  Bruno Haible  <bruno@clisp.org>
129537                 Portability to AIX 4.3.3.
129538                 * unsetenv.c: New file, extracted from setenv.c.
129539                 * setenv.c: Move the unsetenv() function to unsetenv.c.
129541         2001-12-20  Bruno Haible  <bruno@clisp.org>
129543                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
129544                 use malloc instead. For SunOS 4.
129546         2001-12-11  Bruno Haible  <bruno@clisp.org>
129548                 * setenv.c: Declare alloca.
129549                 (compar_fn_t): New typedef.
129550                 (KNOWN_VALUE, STORE_VALUE): Use it.
129552         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
129553         setenv.h.
129555 2002-12-10  Paul Eggert  <eggert@twinsun.com>
129557         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
129558         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
129559         Choose values that are less likely to collide with system fnmatch
129560         options.
129561         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
129562         defined (e.g., a pure POSIX system).
129563         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
129564         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
129566 2002-12-06  Paul Eggert  <eggert@twinsun.com>
129568         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
129569         a pain in practice to deal with generated m4 files.  This change
129570         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
129572         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
129573         and jm-glibc-io.m4, as they are no longer a special case.
129574         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
129575         kludge and the auto-generation stuff.  Check only whether the
129576         functions are declared, not whether they exist, since older hosts
129577         that don't declare the functions can't use the optimization anyway.
129579 2002-12-06  Jim Meyering  <jim@meyering.net>
129581         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
129583         Merge in changes from libc's misc/error.c, in preparation
129584         for the merge of gnulib's changes back into libc.
129586         * lib/error.c (_): Define only if not already defined.
129587         Move definition to follow all #include directives.
129588         Include unlocked-io.h only if !_LIBC.
129589         [_LIBC]: Include <libio/libioP.h>.
129590         [USE_IN_LIBIO]: Include <libio/iolibio.h>
129591         (fflush): Tweak definition to use INTUSE.
129592         (putc): Define.
129594 2002-12-05  Paul Eggert  <eggert@twinsun.com>
129596         * lib/alloca.c [defined emacs]: Include "lisp.h".
129597         (xalloc_die) [defined emacs]: New macro.
129598         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
129599         [! defined emacs]: Include <xalloc.h>.
129600         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
129601         (pointer): Typedef to POINTER_TYPE *.
129602         (malloc): Remove decl; we now always use xmalloc.
129603         (alloca): Use old-style definition, since Emacs needs this.
129604         Check for arithmetic overflow when computing combined size.
129606 2002-12-04  Paul Eggert  <eggert@twinsun.com>
129608         Do not generate unlocked-io.h automatically, since it's easier to
129609         maintain it by hand.
129611         * lib/unlocked-io.h: New file, from GNU diffutils,
129612         but with proper copyright notice and attribution.
129613         * lib/gen-uio: Remove.
129614         * lib/Makefile.am: Add copyright notice.
129615         (libfetish_a_SOURCES): Add unlocked-io.h.
129616         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
129617         (DISTCLEANFILES, io_functions): Remove macros.
129618         (EXTRA_DIST): Remove gen_uio.
129619         (unlocked-io.h): Remove rule.
129621 2002-12-04  Jim Meyering  <jim@meyering.net>
129623         Reflect the fact that stat.c and lstat.c are no longer generated.
129624         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
129625         (DISTCLEANFILES): Likewise.
129626         (EXTRA_DIST): Likewise.
129627         (all_local): Don't depend on stat.c or lstat.c.
129628         (stat.c, lstat.c): Remove rules.
129629         (EXTRA_DIST): Remove xstat.in.
129631         * lib/xstat.in: Remove file.  Contents moved into stat.c.
129632         * lib/stat.c: New file.  Contents mostly from xstat.in.
129633         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
129634         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
129636         * lib/safe-read.c: Rework so that it may serve to define safe_write,
129637         too.
129638         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
129640 2002-12-03  Jim Meyering  <jim@meyering.net>
129642         * lib/safe-read.c, safe-write.c: Change variable names and comments,
129643         but not semantics, to minimize the differences between these two files.
129644         (safe_read): Change comment to mention SAFE_READ_ERROR.
129646         * lib/safe-read.c (IS_EINTR): Define.
129647         (safe_read): Use IS_EINTR in place of in-function cpp directives.
129649 2002-12-02  Jim Meyering  <jim@meyering.net>
129651         * lib/safe-read.c (EINTR): Define.
129652         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
129653         (INT_MAX): Provide fallback.
129654         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
129656         * lib/safe-read.h (SAFE_READ_ERROR): Define.
129658 2002-12-02  Bruno Haible  <bruno@clisp.org>
129660         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
129661         Define, taken from safe-read.c.
129662         (INT_MAX): Provide fallback.
129663         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
129664         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
129666         * lib/safe-read.c (EINTR): Remove definition.
129667         (safe_read): Don't use EINTR if it is absent.
129669 2002-12-01  Jim Meyering  <jim@meyering.net>
129671         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
129672         zero.
129673         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
129675 2002-11-27  Paul Eggert  <eggert@twinsun.com>
129677         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
129678         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
129679         with `if (! (value < limit)) abort ();', for readability.
129681 2002-11-26  Karl Berry  <karl@gnu.org>
129683         * lib/strdup.c: copy from libc again, with jim's ok.
129684         * lib/.cppi-disable: re-add strdup.c
129686 2002-11-25  Karl Berry  <karl@gnu.org>
129688         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
129689         instead of "strtol.c".
129691 2002-11-25  Karl Berry  <karl@gnu.org>
129693         * config/install-sh: update from automake for variable quoting, $0 in
129694         error msgs, etc.
129696         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
129697         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
129698         entry.
129700 2002-11-25  Jim Meyering  <jim@meyering.net>
129702         * lib/mktime.c: Sync from libc, now that it has the latest fix.
129704 2002-11-24  Karl Berry  <karl@gnu.org>
129706         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
129707         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
129709 2002-11-24  Jim Meyering  <jim@meyering.net>
129711         Update from coreutils:
129713         * lib/mktime.c: Merge in changes from libc.
129715         Avoid a link-time failure on some Linux systems.
129716         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
129717         (otherwise).
129718         (__mon_yday): Declare with the STATIC attribute.
129719         (__mktime_internal): Likewise.
129720         Based on a report from Greg Schafer.
129722 2002-11-23  Jim Meyering  <jim@meyering.net>
129724         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
129725         Use `unsigned', not `int', as type of index.
129727         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
129729         * lib/fsusage.c: Remove unneeded parentheses around operands of
129730         `defined'.
129732 2002-11-22  Paul Eggert  <eggert@twinsun.com>
129734         * lib/quotearg.h: Allow multiple inclusion by surrounding with
129735         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
129736         so that we can be included first.
129737         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
129738         * lib/quotearg.c: Include quotearg.h immediately after config.h.
129739         No need to include stddef.h or sys/types.h any more.
129740         Surround local include files with "", not "<>".
129741         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
129742         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
129743         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
129744         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
129745         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
129746         (ISPRINT): Remove; no longer needed now that we assume C89.
129748         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
129749         Preserve errno.
129751         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
129752         quotearg_char): Use SIZE_MAX rather than
129753         (size_t) -1 when we are talking about "infinity".
129755         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
129757 2002-11-22  Paul Eggert  <eggert@twinsun.com>
129759         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
129760         hint that one should use `if (! x) abort ();' rather than `assert
129761         (x);', and anyway it's one less thing to worry about configuring.
129762         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
129763         hash_rehash, hash_insert): Use abort rather than assert.
129765 2002-11-22  Bruno Haible  <bruno@clisp.org>
129767         * lib/safe-read.h: Assume C89. Add comments.
129768         (safe_read): Change return type to size_t.
129769         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
129770         byte counts > SSIZE_MAX correctly.
129771         * lib/safe-write.h: New file.
129772         * lib/safe-write.c: New file.
129773         * lib/full-read.h: New file.
129774         * lib/full-read.c: New file.
129775         * lib/full-write.h: Assume C89. Add comments.
129776         * lib/full-write.c: Include safe-write.h.
129777         (full_write): Rewritten to use safe_write.
129778         Suggested by Jim Meyering and Paul Eggert.
129780 2002-11-21  Jim Meyering  <jim@meyering.net>
129782         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
129784         Merge in changes from the coreutils.
129786         2002-09-25  Paul Eggert  <eggert@twinsun.com>
129787         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
129788         <stdint.h>.
129789         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
129790         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
129791         int.  Work more efficiently if X is the same width as uintmax_t.
129792         Do not compare X to -1, to avoid bogus compiler warning.
129793         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
129794         Don't assume that f_frsize and f_bsize are the same type.
129796         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
129797         warning on FreeBSD.
129799         * lib/makepath.c (make_path): Restore umask *before* creating the final
129800         component.
129801         (make_path): Minor reformatting.
129803         * lib/xmalloc.c: Adjust to work with new autoconf macros,
129804         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
129805         HAVE_MALLOC/HAVE_REALLOC.
129807         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
129808         dummy ones.  At least on GNU/Linux systems, `auto' means something
129809         else.
129810         From Michael Stone.
129812 2002-11-21  Bruno Haible  <bruno@clisp.org>
129814         Remove case insensitive option matching.
129815         * lib/argmatch.h (argcasematch): Remove declaration.
129816         (ARGCASEMATCH): Remove macro.
129817         (__xargmatch_internal): Remove case_sensitive argument.
129818         (XARGMATCH): Update.
129819         (XARGCASEMATCH): Remove macro.
129820         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
129821         case_sensitive argument.
129822         (argcasematch): Remove function.
129823         (__xargmatch_internal): Remove case_sensitive argument.
129824         (main): Use XARGMATCH instead of XARGCASEMATCH.
129826         * lib/xmalloc.c: Change compile-time error message. Add comment about
129827         required autoconf version.
129829 2002-11-20  Paul Eggert  <eggert@twinsun.com>
129831         Merge argmatch cleanups from Bison.  Assume C89.
129833         * lib/argmatch.c: Include config.h here, not in argmatch.h.
129834         Include stdlib.h, for EXIT_FAILURE.
129835         Always include <string.h>, since we assume C89.
129836         (EXIT_FAILURE): Remove pre-C89 bug workaround.
129837         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
129838         Include <stddef.h> instead, since it's all we need for size_t.
129839         (PARAMS): Remove.  All uses removed.
129840         (ARRAY_CARDINALITY): Do not bother to #undef.
129841         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
129842         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
129843         Remove unnecessary parentheses.
129844         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
129845         Insert necessary parentheses.
129846         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
129847         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
129849 2002-11-19  Bruno Haible  <bruno@clisp.org>
129851         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
129852         * lib/mbswidth.h: Include <stddef.h>, for size_t.
129854         * lib/mbswidth.h (PARAMS): Remove macro.
129855         (mbswidth, mbsnwidth): Use ANSI C function declarations.
129856         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
129858         * lib/gcd.h (PARAMS): Remove macro.
129859         (gcd): Use ANSI C function declarations.
129860         * lib/gcd.c (gcd): Likewise.
129862 2002-11-15  Bruno Haible  <bruno@clisp.org>
129864         * lib/strcspn.c: Include <stddef.h>.
129865         (strcspn): Use ANSI C function declaration. Change return type to
129866         size_t. Use NULL.
129867         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
129868         (strpbrk): Use NULL.
129869         * lib/strpbrk.h (PARAMS): Remove macro.
129870         (strpbrk): Use ANSI C function declaration.
129871         * lib/strstr.c: Don't include <sys/types.h>.
129872         * lib/strstr.h (PARAMS): Remove macro.
129873         (strstr): Use ANSI C function declarations.
129875 2002-11-14  Karl Berry  <karl@gnu.org>
129877         * config/mkinstalldirs: `do' on separate line, instead of
129878         `for var; do'.
129880 2002-11-06  Bruno Haible  <bruno@clisp.org>
129882         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
129883         * lib/gcd.c (gcd): Likewise.
129885 2002-11-05  Bruno Haible  <bruno@clisp.org>
129887         * lib/gcd.h: New file, from gettext-0.11.5.
129888         * lib/gcd.c: New file, from gettext-0.11.5.
129890 2002-11-05  Bruno Haible  <bruno@clisp.org>
129892         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
129893         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
129894         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
129895         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
129897         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
129898         <libintl.h>.
129899         * lib/makepath.c: Include gettext.h instead of <locale.h> and
129900         <libintl.h>.
129902         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
129903         * lib/human.c: Include gettext.h instead of <libintl.h>.
129904         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
129905         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
129906         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
129907         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
129908         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
129909         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
129910         (textdomain): Remove definition.
129911         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
129913         * lib/long-options.c: Remove include of <libintl.h> and definition of
129914         _.
129915         * lib/same.c: Remove include of <libintl.h> and definition of _.
129917 2002-11-04  Owen Taylor  <otaylor@redhat.com>
129919         * lib/config.charset: A few additions for Solaris.
129921 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
129923         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
129924         * lib/localcharset.c (locale_charset): Declare as extern "C".
129926 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
129928         * lib/config.charset: msdos in uk_UA uses CP1125.
129930 2002-11-04  Bruno Haible  <bruno@clisp.org>
129932         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
129933         * lib/strcase.h: New file, from GNU gettext-0.11.5.
129934         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
129935         * lib/strstr.h: New file, from GNU gettext-0.11.5.
129936         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
129938 2002-11-04  Bruno Haible  <bruno@clisp.org>
129940         * lib/localcharset.c (locale_charset): Don't return an empty string.
129942 2002-11-04  Bruno Haible  <bruno@clisp.org>
129944         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
129945         aliases.
129947 2002-11-04  Bruno Haible  <bruno@clisp.org>
129949         * lib/config.charset: Update for newest glibc. Add canonical names
129950         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
129952 2002-11-04  Bruno Haible  <bruno@clisp.org>
129954         * lib/config.charset: Add support for NetBSD.
129956 2002-11-04  Bruno Haible  <bruno@clisp.org>
129958         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
129960 2002-11-01  Bruno Haible  <bruno@clisp.org>
129962         * configure.in: Add AC_CONFIG_AUX_DIR call.
129963         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
129964         test/Makefile.
129965         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
129967 2002-09-28  Karl Berry  <karl@gnu.org>
129969         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
129970         installed automake until the next release, since changes have been
129971         made.
129973 2002-09-25  Karl Berry  <karl@gnu.org>
129975         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
129976         * lib/getopt*: copy from libc/posix.
129977         * lib/gettext.h: copy from gettext.
129978         * lib/.cppi-disable: add strdup.c, gettext.h.
129980 2002-09-25  Karl Berry  <karl@gnu.org>
129982         * config/srclist.txt: enable gettext.h check.
129983         * config/config.{guess,sub}: update from prep.
129984         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
129985                 from automake 1.6.3.
129986         See srclist*.
129988 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
129990         * regex.c (PATFETCH): Remove the translating fetch.
129991         (PATFETCH_RAW): Rename to PATFETCH.
129992         (set_image_of_range): New fun.
129993         (SET_RANGE_TABLE_WORK_AREA): Use it.
129994         (regex_compile): Don't translate the pattern chars so eagerly.
129995         Only do it when inserting an `exactn' bytecode or when handling
129996         a char-range.
129997         (mutually_exclusive_p): Avoid empty statement.
129999 2002-07-06  Jim Meyering  <meyering@lucent.com>
130001         * m4/README: Don't mention Makefile.am.in.
130002         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
130004 2002-07-01  Jim Meyering  <meyering@lucent.com>
130006         * lib/c-stack.c: Include sys/time.h.
130007         From Volker Borchert.
130009 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130011         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
130013 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130015         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
130016         New macro.  Use it uniformly instead of
130017         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
130018         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
130019         reported by Vin Shelton.
130021 2002-06-22  Paul Eggert  <eggert@twinsun.com>
130023         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
130024         Do not assume SA_SIGINFO behavior.
130025         Bug reported by Jim Meyering on NetBSD 1.5.2.
130027 2002-06-22  Jim Meyering  <meyering@lucent.com>
130029         * m4/c-stack.m4: New file, from diffutils-2.8.2.
130030         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
130032         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
130033         now that configure.ac uses AC_GNU_SOURCE.
130034         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
130035         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
130037         Update to latest tools.  Suggestions from Paul Eggert.
130038         * m4/stdbool.m4: New file, from diffutils-2.8.2.
130039         * m4/gnu-source.m4: Update from diffutils-2.8.2.
130040         * m4/fnmatch.m4: Likewise.
130041         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
130042         to AC_HEADER_STDBOOL
130044 2002-06-22  Jim Meyering  <meyering@lucent.com>
130046         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
130047         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
130049 2002-06-22  Jim Meyering  <meyering@lucent.com>
130051         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
130053         * lib/exitfail.c, exitfail.h: Likewise.
130054         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
130056         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
130057         of fnmatch.h.
130058         (EXTRA_DIST): Add fnmatch_loop.c.
130059         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
130061         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
130062         * lib/fnmatch.c: Update from diffutils-2.8.2.
130063         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
130064         * lib/fnmatch.h: Remove file.
130066 2002-06-21  Jim Meyering  <meyering@lucent.com>
130068         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
130069         * m4/mbrtowc.m4: Likewise.
130071         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
130072         * m4/mbswidth.m4: Reflect name change:
130073         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
130074         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
130076         * m4/lib-link.m4: Update from gettext-0.11.2.
130077         * m4/gettext.m4: Likewise.
130079         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
130080         From Alfred M. Szmidt.
130082 2002-06-18  Paul Eggert  <eggert@twinsun.com>
130084         * lib/file-type.h: Report an error if neither S_ISREG nor
130085         S_IFREG is defined, instead of using a test specific to glibc
130086         2.2.  This should be safe, since POSIX requires S_ISREG and
130087         Unix Version 7 had S_IFREG.  We don't need to check for
130088         <sys/types.h> since we don't use any symbols that it defines.
130090 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
130092         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
130093         $@-t, so that each temporary file name is unique and valid in the first
130094         8 characters, for operation under DOS.
130096 2002-06-15  Paul Eggert  <eggert@twinsun.com>
130098         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
130100 2002-06-15  Jim Meyering  <meyering@lucent.com>
130102         Work even with DJGPP 2.03, which lacks support for symlinks.
130103         From Richard Dawe.
130104         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
130105         is defined.
130106         * lib/lchown.c (S_ISLNK): Likewise.
130108 2002-06-15  Jim Meyering  <meyering@lucent.com>
130110         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
130111         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
130112         have been included before this file.
130114 2002-06-14  Jim Meyering  <meyering@lucent.com>
130116         * lib/file-type.h: Use the version from diffutils-2.8.2.
130117         * lib/file-type.c: Likewise.
130119 2002-06-07  Jim Meyering  <meyering@lucent.com>
130121         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
130122         They're needed at least for NetBSD 1.5.2.
130123         ($statxfs_includes): Include those same headers.
130124         ($statxfs_includes): Include sys/vfs.h if available.
130125         ($statxfs_includes): Likewise for sys/statvfs.h.
130126         Check for the following members in both structs statfs and statvfs:
130127         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
130129 2002-06-01  Jim Meyering  <meyering@lucent.com>
130131         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
130132         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
130134 2002-05-28  Jim Meyering  <meyering@lucent.com>
130136         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
130137         Reported by Volker Borchert.
130139 2002-05-27  Jim Meyering  <meyering@lucent.com>
130141         Fix a problem seen only on nonconforming systems whereby ls.c's
130142         use of localtime, and then of gettimeofday would cause trouble:
130143         the localtime call used to initialize rpl_gettimeofday's save
130144         mechanism would clobber ls's current local time information so
130145         that in any long listing the first file would always be listed
130146         with date 1970-01-01.  Analysis by Volker Borchert.
130148         * lib/gettimeofday.c (localtime): Undefine.
130149         (rpl_localtime): New function.
130151 2002-05-27  Jim Meyering  <meyering@lucent.com>
130153         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
130154         localtime.
130156         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
130157         use the replacement function; it wouldn't resolve at link time.
130158         Reported by Volker Borchert.
130160 2002-05-22  Jim Meyering  <meyering@lucent.com>
130162         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
130163         file-type.h.
130164         * lib/file-type.h: New file.
130165         * lib/file-type.c (file_type): New file/function.  Extracted from
130166         diffutils.
130168 2002-04-30  Jim Meyering  <meyering@lucent.com>
130170         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
130172 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130174         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
130176 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130178         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
130179         Do not check for alloca.h (no longer used) or stdbool.h (was never
130180         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
130182 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130184         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
130186 2002-04-29  Jim Meyering  <meyering@lucent.com>
130188         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
130189         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
130190         Use AC_FUNC_STRNLEN here instead.
130192         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
130193         With autoconf-2.53a, it's part of AC_PROG_CC.
130195 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130197         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
130198         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
130200 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130202         * lib/sig2str.h, lib/sig2str.c: New files.
130203         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
130205 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130207         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
130208         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
130209         of 127, since 64 is the largest conceivable number for ancient
130210         nonstandard hosts.
130211         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
130213 2002-04-28  Jim Meyering  <meyering@lucent.com>
130215         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
130217 2002-04-24  Jim Meyering  <meyering@lucent.com>
130219         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
130220         (jm_PREREQ): Use it.
130222         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
130223         mach/mach.h fcntl.h.
130224         Check for this function: setlocale.
130226 2002-04-24  Jim Meyering  <meyering@lucent.com>
130228         * lib/gettext.h: New file, from Gettext.
130229         * lib/Makefile.am (INCLUDES): Remove -I../intl.
130230         (libfetish_a_SOURCES): Add gettext.h.
130232 2002-04-16  Jim Meyering  <meyering@lucent.com>
130234         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
130235         ut_pid, ut_id, ut_exit.
130237 2002-04-16  Jim Meyering  <meyering@lucent.com>
130239         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
130240         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
130241         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
130243 2002-04-12  Jim Meyering  <meyering@lucent.com>
130245         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
130246         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
130247         existence of the getmntinfo function.  Needed for Darwin 5.3.
130249         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
130250         This is necessary at least on Darwin 5.3.
130252         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
130253         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
130254         strnlen.o in the library, and that makes some versions of ranlib
130255         object.
130257 2002-04-12  Jim Meyering  <meyering@lucent.com>
130259         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
130261 2002-04-09  Jim Meyering  <meyering@lucent.com>
130263         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
130264         to be more precise.  Rather than saying we're checking whether the
130265         function `works', say what we're testing.
130266         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
130267         Reported by Bruno Haible.
130269 2002-03-10  Jim Meyering  <meyering@lucent.com>
130271         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
130272         Suggestion from Santiago Vila.
130274 2002-03-08  Jim Meyering  <meyering@lucent.com>
130276         * lib/rename.c: Mention that this wrapper is needed also on
130277         mips-dec-ultrix4.4 systems.
130279 2002-03-02  Jim Meyering  <meyering@lucent.com>
130281         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
130282         not HAVE_CLOCK_SETTIME.
130284 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130286         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
130287         Check for clock_settime.
130289 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130291         * lib/nanosleep.h: Rename to....
130292         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
130294         * lib/gettime.c: New file.
130295         * lib/settime.c: New file.
130296         * lib/stime.c: Remove.
130298         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
130299         timespec.h.  Remove nanosleep.h.
130301 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130303         * m4/acl.m4: New file.
130304         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
130305         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
130307 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130309         * lib/acl.c, lib/acl.h: New files.
130310         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
130312 2002-02-24  Jim Meyering  <meyering@lucent.com>
130314         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
130315         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
130316         cause trouble.  Reported by Nelson Beebe.
130318 2002-02-23  Paul Eggert  <eggert@twinsun.com>
130320         * lib/path-concat.c (xpath_concat): Reorder code to pacify
130321         compilers that don't know that xalloc_die never returns.
130323 2002-02-20  Jim Meyering  <meyering@lucent.com>
130325         * lib/getdate.c: Regenerate using bison-1.33.
130327 2002-02-17  Jim Meyering  <meyering@lucent.com>
130329         * config/config.guess (main): Don't use `head -1'; it's no longer
130330         portable. Use `sed 1q' instead.
130332 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
130334         * m4/codeset.m4: Upgrade to gettext-0.11.
130335         * m4/gettext.m4: Upgrade to gettext-0.11.
130336         * m4/glibc21.m4: Upgrade to gettext-0.11.
130337         * m4/iconv.m4: Upgrade to gettext-0.11.
130338         * m4/isc-posix.m4: Upgrade to gettext-0.11.
130339         * m4/lcmessage.m4: Upgrade to gettext-0.11.
130340         * m4/lib-ld.m4: New file, from gettext-0.11.
130341         * m4/lib-link.m4: New file, from gettext-0.11.
130342         * m4/lib-prefix.m4: New file, from gettext-0.11.
130343         * m4/progtest.m4: Upgrade to gettext-0.11.
130345 2002-02-15  Paul Eggert  <eggert@twinsun.com>
130347         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
130348         (jm_PREREQ): Use it.
130350 2002-02-15  Paul Eggert  <eggert@twinsun.com>
130352         * lib/posixver.c, lib/posixver.h: New files.
130353         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
130355 2002-02-02  Paul Eggert  <eggert@twinsun.com>
130356             Bruno Haible  <bruno@clisp.org>
130358         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
130359         (fwrite_success_callback): New declaration.
130360         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
130361         print_unicode_char. Call failure callback instead of error.
130362         (fwrite_success_callback): New function.
130363         (exit_failure_callback): New function.
130364         (fallback_failure_callback): New function.
130365         (print_unicode_char): Call unicode_to_mb.
130367 2002-01-26  Jim Meyering  <meyering@lucent.com>
130369         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
130370         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
130372 2002-01-26  Jim Meyering  <meyering@lucent.com>
130374         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
130376 2002-01-22  Paul Eggert  <eggert@twinsun.com>
130378         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
130380 2002-01-22  Jim Meyering  <meyering@lucent.com>
130382         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
130383         Otherwise, some versions of automake would omit the rule that makes
130384         Makefile from Makefile.in.
130386 2002-01-21  Paul Eggert  <eggert@twinsun.com>
130388         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
130389         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
130390         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
130391         (memcoll): Set errno to zero if there is no error.
130393         * lib/quotearg.c (quotearg_buffer_restyled):
130394         Fix bug with quoting buffers containing NUL when backslashing escapes.
130395         This bug was exposed by the other changes in this patch.
130396         (quotearg_n_options): New arg ARGSIZE.
130397         All callers changed.
130398         (quoting_options_from_style): New function.
130399         (quotearg_n_style): Use it.
130400         (quotearg_n_style_mem): New function.
130402         * lib/quotearg.h (quotearg_n_style_mem): New function.
130404 2002-01-19  Jim Meyering  <meyering@lucent.com>
130406         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
130407         Remove useless quotes: DF_PROG="df".
130408         * m4/strnlen.m4: New file.
130410 2002-01-16  Paul Eggert  <eggert@twinsun.com>
130412         * lib/backupfile.c (ISDIGIT): Comment fix.
130413         * lib/getdate.y (ISDIGIT): Likewise.
130414         * lib/posixtm.c (ISDIGIT, year): Likewise.
130415         * lib/strverscmp.c (ISDIGIT): Likewise.
130416         * lib/userspec.c (ISDIGIT): Likewise.
130418 2002-01-16  Jim Meyering  <meyering@lucent.com>
130420         * lib/getdate.y: Add three semicolons, each just before a closing
130421         brace. Bison (as of version 1.31) no longer papers over that mistake.
130423 2002-01-05  Jim Meyering  <meyering@lucent.com>
130425         * lib/version-etc.c (version_etc_copyright): Update copyright year.
130427 2001-12-19  Paul Eggert  <eggert@twinsun.com>
130429         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
130430         not silently exit merely because the output buffer happens to
130431         have nothing pending.
130433 2001-12-18  Paul Eggert  <eggert@twinsun.com>
130435         See the big note in ../ChangeLog.
130436         * lib/human.c (suffixes): Prefer K to k for 1024.
130437         (generate_suffix_backwards): New function.
130438         (human_readable_inexact): Use it.
130439         * lib/xstrtol.c (__xstrtol): If there is no number but there
130440         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
130441         Accept 'K' as well as 'k'.
130443 2001-12-15  Jim Meyering  <meyering@lucent.com>
130445         * lib/regex.h (__restrict_arr): Update from libc.
130447         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
130448         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
130449         (STREQ): Define.
130451 2001-12-14  Jim Meyering  <meyering@lucent.com>
130453         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
130454         Suggestion from Bruno Haible.
130456 2001-12-10  Jim Meyering  <meyering@lucent.com>
130458         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
130459         xrealloc, Instead, include "xalloc.h".
130460         (initbuffer): Don't cast xmalloc return value to char*.
130461         (readline): Reword comment.
130462         Don't cast xrealloc return value to char*
130463         Return NULL, not 0.
130465 2001-12-09  Jim Meyering  <meyering@lucent.com>
130467         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
130468         about `signed and unsigned type in conditional expression'.
130469         * lib/posixtm.c (posix_time_parse): Likewise.
130471         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
130473         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
130474         to avoid a pedantic warning.
130476         * lib/getstr.c: Don't include assert.h.
130477         (getstr): Remove warning-evoking assertions.
130478         Return -1 if offset parameter is out of bounds.
130479         Change the type of a local from int to size_t.
130481         * lib/strftime.c (my_strftime_localtime_r): Include this function
130482         definition in the `#if ! HAVE_TM_GMTOFF' block.
130484         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
130485         Include xalloc.h instead.
130487 2001-12-02  Jim Meyering  <meyering@lucent.com>
130489         * lib/tempname.c: Don't declare getenv, thus reverting the change of
130490         2001-11-18.  It's no longer necessary, now that stdlib.h is always
130491         included.
130493         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
130494         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
130496 2001-11-30  Akim Demaille  <akim@epita.fr>
130498         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
130499         before being defined.
130501 2001-11-27  Paul Eggert  <eggert@twinsun.com>
130503         * lib/quotearg.h (quotearg_n, quotearg_n_style):
130504         First arg is int, not unsigned.
130505         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
130506         (SIZE_MAX, UINT_MAX): New macros.
130507         (quotearg_n_options): Abort if N is negative.
130508         Avoid overflow check on hosts where size_t is 64 bits and int
130509         is 32 bits, as overflow is impossible there.
130510         Fix off-by-one typo that caused unnecessary reallocation.
130512 2001-11-27  Jim Meyering  <meyering@lucent.com>
130514         * lib/tempname.c: Merge with version from libc.
130515         * lib/regex.c: Likewise.
130517         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
130518         systems for which STDC_HEADERS is 0, it was not included, resulting in
130519         a warning about an integer-to-pointer conversion problem with getenv.
130520         Reported by Volker Borchert.
130522 2001-11-26  Jim Meyering  <meyering@lucent.com>
130524         * lib/gtod.h: Remove file.
130525         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
130526         * lib/gettimeofday.c: Don't include gtod.h.
130527         (GTOD_init): Remove function.
130528         (rpl_gettimeofday): Do its job here instead, rather than aborting.
130529         Suggestion from Volker Borchert.
130531 2001-11-23  Jim Meyering  <meyering@lucent.com>
130533         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
130534         it.
130535         * lib/hash.c (struct hash_table): Define it here instead.
130537 2001-11-22  Jim Meyering  <meyering@lucent.com>
130539         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
130541 2001-11-20  Jim Meyering  <meyering@lucent.com>
130543         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
130544         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
130546 2001-11-19  Jim Meyering  <meyering@lucent.com>
130548         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
130549         directory.  Use "conftestXXXXXX" as the template.
130550         Suggestion from Paul Eggert.
130552         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
130553         immediately, so the test doesn't mistakenly hit the max-open-files
130554         limit.
130556 2001-11-18  Paul Eggert  <eggert@twinsun.com>
130558         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
130559         (TEMPORARIES): New macro.
130560         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
130561         removes an artificial limitation (e.g. HP-UX 10.20, where
130562         TMP_MAX is 17576).
130564 2001-11-18  Jim Meyering  <meyering@lucent.com>
130566         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
130568 2001-11-18  Jim Meyering  <meyering@lucent.com>
130570         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
130571         on SunOS 4.
130573         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
130574         files will be created before anything else.
130576 2001-11-17  Paul Eggert  <eggert@twinsun.com>
130578         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
130579         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
130581 2001-11-17  Jim Meyering  <meyering@lucent.com>
130583         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
130584         Prompted by a report from Bob Proulx.
130586         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
130587         Instead, require UTILS_FUNC_MKSTEMP.
130589 2001-11-17  Jim Meyering  <meyering@lucent.com>
130591         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
130592         Now, that's done as part of AC_FUNC_STRTOD.
130594 2001-11-17  Jim Meyering  <meyering@lucent.com>
130596         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
130597         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
130598         rather than group writable.  Patch by Juan F. Codagnone.
130600         * lib/readtokens.c: Remove explicit declarations of xmalloc and
130601         xrealloc, Instead, include "xalloc.h".
130603         * lib/mountlist.c: Include unlocked-io.h after all system headers.
130604         Remove explicit declarations of xmalloc, xrealloc,
130605         and xstrdup.  Instead, include "xalloc.h".
130607         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
130608         unlocked-io.h.
130609         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
130610         Likewise.
130611         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
130613         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
130614         Reported by Padraig Brady.
130616         * lib/mkstemp.c: #undef mkstemp.
130617         Include config.h.
130618         (rpl_mkstemp): Rename from mkstemp.
130619         Protoize.
130621 2001-11-16  Jim Meyering  <meyering@lucent.com>
130623         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
130624         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
130625         determine the amount of total physical memory, use pstat_getstatic.
130626         HPUX-11 doesn't define _SC_PHYS_PAGES.
130627         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
130628         If sysconf couldn't be used to determine the amount of available
130629         physical memory, use both pstat_getstatic and pstat_getdynamic.
130630         Based on a patch from Bob Proulx.
130632 2001-11-10  Jim Meyering  <meyering@lucent.com>
130634         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
130635         (jm_PREREQ): Use it.
130637 2001-11-09  Jim Meyering  <meyering@lucent.com>
130639         * m4/jm-macros.m4: Require autoconf-2.52f.
130640         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
130641         Use these AC_-prefixed names, not the AM_-prefixed ones.
130643         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
130645 2001-11-05  Jim Meyering  <meyering@lucent.com>
130647         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
130649 2001-11-04  Jim Meyering  <meyering@lucent.com>
130651         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
130652         $DEFS.
130654 2001-11-03  Jim Meyering  <meyering@lucent.com>
130656         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
130657         of AC_DEFUN.
130659         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
130660         know the name of the variable in the macro definition.
130662 2001-11-03  Jim Meyering  <meyering@lucent.com>
130664         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
130665         in argmatch_to_argument call.
130667         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
130668         argument.
130670         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
130671         e.g., a fault due to an attempt to free a NULL pointer.
130673 2001-11-01  Jim Meyering  <meyering@lucent.com>
130675         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
130676         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
130678 2001-11-01  Jim Meyering  <meyering@lucent.com>
130680         * lib/dirfd.c, lib/dirfd.h: New files.
130681         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
130683         * lib/hash.c (hash_print) [TESTING]: Clean up.
130685 2001-10-22  Paul Eggert  <eggert@twinsun.com>
130687         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
130688         to avoid a warning if -Wall.
130690 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
130692         * README: New file
130693         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
130694         (per RMS's instructions, this is now the canonical source)
130695         * lgpl/, gpl/: New directories.
130697 2001-10-21  Paul Eggert  <eggert@twinsun.com>
130699         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
130701 2001-10-21  Jim Meyering  <meyering@lucent.com>
130703         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
130704         this code would end up calling gettext even in packages built
130705         with --disable-nls.
130706         * lib/getopt.c (_): Likewise.
130707         * lib/regex.c (_): Likewise.
130709 2001-10-20  Paul Eggert  <eggert@twinsun.com>
130711         * m4/error.m4 (jm_PREREQ_ERROR):
130712         Do not invoke AC_CHECK_FUNCS with strerror_r, as
130713         AC_FUNC_STRERROR_R does that.
130714         Check for strerror declaration.
130716         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
130717         are supposed to have them these days.
130718         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
130719         Merge changes from latest Autoconf CVS.
130720         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
130721         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
130722         POSIX decided to standardize on the int flavor of strerror_r.
130724 2001-10-20  Paul Eggert  <eggert@twinsun.com>
130726         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
130727         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
130728         Use strerror_r that is only a macro, even if it is not a function.
130729         (strerror): Check for HAVE_DECL_STRERROR before declaring.
130730         (private_strerror): Use prototypes, not old-style function definition.
130731         (print_errno_message): New function.
130732         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
130733         char*-flavored one.
130734         (error_tail, error, error_at_line): Use it.
130736 2001-10-11  Jim Meyering  <meyering@lucent.com>
130738         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
130739         and quote_n (1, ... to avoid clobbering a buffer.
130741 2001-10-05  Jim Meyering  <meyering@lucent.com>
130743         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
130744         hash-pjw.h.
130745         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
130746         * lib/hash-pjw.h: New file.
130748 2001-09-30  Jim Meyering  <meyering@lucent.com>
130750         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
130751         `struct fsstat' has the `f_fstypename' member.
130752         Use that to define FS_TYPE, which is now used to make
130753         the getfsstat link test tighter.
130755 2001-09-30  Jim Meyering  <meyering@lucent.com>
130757         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
130758         Include <sys/ucred.h>, for Apple Darwin.
130759         Include sys/mount.h and sys/fs_types.h only if available.
130760         (FS_TYPE): Define.
130761         (read_filesystem_list): Use FS_TYPE.
130763 2001-09-29  Paul Eggert  <eggert@twinsun.com>
130765         * lib/exclude.c (excluded_filename): 0 -> false, since it's
130766         a boolean context.
130768 2001-09-29  Jim Meyering  <meyering@lucent.com>
130770         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
130771         [one-argument getmntent function]): Include stdio.h before mntent.h.
130772         SunOS 4.1.x needs it for the declaration of `FILE'.
130773         Patch by Volker Borchert.
130775         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
130776         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
130777         sys/fs_types.h, and make the link-test for getfsstat guard #include
130778         directives with appropriate #if HAVE_*_H tests so that we can
130779         detect getfsstat on Apple Darwin1.3.7 systems.
130780         Reported by Nelson Beebe.
130781         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
130783 2001-09-28  Paul Eggert  <eggert@twinsun.com>
130785         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
130786         #defines strtoimax.  Also treat the other strto* functions
130787         like strtoimax.
130789         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
130790         Check for strtoul and strtoumax,
130791         as those declarations are made even in the signed case.
130792         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
130793         Likewise, for strtol and strtoimax.
130795 2001-09-28  Paul Eggert  <eggert@twinsun.com>
130797         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
130798         #defines strtoimax.  Also treat the other strto* functions
130799         like strtoimax.
130801         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
130802         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
130803         (strtoimax, strtoumax): Do not declare if already defined as a macro.
130805 2001-09-26  Jim Meyering  <meyering@lucent.com>
130807         Most macros in unlocked-io.h had the wrong number of arguments.
130808         * lib/gen-uio: New script.
130809         (USE_UNLOCKED_IO): Define to 1 if not already defined.
130810         * lib/unlocked-io.hin: Remove file.
130811         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
130812         rather than trying to embed it here.
130813         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
130814         Reported by Padraig Brady.
130816 2001-09-25  Volker Borchert  <bt@teknon.de>
130818         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
130819         `result'.
130821 2001-09-24  Jim Meyering  <meyering@lucent.com>
130823         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
130825 2001-09-23  Jim Meyering  <meyering@lucent.com>
130827         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
130828         instead of the mere test for existence of mntent.h.  The latter
130829         would get a false-positive on AIX 3.4 systems.
130830         In the outer getmntent if-block, don't die if neither of the getmntent
130831         tests succeeds.  Instead, just fall through and continue with the
130832         remaining tests.
130834 2001-09-23  Jim Meyering  <meyering@lucent.com>
130836         * lib/mountlist.c: Remove useless parentheses in #if directives.
130837         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
130838         the deprecated MOUNTED symbol is no longer defined in mntent.h.
130840 2001-09-22  Jim Meyering  <meyering@lucent.com>
130842         * m4/gettext.m4: New file.  From gettext.
130843         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
130844         * m4/progtest.m4: Likewise
130845         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
130846         * m4/glibc21.m4: Likewise.
130848         * m4/libintl.m4: Remove.  No longer used.
130850 2001-09-22  Jim Meyering  <meyering@lucent.com>
130852         * lib/localcharset.c: Update from latest gettext.
130853         * lib/config.charset: Likewise.
130855 2001-09-20  Jim Meyering  <meyering@lucent.com>
130857         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
130858         strtoimax.
130859         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
130860         strtoumax.
130862 2001-09-20  Jim Meyering  <meyering@lucent.com>
130864         * lib/xstrtol.c (strtoimax): Guard declaration with
130865         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
130866         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
130867         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
130868         (strtoumax): Likewise, for completeness (it wasn't necessary).
130870 2001-09-17  Paul Eggert  <eggert@twinsun.com>
130872         * lib/strtoimax.c (HAVE_LONG_LONG):
130873         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
130874         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
130875         to work around bug in IBM C compiler.
130877 2001-09-17  Jim Meyering  <meyering@lucent.com>
130879         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
130880         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
130881         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
130882         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
130883         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
130884         whenever the right hand side need not be expanded by the shell.
130886 2001-09-16  Paul Eggert  <eggert@twinsun.com>
130888         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
130889         library.  It's not correct, as some older glibcs are buggy.
130890         fnmatch wasn't fixed until glibc 2.2.
130892         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
130893         special shell magic here.
130895 2001-09-16  Jim Meyering  <meyering@lucent.com>
130897         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
130898         * m4/jm-macros.m4: Require it.
130900 2001-09-16  Jim Meyering  <meyering@lucent.com>
130902         * lib/mkdir.c: New file.
130904 2001-09-15  Jim Meyering  <meyering@lucent.com>
130906         * m4/jm-macros.m4: Check for help2man.
130908 2001-09-11  Jim Meyering  <meyering@lucent.com>
130910         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
130911         The body, by Paul Eggert, was moved here from configure.in.
130912         * m4/jm-macros.m4: Require UTILS_HOST_OS.
130914 2001-09-04  Paul Eggert  <eggert@twinsun.com>
130916         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
130917         (jm_PREREQ): Use it.
130919 2001-09-04  Paul Eggert  <eggert@twinsun.com>
130921         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
130922         Use ssize_t, not int, to store result of readlink.
130923         Check for ssize_t overflow as well as size_t overflow,
130924         as POSIX says the result of readlink is implementation-defined
130925         when ssize_t overflows.
130926         Remove unnecessary cast to char*.
130927         Use free+malloc instead of realloc, as the storage doesn't need
130928         to be preserved and it's clearer and can be more efficient that way.
130929         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
130930         * lib/xreadlink.h (xreadlink): Update prototype.
130932 2001-09-04  Paul Eggert  <eggert@twinsun.com>
130934         * lib/xgetcwd.c: Revert some of the previous change; intead,
130935         fix the HAVE_GETCWD_NULL code to behave more like the
130936         !HAVE_GETCWD_NULL code used to.
130938         Include "xalloc.h".
130939         (xgetcwd): Do not return NULL when memory is exhausted; instead,
130940         invoke xalloc_die.
130942 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130944         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
130945         sys/param.h, as pathmax.h includes them.
130947 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130949         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
130950         (jm_PREREQ_XGETCWD): New macro.
130952         * m4/getcwd.m4: New file.
130954 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130956         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
130957         like the HAVE_GETCWD_NULL code.
130958         Include pathmax.h if not HAVE_GETCWD.
130959         Do not include xalloc.h.
130960         (INITIAL_BUFFER_SIZE): New symbol.
130961         Do not use xmalloc / xrealloc, since the caller is responsible for
130962         handling errors.  Preserve errno around `free' during failure.
130963         Do not overrun buffer when using getwd.
130965 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130967         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
130968         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
130969         getcwd (NULL, 0).
130971 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130973         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
130974         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
130975         spotted by Jim Meyering.
130977 2001-09-03  Jim Meyering  <meyering@lucent.com>
130979         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
130980         failure.
130982 2001-09-02  Jim Meyering  <meyering@lucent.com>
130984         * lib/error.c: Update from GNU libc.
130986 2001-09-01  Jim Meyering  <meyering@lucent.com>
130988         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
130989         Used by df.
130991 2001-09-01  Jim Meyering  <meyering@lucent.com>
130993         * lib/xreadlink.c: New file.
130994         * lib/xreadlink.h: New file.
130995         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
130996         xreadlink.h.
130998         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
130999         doesn't conflict with sparc Solaris 7's definition in
131000         /usr/include/sys/int_types.h.
131002         * lib/exclude.c: Use `""', not `<>' to #include non-system header
131003         files.
131004         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
131005         and strncasecmp as r-values.  Unixware didn't have declarations.
131007 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131009         * lib/xstrtol.h: Add copyright notice.
131010         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
131011         LONGINT_INVALID_SUFFIX_CHAR.
131013 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131015         * lib/xstrtol.c (strtoimax): New decl.
131017 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131019         * lib/xgetcwd.c: Don't include pathmax.h.
131020         Include stdlib.h and unistd.h if available.
131021         Include xalloc.h.
131022         (xmalloc, xstrdup, free): Remove decls.
131023         (xgetcwd): Don't assume sizes fit in unsigned.
131024         Check for overflow when computing sizes.
131025         Simplify reallocation code.
131027 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131029         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
131030         a directory's st_size can have an arbitrary value, so the old
131031         usage could waste an arbitrary amount of memory.  All uses
131032         changed.
131033         * lib/savedir.h: Update prototype.
131035 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131037         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
131039         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
131040         old strtoimax.c.
131042         Also, make the following further changes to make this file's
131043         configuration more similar to that of strtol.c:
131044         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
131045         (strtoumax, uintmax_t, strtoull, strtol): Remove.
131046         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
131047         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
131048         changed to signed values.
131050         And make the following changes as well:
131051         Fix copyright notice, as 1999 was missing.
131052         (verify): New macro.
131053         (strtoimax): Check sizes at compile-time, not run-time.
131054         Prefer strtol to strtoll if both work.
131055         (main): Remove; it was not that useful and was a pain to maintain.
131057         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
131059 2001-08-31  Jim Meyering  <meyering@lucent.com>
131061         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
131062         Use an initial, malloc'd, buffer of length 128 rather than
131063         a statically allocated one of length 1024.
131065 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131067         Simplify code, partly by assuming autoconf 2.52 semantics.
131069         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
131071         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
131072         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
131073         All uses removed.
131074         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
131075         Move AC_REQUIRE to next-to-top level, to avoid confusion.
131076         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
131077         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
131078         jm_AC_HEADER_INTTYPES_H.
131079         * m4/jm-macros.m4 (jm_MACROS): Likewise.
131081         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
131083         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131084         Quote first arg of AC_DEFUN.
131085         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
131086         since they are needed to parse the include file even if we need
131087         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
131088         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
131089         but with opposite signedness.
131091 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131093         Merge 'exclude' changes from tar 1.13.22.
131094         This fixes one or two unlikely storage allocation overflow bugs,
131095         but doesn't change user-visible behavior otherwise.
131097 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131099         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
131100         (jm_PREREQ_EXCLUDE): New macro.
131102 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131104         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
131105         tm to be declared.
131107 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131109         * lib/hash.c: Remove '2001' from copyright notice.
131111 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131113         * lib/full-write.h: New file.
131114         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
131115         * lib/full-write.c: Correct credits, as cccp.c no longer
131116         exists and anyway it was so heavily changed from the old cccp
131117         code as to be unrecognizable.  Include full-write.h.
131118         (full_write): Return size_t, with short writes meaning failure.
131119         All callers changed.  This fixes a bug with large buffers
131120         on 64-bit hosts.
131121         * lib/utime.c: Include full-write.h.
131123 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131125         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
131126         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
131127         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
131128         Include if available.
131129         (<xalloc.h>): Include
131130         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
131131         (verify): New macro.  Use it to verify that EXCLUDE macros do not
131132         collide with FNM macros.
131133         (struct patopts): New struct.
131134         (struct exclude): Use it, as exclude patterns now come with options.
131135         (new_exclude): Support above changes.
131136         (new_exclude, add_exclude_file):
131137         Initial size must now be a power of two to simplify overflow checking.
131138         (free_exclude, fnmatch_no_wildcards): New function.
131139         (excluded_filename): No longer requires options arg, as the options
131140         are determined by add_exclude.  Now returns bool, not int.
131141         (excluded_filename, add_exclude):
131142         Add support for the fancy new exclusion options.
131143         (add_exclude, add_exclude_file): Now takes int options arg.
131144         Check for arithmetic overflow when computing sizes.
131145         (add_exclude_file): xrealloc might modify errno, so don't
131146         realloc until after errno might be used.
131148         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
131149         New macros.
131150         (free_exclude): New decl.
131151         (add_exclude, add_exclude_file): Now takes int options arg.
131152         (excluded_filename): No longer requires options arg, as the options
131153         are determined by add_exclude.  Now returns bool, not int.
131155 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131157         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
131159 2001-08-27  Jim Meyering  <meyering@lucent.com>
131161         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
131163         * lib/version-etc.c (N_): Remove definition.
131164         Revert most of last change.
131165         Instead, simply don't mark the `Copyright...' string for translation.
131166         Based on advice from Paul Eggert.
131168         * lib/strtoxmax.c: Tweak comment.
131170 2001-08-26  Jim Meyering  <meyering@lucent.com>
131172         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
131174         * m4/xstrtoimax.m4: New file.
131175         * m4/xstrtoumax.m4: Add comments explaining why we
131176         AC_REPLACE_FUNCS(strtol).
131178 2001-08-26  Jim Meyering  <meyering@lucent.com>
131180         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
131181         of copyright with `%s' so translators don't get an untranslated
131182         message in 2002.
131183         (COPYRIGHT_YEAR): Define.
131184         (version_etc): Use fprintf rather than fputs.
131185         Suggestion from Ulrich Drepper.
131187         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
131189         * lib/strtoll.c: New file, from GNU libc.
131190         * lib/xstrtoimax.c: New file.
131192         * lib/xstrtol.h: Add xstrtoimax.
131193         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
131194         * lib/strtoimax.c: New file.  Likewise, but first define
131195         STRTOUXMAX_SIGNED.
131197         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
131198         ...
131199         * lib/strtoxmax.c: ... then renamed to this.
131201 2001-08-18  Paul Eggert  <eggert@twinsun.com>
131203         * m4/inttypes.m4: Add AC_PREREQ(2.13).
131204         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
131205         (jm_AC_TYPE_INTMAX_T): New macro.
131206         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
131208         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
131210         * m4/longlong.m4: Renamed from ulonglong.m4.
131211         * m4/inttypes.m4: Renamed from inttypes_h.m4.
131212         * m4/uintmax_t.m4: Removed.
131214 2001-08-13  Paul Eggert  <eggert@twinsun.com>
131216         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
131217         Port to Solaris 8, where 'sed' requires a space after the 'r'
131218         command, and where sh dislikes "$/".  Clean up the spacing a bit.
131219         Redirect output to $tmp just once.
131221 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
131223         * lib/addext.c (<errno.h>): Include.
131224         (errno): Declare if not defined.
131225         (addext): Work correctly when pathconf returns -1 and leaves
131226         errno alone because there is no limit.  Also, work even if
131227         pathconf returns a value greater than SIZE_MAX.
131229 2001-08-12  Jim Meyering  <meyering@lucent.com>
131231         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
131232         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
131233         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
131234         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
131235         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
131236         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
131237         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
131238         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
131239         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
131240         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
131241         utime.m4, utimes.m4, xstrtoumax.m4:
131242         Quote the first argument in each use of AC_DEFUN.
131244 2001-08-12  Jim Meyering  <meyering@lucent.com>
131246         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
131247         Simply `return getcwd (NULL, 0);'.
131248         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
131249         Use 1300 as initial value for length, not PATH_MAX.
131251         * lib/pathmax.h: Clean up cpp syntax.
131253 2001-08-12  Jim Meyering  <meyering@lucent.com>
131255         * lib/gettimeofday.c: New file.
131256         * lib/gtod.h: New file.
131257         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
131259 2001-08-05  Jim Meyering  <meyering@lucent.com>
131261         * m4/jm-macros.m4: Require autoconf-2.52.
131263 2001-08-04  Jim Meyering  <meyering@lucent.com>
131265         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
131266         stmt, to get in sync with glibc.
131268 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131270         The following changes are from gettext 0.10.39 as maintained by
131271         Bruno Haible.
131273         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
131274         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
131275         with inverted sense.  All uses changed.
131277         * lib/mbswidth.c: Don't include <limits.h>.
131278         Include <stdlib.h> and <string.h> unconditionally.
131279         (iswcntrl, mbsinit, ISCNTRL): New macros.
131280         (mbsnwidth): Use K&R style function declarations.
131281         Don't bother checking for MB_LEN_MAX == 1, since the compiler
131282         can optimize it when MB_CUR_MAX == 1.
131283         The width of control characters is zero, not 1.
131285 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131287         The following changes are from gettext 0.10.39 as maintained by
131288         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
131290         * m4/codeset.m4: Upgrade to serial AM1.
131291         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
131292         all uses changed.  Quote first arg of AC_DEFUN.
131293         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
131295         * m4/iconv.m4: Upgrade to serial AM2.
131296         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
131297         Add --with-libconv-prefix.
131298         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
131299         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
131300         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
131301         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
131302         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
131304         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
131305         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
131306         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
131307         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
131308         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
131309         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
131310         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
131311         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
131312         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
131314         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
131315         string.h any more.
131317         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
131318         not the default value.
131320         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
131321         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
131322         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
131323         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
131324         Also check for iswcntrl, used for wcwidth fallback.
131325         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
131326         to Autoconf 2.13.
131328 2001-08-03  Jim Meyering  <meyering@lucent.com>
131330         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
131331         as it was in the original.  Reported by Paul Eggert.
131333 2001-07-16  Jim Meyering  <meyering@lucent.com>
131335         * m4/gettimeofday.m4: New file.
131336         Prompted by a report from Bernhard Baehr.
131338 2001-07-15  Jim Meyering  <meyering@lucent.com>
131340         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
131341         stuff. Now it's in ../Makefile.cfg.
131343 2001-07-15  Jim Meyering  <meyering@lucent.com>
131345         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
131346         (BUILT_SOURCES): Add unlocked-io.h.
131347         (io_functions): Define.
131348         (unlocked-io.h): New rule.
131349         (DISTCLEANFILES): Add unlocked-io.h.
131350         (all-local): Depend on unlocked-io.h, to ensure it is created.
131352         * lib/unlocked-io.hin: New file
131354         * lib/regex.c: Update from glibc.
131356 2001-07-05  Jim Meyering  <meyering@lucent.com>
131358         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
131359         recommendation.
131360         (libfetish_a_SOURCES): Put all .h files here instead.
131361         Remove a thus-exposed (better checks in automake) duplicate and
131362         two unnecessary .h files.
131364 2001-07-04  Jim Meyering  <meyering@lucent.com>
131366         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
131367         that generates jm-glibc-io.m4 so that it doesn't trigger any make
131368         distcheck failure.
131370 2001-07-02  Jim Meyering  <meyering@lucent.com>
131372         The following changes were prompted by suggestions from Bruno Haible.
131374         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
131375         is now generated.
131376         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
131377         definition of EXTRA_DIST.
131378         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
131379         ensure that the generated file is created/updated whenever the list
131380         of $(unlocked_functions) is changed.
131381         (jm-glibc-io.m4): New rule.
131382         (unlocked-io.h): New rule -- currently unused.
131384 2001-06-24  Jim Meyering  <meyering@lucent.com>
131386         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
131387         unmatched right bracket, rather than kludging it with an extra,
131388         falsely-matching quote in a comment.  Patch by Akim Demaille.
131390 2001-06-11  Jim Meyering  <meyering@lucent.com>
131392         * lib/regex.c: Update from GNU libc.
131394 2001-05-27  Jim Meyering  <meyering@lucent.com>
131396         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
131397         Check for ut_type in struct utmp.
131399 2001-05-27  Jim Meyering  <meyering@lucent.com>
131401         * lib/readutmp.h (UT_TYPE): Define.
131403 2001-05-24  Jim Meyering  <meyering@lucent.com>
131405         * lib/argmatch.c: Include "quote.h".
131406         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
131407         quote function.  Reported by Göran Uddeborg.
131409 2001-05-22  Jim Meyering  <meyering@lucent.com>
131411         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
131412         now that we use the package-supplied version unconditionally.
131413         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
131415 2001-05-21  Jim Meyering  <meyering@lucent.com>
131417         * m4/regex.m4: Change a couple backticks to single quotes to avoid
131418         shell syntax errors.
131420 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
131422         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
131424 2001-05-20  Paul Eggert  <eggert@twinsun.com>
131426         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
131427         Don't bother to check library strftime, since
131428         we'll be using our own my_strftime function anyway.
131429         Define my_strftime instead of strftime.
131431 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
131433         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
131434         which is not yet declared.
131436 2001-05-15  Jim Meyering  <meyering@lucent.com>
131438         * m4/regex.m4: Use proper quoting so brackets appear in the test
131439         program.
131440         Reported by, and with help from, Bruno Haible.
131442 2001-05-13  Jim Meyering  <meyering@lucent.com>
131444         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
131445         undefined.
131447 2001-05-11  Paul Eggert  <eggert@twinsun.com>
131449         dirname code cleanup.  base_name now behaves more compatibly
131450         with POSIX basename when given file names that have trailing
131451         slashes, and similarly for dir_name.  Add new primitives
131452         base_len and dir_len.  Put the directory-name-related decls
131453         into dirname.h.
131455         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
131456         * lib/backupfile.c (base_name): Likewise.
131457         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
131458         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
131459         * lib/makepath.c (strip_trailing_slashes): Likewise.
131460         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
131461         ISSLASH): Likewise.
131462         * lib/rename.c (strip_trailing_slashes): Likewise.
131463         * lib/same.c (base_name): Likewise.
131464         * lib/stripslash.c (ISSLASH): Likewise.
131466         * lib/addext.c: Include <dirname.h> after size_t is defined.
131467         * lib/backupfile.c: Likewise.
131469         * lib/addext.c (addext): Use base_len to trim redundant
131470         trailing slashes instead of doing it ourselves.
131471         But do not trim the last slash if it is not redundant.
131473         * lib/backupfile.c (find_backup_file_name,
131474         max_backup_version): Use base_len instead of rolling it ourselves.
131475         Handle the case of "" and (on DOS) "C:" correctly.
131477         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
131478         needed. Include <string.h>, <dirname.h>.
131479         (base_name): Allow file names ending in slashes, other than names
131480         that are all slashes.  In this case, return the basename followed
131481         by the slashes.  This is more general, and can be used in places
131482         where the original base_name purposely had an assertion failure.
131483         (base_len): New function.
131485         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
131486         Do not include <assert.h>; no longer needed.
131487         Include xalloc.h.
131488         (memrchr): Remove decl.
131489         (dir_name_r): Remove.
131490         (dir_len): Renamed from dirlen.  All callers changed.
131491         Rewrite in terms of base_name, for simplicity and consistency.
131492         (dir_name): Never return NULL.  All callers changed.
131493         Do not include <stdlib.h> in test program; no longer needed.
131494         return 0; is fine for test program.
131496         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
131497         New macros.
131498         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
131500         * lib/path-concat.c (path_concat): Use base_len to compute
131501         base length, not strlen; this means we cannot rely on memcpy
131502         to null-terminate.
131504         * lib/same.c (STREQ): Remove.
131505         (same_name): Handle the case where the basename ends in trailing '/'.
131507         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
131508         a slash was stripped.  Do not strip the last slash after a
131509         file system prefix.
131511 2001-05-11  Paul Eggert  <eggert@twinsun.com>
131513         * lib/Makefile.am (libfetish_a_SOURCES):
131514         Add strftime.c, since we now compile it on all hosts.
131516         * lib/strftime.c (my_strftime):
131517         Define to nstrftime if emacs, but only if my_strftime is not defined.
131518         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
131519         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
131520         Add one more extra argument: a nanoseconds value.
131521         All uses changed.
131522         (ns): New macro.
131523         (my_strftime function): Add %N format.
131524         (emacs_strftimeu): Renamed from emacs_strftime,
131525         with extra ut argument.
131527 2001-05-09  Paul Eggert  <eggert@twinsun.com>
131529         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
131531 2001-04-21  Jim Meyering  <meyering@lucent.com>
131533         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
131534         doesn't interfere.
131536 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
131538         * m4/ftruncate.m4: Check for chsize.
131539         Link with ftruncate.o unconditionally if ftruncate is missing.
131540         This was required when cross-compiling to i586-mingw32msvc.
131542 2001-04-08  Jim Meyering  <meyering@lucent.com>
131544         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
131545         recomputed; that's necessary when the offset spans a DST transition.
131546         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
131548 2001-04-02  Jim Meyering  <meyering@lucent.com>
131550         * lib/regex.h, regex.c: Update from GNU libc.
131552 2001-03-24  Jim Meyering  <meyering@lucent.com>
131554         * m4/jm-macros.m4: Require autoconf-2.49d.
131556 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
131558         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
131560 2001-03-19  Paul Eggert  <eggert@twinsun.com>
131562         * lib/version-etc.c (version_etc_copyright): Update to 2001.
131564 2001-03-17  Jim Meyering  <meyering@lucent.com>
131566         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
131567         now that the version in autoconf is equivalent.
131568         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
131570         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
131571         Suggestion from Akim Demaille.
131573         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
131574         (jm_PREREQ_TEMPNAME): New function.
131576 2001-03-16  Paul Eggert  <eggert@twinsun.com>
131578         * lib/tempname.c (uint64_t): Define to uintmax_t if
131579         not defined, and if UINT64_MAX is not defined.
131580         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
131581         Reported by John David Anglin.
131583 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
131585         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
131586         resolve alias if codeset is empty.
131587         * lib/config.charset (BeOS): Use wildcard syntax.
131589 2001-03-13  Jim Meyering  <meyering@lucent.com>
131591         * lib/path-concat.c (path_concat)
131592         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
131593         concatenating e.g., `C:' and `foo'.
131594         From Bruno Haible.
131596 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
131598         * lib/localcharset.c (locale_charset): Don't use
131599         setlocale(LC_CTYPE,NULL). Don't return NULL.
131600         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
131602 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
131604         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
131605         support for DOS/DJGPP.
131607 2001-03-01  Paul Eggert  <eggert@twinsun.com>
131609         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
131610         lacks mkstemp.  Compile our own tempname.c if we compile our own
131611         mkstemp.c, as mkstemp relies on tempname.
131613 2001-03-01  Jim Meyering  <meyering@lucent.com>
131615         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
131616         AH_VERBATIM really does output its argument verbatim.
131618 2001-02-28  Paul Eggert  <eggert@twinsun.com>
131620         * lib/Makefile.am (libfetish_a_SOURCES):
131621         Add dup-safer.c, fopen-safer.c.
131622         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
131624         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
131625         * lib/unistd-safer.h: New files.
131627 2001-02-25  Paul Eggert  <eggert@twinsun.com>
131629         The mkstemp replacement is taken from glibc 2.2.2, with some
131630         portability fixes for use outside glibc, as follows:
131632         * lib/tempname.c (struct_stat64): New macro.
131633         (direxists, __gen_tempname): Use it.
131634         This avoids a portability problem with Solaris 8.
131636         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
131637         (<stddef.h>, <stdint.h>, <string.h>):
131638         Include only if STDC_HEADERS || _LIBC.
131639         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
131640         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
131641         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
131642         (__set_errno): Define this macro if <errno.h> doesn't.
131643         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
131644         Define these macros if <stdio.h> doesn't.
131645         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
131646         Define these macros if <sys/stat.h>
131647         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
131648         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
131649         __xstat64): Define if not _LIBC.
131650         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
131651         (__gen_tempname): Invoke gettimeofday only if
131652         HAVE_GETTIMEOFDAY || _LIBC;
131653         otherwise, fall back on plain "time".
131654         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
131656         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
131658         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
131660 2001-02-18  Paul Eggert  <eggert@twinsun.com>
131662         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
131664 2001-02-17  Paul Eggert  <eggert@twinsun.com>
131666         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
131667         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
131668         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
131669         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131671 2001-02-17  Paul Eggert  <eggert@twinsun.com>
131673         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
131674         Remove workaround macros for hosts that have mbrtowc but not
131675         mbstate_t, as we now insist on proper declarations for both
131676         before using mbrtowc.
131678 2001-02-17  Jim Meyering  <meyering@lucent.com>
131680         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
131681         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
131682         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
131683         UnixWare 7.1.1.
131685         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
131686         rather than AC_CACHE_VAL.
131688 2001-02-17  Jim Meyering  <meyering@lucent.com>
131690         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
131691         around included file name.
131693         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
131695         * lib/strftime.c: Update from GNU libc (the only changes were to
131696         comments).
131698 2001-02-17  Jim Meyering  <meyering@lucent.com>
131700         * lib/regex.c: Update from libc.
131702 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
131704         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
131705         clash.
131707 2001-02-16  Paul Eggert  <eggert@twinsun.com>
131709         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
131710         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
131711         Reported by Mark Hounschell via Paul Eggert.
131713 2001-02-07  Jim Meyering  <meyering@lucent.com>
131715         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
131717 2001-02-05  Jim Meyering  <meyering@lucent.com>
131719         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
131720         it includes the patch required for `large file' support with at least
131721         HP-UX's 10.20 /bin/cc.
131723 2001-02-03  Jim Meyering  <meyering@lucent.com>
131725         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
131726         AS_IF, now that it works once again (mysteriously).
131727         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
131729 2001-01-30  Jim Meyering  <meyering@lucent.com>
131731         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
131732         * m4/chown.m4: Rename conftestchown to conftest.chown.
131733         * m4/rename.m4: s/conftestdir/conftest.d1/ and
131734         s/conftestdir2/conftest.d2/.
131735         * m4/utimes.m4: s/conftestdata/conftest.data/
131736         Inspired by Pavel Roskin's change in autoconf.
131738 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
131740         * lib/config.charset: Update for FreeBSD 4.2.
131742 2001-01-27  Jim Meyering  <meyering@lucent.com>
131744         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
131745         a use of AS_IF.
131746         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
131748 2001-01-26  Jim Meyering  <meyering@lucent.com>
131750         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
131751         quotearg.c includes it.
131753 2001-01-26  Jim Meyering  <meyering@lucent.com>
131755         * lib/quotearg.c: Include stddef.h.
131756         * lib/quote.c: Include stddef.h.
131757         Reported by Axel Kittenberger.
131759         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
131760         line in double quotes so that it evokes a better diagnostic.
131761         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
131762         Reported by Axel Kittenberger.
131764 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
131766         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
131767         as if it was a `charset'.
131769 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
131771         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
131772         has const.
131774 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
131776         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
131777         to avoid a warning.  Add back 'const' to inptr.
131779 2001-01-20  Jim Meyering  <meyering@lucent.com>
131781         Be sure that headers are checked before used in code compiled
131782         for the type checks.
131783         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
131784         In place of that, invoke jm_CHECK_ALL_TYPES.
131785         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
131786         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
131787         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
131788         The check for ssize_t was mistakenly run before the test for unistd.h.
131790         The configure-time check for stdbool.h was missing.
131791         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
131792         (jm_PREREQ_HASH): New function.
131794 2001-01-17  Jim Meyering  <meyering@lucent.com>
131796         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
131797         for autoconf-2.49c.
131798         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
131800 2001-01-16  Jim Meyering  <meyering@lucent.com>
131802         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
131803         From Bruno Haible.
131805 2001-01-14  Jim Meyering  <meyering@lucent.com>
131807         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
131808         foo and bar.  Create conftestdir/ in the script, not in the C code.
131809         Remove directories in the script, not in the C code.
131810         Remove conftestdir{,2} before trying to create the directory.
131811         Make the entire configure script fail if the mkdir fails.
131813 2001-01-14  Jim Meyering  <meyering@lucent.com>
131815         * lib/rename.c: New file.  From Volker Borchert.
131816         Include stdlib.h, string.h or strings.h, and xalloc.h.
131817         Use strip_trailing_slashes rather than open-coding it.
131819 2001-01-03  Paul Eggert  <eggert@twinsun.com>
131821         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
131823 2001-01-03  Jim Meyering  <meyering@lucent.com>
131825         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
131826         of local `inptr' to avoid warning with some system declarations of
131827         iconv.
131829 2001-01-02  Volker Borchert  <bt@teknon.de>
131831         * m4/rename.m4: New file.
131832         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
131834 2001-01-01  Jim Meyering  <meyering@lucent.com>
131836         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
131837         even on systems with utmpx.h.  It's necessary for the declaration of
131838         utmp's ut_user member.  Reported by Andreas Jaeger.
131840         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
131841         available. They are required for the declarations of getgrgid and
131842         getpwuid resp.
131843         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
131844         Reported by Andreas Jaeger.
131846 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
131848         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
131849         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
131850         so `make install' also works in VPATH builds.
131852 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
131854         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
131855         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
131856         can be used in subdirectories.
131858 2000-12-29  Paul Eggert  <eggert@twinsun.com>
131860         * lib/modechange.c: Do not assume that mode_t uses the
131861         traditional octal encoding.  E.g. "chmod 1 FOO" should set
131862         the other-execute bit of FOO even if S_IXOTH != 1.
131864         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
131865         WOTH, XOTH, ALLM): New macros.
131866         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
131867          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
131868         Use them.
131869         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
131870         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
131871         (mode_compile):
131872         No need to use uintmax_t; unsigned long is long enough.
131873         Don't bother to get suffix since we don't use it.
131875 2000-12-26  Jim Meyering  <meyering@lucent.com>
131877         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
131878         better with autoheader.
131880 2000-12-24  Jim Meyering  <meyering@lucent.com>
131882         * lib/hash.c (is_prime): Return explicit boolean values.
131883         (hash_get_first): Return NULL to appease Irix5.6's 89.
131884         Reported by Nelson Beebe.
131886 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
131888         * lib/localcharset.c (locale_charset): Add support for Win32.
131890 2000-12-18  Paul Eggert  <eggert@twinsun.com>
131892         * lib/physmem.h, lib/physmem.c: New files.
131894         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
131895         (noinst_HEADERS): Add physmem.h.
131897         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
131898         't' for compatibility with Solaris 8 sort.
131900 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
131902         * lib/config.charset: Add support for BeOS.
131904 2000-12-17  Jim Meyering  <meyering@lucent.com>
131906         * m4/dos.m4 (jm_AC_DOS): New file and macro.
131907         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
131909 2000-12-16  Jim Meyering  <meyering@lucent.com>
131911         This bug had a serious impact on chown: `chown N:M FILE' (for integer
131912         N and M) would have treated it like `chown N:N FILE'.
131914         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
131916 2000-12-16  Jim Meyering  <meyering@lucent.com>
131918         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
131919         SHELLS_FILE to a file name that's useful on djgpp systems.
131920         Include stdlib.h.
131921         (ADDITIONAL_DEFAULT_SHELLS): Define.
131922         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
131923         Based mostly on a patch from Prashant TR.
131925 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
131927         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
131928         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
131929         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
131931 2000-12-08  Andreas Schwab  <schwab@suse.de>
131933         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
131934         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
131936 2000-12-07  Jim Meyering  <meyering@lucent.com>
131938         * lib/stripslash.c (ISSLASH): Define.
131939         (strip_trailing_slashes): Use ISSLASH rather than comparing against
131940         `/'.
131941         From Prashant TR.
131943         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
131944         (dir_name_r): Declare this function as static.
131945         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
131946         manifest itself on a name containing a mix of slashes and
131947         backslashes.
131948         Make this function work with names starting with a DOS-style
131949         drive letter and colon prefix.
131950         (dir_name): Append `.' if necessary.
131951         Based mostly on patches from Prashant TR and Eli Zaretskii.
131953         * lib/dirname.h (dir_name_r): Remove prototype.
131955 2000-12-06  Paul Eggert  <eggert@twinsun.com>
131957         * m4/off_t-format.m4: Remove this file.
131958         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
131960 2000-12-06  Jim Meyering  <meyering@lucent.com>
131962         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
131963         replacement strtoull, we may well need the replacement strtoul, too.
131964         Check for declarations of strtoul and strtoull.
131965         Check for strtol.  Mainly as a cue to cause automake to include
131966         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
131967         Check for limits.h -- strtol.c needs it.
131969 2000-12-05  Jim Meyering  <meyering@lucent.com>
131971         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
131973 2000-12-04  Jim Meyering  <meyering@lucent.com>
131975         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
131976         Also include memory.h, stdlib.h, unistd.h if appropriate.
131977         Reported by Andreas Jaeger (conflicting declaration of malloc).
131979 2000-12-02  Jim Meyering  <meyering@lucent.com>
131981         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
131982         * m4/jm-macros.m4 (jm_MACROS): require it.
131984 2000-12-02  Jim Meyering  <meyering@lucent.com>
131986         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
131988 2000-12-01  Paul Eggert  <eggert@twinsun.com>
131990         * lib/memrchr.c: Include <config.h> before any system include file.
131992 2000-11-30  Jim Meyering  <meyering@lucent.com>
131994         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
131996 2000-11-30  Jim Meyering  <meyering@lucent.com>
131998         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
132000 2000-11-29  Paul Eggert  <eggert@twinsun.com>
132002         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
132004 2000-11-26  Jim Meyering  <meyering@lucent.com>
132006         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
132008 2000-11-22  Paul Eggert  <eggert@twinsun.com>
132010         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
132011         size of (size_t) -1; it's not portable.
132013 2000-11-17  Jim Meyering  <meyering@lucent.com>
132015         * lib/strstr.c: Update from GNU libc.
132017 2000-11-17  Akim Demaille  <akim@epita.fr>
132019         * lib/obstack.h: Formatting changes.
132020         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
132021         prevent type checking.
132022         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
132023         cast the value to (void *): assigning a `foo *' to a `void *'
132024         variable is valid.
132025         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
132027 2000-11-16  Jim Meyering  <meyering@lucent.com>
132029         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
132031 2000-11-11  Jim Meyering  <meyering@lucent.com>
132033         * lib/error.c: Add a couple #includes, merging from GNU libc version.
132035 2000-11-10  Jim Meyering  <meyering@lucent.com>
132037         * lib/obstack.h: Update from GNU libc.
132038         * lib/obstack.c: Likewise.
132040 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
132042         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
132044 2000-11-06  Paul Eggert  <eggert@twinsun.com>
132046         * lib/getusershell.c (setusershell): Use rewind rather than
132047         fseek/fseeko, to avoid configuration hassles with fseeko.
132048         Don't bother opening SHELLS_FILE if shellstream is NULL;
132049         it's not necessary.
132051 2000-11-05  Jim Meyering  <meyering@lucent.com>
132053         * lib/makepath.h (make_dir): Declare.
132054         * lib/makepath.c (make_dir): Remove `static' attribute.
132055         Tweak a comment.
132057 2000-11-04  Jim Meyering  <meyering@lucent.com>
132059         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
132061 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
132063         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
132064         last one in a bucket, advance to the next bucket.
132066 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
132068         * lib/fnmatch.c: Do not comment out all the code if we are using
132069         the GNU C library, because in some cases we are replacing buggy
132070         code in the GNU C library itself.
132072 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
132074         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
132075         (regex_compile): Catch bogus \(\1\).
132077 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132079         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
132080         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
132081         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
132083 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132085         * lib/error.h, getline.h, modechange.h:
132086         Remove "2000" from Copyright line, as the file hasn't been
132087         changed this year other than in the copyright notice.
132089         * lib/xalloc.h: Add "2000" to Copyright line, as this file
132090         was changed this year.
132092 2000-10-29  Jim Meyering  <meyering@lucent.com>
132094         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
132095         renaming.
132096         * m4/ls-mntd-fs.m4: Likewise
132098 2000-10-29  Jim Meyering  <meyering@lucent.com>
132100         * lib/xstat.in: Fix grammar in comment.
132102 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
132104         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
132105         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
132106         doesn't define __restrict_arr.
132108 2000-10-28  Jim Meyering  <meyering@lucent.com>
132110         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
132111         (jm_PREREQ_MEMCHR): New function.
132113 2000-10-28  Jim Meyering  <meyering@lucent.com>
132115         * lib/memchr.c: Update from libc.
132116         Adjust for portability:
132117         [HAVE_STDLIB_H]: Include stdlib.h.
132118         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
132119         Undef __memchr, too.
132120         [!weak_alias]: Define __memchr to memchr.
132122         * lib/regex.c: Update from libc.
132123         * lib/regex.h: Likewise.
132124         * lib/getopt1.c: Likewise.
132125         * lib/memcmp.c: Likewise.
132127         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
132128         Avoid using fseek, when possible -- it's broken by design.
132129         Patch by Ulrich Drepper.
132131 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
132133         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
132134         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
132135         Giving in to popular pressure to shut up the compiler with casts.
132137 2000-10-26  Jim Meyering  <meyering@lucent.com>
132139         * lib/strftime.c: Update from libc.
132141 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
132143         * regex.c: More `unsigned char' -> `re_char' changes.
132144         Also change several `int' into `re_wchar_t'.
132145         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
132146         (PUSH_FAILURE_POINTER): Don't cast any more.
132147         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
132148         We want GCC to complain, since this piece of code makes
132149         re_match non-reentrant, which *should* be fixed.
132150         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
132151         (EXTEND_BUFFER): Use RETALLOC.
132152         (SET_LIST_BIT): Don't cast.
132153         (re_wchar_t): New type.
132154         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
132155         that those two functions will always properly return.
132156         (IMMEDIATE_QUIT_CHECK): Cast to void.
132157         (analyse_first): Use recursion rather than an explicit stack.
132158         (re_compile_fastmap): Can't fail anymore.
132159         (re_search_2): Don't check re_compile_fastmap for failure.
132160         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
132161         Now also sets the new value (passed in a new argument).
132162         (re_match_2_internal): Use it.
132163         Also, use a new var `reg' of type size_t when looping through regs
132164         rather than reuse the inappropriate `mcnt'.
132166 2000-10-25  Jim Meyering  <meyering@lucent.com>
132168         * lib/obstack.c: Update from libc.
132170 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
132172         * regex.c (regex_compile): Change the way of handling a range from
132173         a char less than 256 to a char not less than 256.
132175 2000-10-24  Andrew Innes  <andrewi@gnu.org>
132177         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
132178         NT-Emacs only.
132179         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
132180         so that re_search functions only quit when callers expect them to.
132182 2000-10-23  Jim Meyering  <meyering@lucent.com>
132184         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
132185         wrong.  That set_locale call must not have any side effects.
132186         From Paul Eggert.
132188 2000-10-22  Jim Meyering  <meyering@lucent.com>
132190         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
132191         [CYCLIC]: Remove now-unused definition.
132193         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
132194         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
132195         Suggestion from Ulrich Drepper.
132197 2000-10-21  Jim Meyering  <meyering@lucent.com>
132199         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
132200         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
132201         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
132203 2000-10-21  Jim Meyering  <meyering@lucent.com>
132205         * lib/dirname.c (memrchr): Declare if necessary.
132206         (dir_name): Remove the restriction that there be no
132207         trailing slashes.  Now, this code skips past them, effectively
132208         ignoring them.
132209         [TEST_DIRNAME] (main): New unit tests.
132211         * lib/memrchr.c: New file from GNU libc.
132212         Undef __memrchr, too.
132213         [!weak_alias]: Define __memrchr to memrchr.
132214         Guard weak_alias use with `#ifdef weak_alias'.
132216 2000-10-21  Jim Meyering  <meyering@lucent.com>
132218         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
132219         (dir_name): Use dir_name_r.
132220         * lib/dirname.h (dir_name_r): Declare it.
132222 2000-10-17  Jim Meyering  <meyering@lucent.com>
132224         * lib/quote.h (PARAMS): Define and use.
132225         Reported by Akim Demaille.
132227         * lib/getopt.c: Update from libc.
132229 2000-10-16  Jim Meyering  <meyering@lucent.com>
132231         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
132232         setlocale.
132233         From Jan Fedak.
132235 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
132237         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
132239 2000-09-25  Jim Meyering  <meyering@lucent.com>
132241         * lib/md5.h (rol): Define (from GnuPG).
132243         * lib/sha.c: Give credit (GnuPG) where due.
132244         (M): Use rol rather than open-coding it.
132245         Add a FIXME comment.
132247 2000-09-21  Jim Meyering  <meyering@lucent.com>
132249         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
132250         Reported by Michael Stone.
132252 2000-09-20  Jim Meyering  <meyering@lucent.com>
132254         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
132255         (noinst_HEADERS): Add sha.h.
132256         Based on code from Scott G. Miller and from GnuPG.
132258 2000-09-18  Jim Meyering  <meyering@lucent.com>
132260         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
132261         LIBS. Otherwise, everyone ends up linking with -lelf for some
132262         configurations.
132263         Reported by Mike Stone.
132265 2000-09-15  Jim Meyering  <meyering@lucent.com>
132267         * lib/regex.c: Update from libc.
132269 2000-09-10  Jim Meyering  <meyering@lucent.com>
132271         * lib/getopt.c (_getopt_internal): Update from glibc.
132273 2000-09-09  Jim Meyering  <meyering@lucent.com>
132275         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
132276         think it should be used as a general replacement for isascii.
132277         * lib/fnmatch.c: Likewise.
132278         * lib/mbswidth.c: Likewise
132279         * lib/regex.c: Likewise.
132281         Don't use atoi.
132282         * lib/userspec.c: Include sys/param.h and limits.h.
132283         Include xstrtol.h.
132284         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
132285         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
132286         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
132287         UID, GID.  Check range.
132289 2000-09-06  Jim Meyering  <meyering@lucent.com>
132291         * lib/getopt.c (_getopt_internal): Update from glibc.
132293 2000-08-30  Jim Meyering  <meyering@lucent.com>
132295         * lib/strftime.c: Merge in changes from GNU libc.
132297 2000-08-26  Jim Meyering  <meyering@lucent.com>
132299         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
132300         * m4/fpending.m4: New file.
132302 2000-08-26  Jim Meyering  <meyering@lucent.com>
132304         * lib/closeout.c: Include "__fpending.h".
132305         (close_stdout_status): Return right away if there's nothing to flush.
132307         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
132308         * lib/__fpending.c: New file.
132309         * lib/__fpending.h: New file.
132311 2000-08-20  Jim Meyering  <meyering@lucent.com>
132313         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
132314         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
132315         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
132317 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
132319         Improve fileutils installation on systems where running
132320         programs (like install) can't be unlinked.
132321         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
132322         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
132324 2000-08-07  Paul Eggert  <eggert@twinsun.com>
132326         Standardize on "memory exhausted" instead of "Memory exhausted"
132327         or "virtual memory exhausted".
132328         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
132329         "virtual memory exhausted".
132330         * lib/same.c (same_name): Invoke xalloc_die instead of printing
132331         our own message.
132332         * lib/userspec.c (parse_user_spec): Likewise.
132333         * lib/bumpalloc.h: comment fix
132334         * lib/same.c, userspec.c: Include xalloc.h.
132336         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
132337         not char *const and pointing to a constant array.
132338         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
132339         (xrealloc): Comment fix.
132341         * lib/userspec.c (parse_user_spec):
132342         Don't translate a message until just before returning,
132343         to avoid unnecessary translation.
132345 2000-08-07  Jim Meyering  <meyering@lucent.com>
132347         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
132348         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
132349         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
132350         getgroups.c, gethostname.c, getopt.h, group-member.c,
132351         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
132352         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
132353         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
132354         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
132355         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
132356         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
132357         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
132358         yesno.c: Back out Copyright date changes for each file with no change
132359         this year.  This eases coordination with other programs using the same
132360         source code modules.  From Paul Eggert.
132362 2000-08-06  Paul Eggert  <eggert@twinsun.com>
132364         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
132365         not char, for compatibility with glibc 2.1.3 strftime.c.
132367 2000-08-03  Greg McGary  <greg@mcgary.org>
132369         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
132370         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
132371         (EXTEND_BUFFER): Use them.
132373 2000-08-01  Jim Meyering  <meyering@lucent.com>
132375         * lib/dirname.c (ISSLASH): Define.
132376         (BACKSLASH_IS_PATH_SEPARATOR): Define.
132377         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
132378         both `\' and `/' may be use as path separators.
132379         Based on a patch from Prashant TR.
132381 2000-07-31  Paul Eggert  <eggert@twinsun.com>
132383         * lib/quotearg.c (quotearg_n_options): Don't make the initial
132384         slot vector a constant, since it might get modified.
132386 2000-07-31  Jim Meyering  <meyering@lucent.com>
132388         * lib/xmalloc.c: Use `virtual memory exhausted', not
132389         `Memory exhausted'.
132390         * lib/obstack.c (print_and_abort): Likewise.
132392 2000-07-30  Paul Eggert  <eggert@twinsun.com>
132394         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
132395         buffer, so that the caller can always quote one small
132396         component of a "memory exhausted" message in slot 0.
132397         From a suggestion by Jim Meyering.
132399 2000-07-30  Jim Meyering  <meyering@lucent.com>
132401         * lib/makepath.c (make_path): Quote the other instance, too.
132403         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
132404         (STATIC_BUF_SIZE): Define.
132405         (quotearg_n_options): Use only statically allocated storage when
132406         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
132407         than STATIC_BUF_SIZE.
132409 2000-07-29  Jim Meyering  <meyering@lucent.com>
132411         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
132412         * lib/dirname.c (dir_name): Likewise.
132414         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
132415         `/'.
132417         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
132418         (dir_name): Assert that there are no trailing slashes.
132420 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
132422         * lib/mbswidth.h (mbswidth): Add a flags argument.
132423         (mbswidth): New declaration.
132424         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
132425         * lib/mbswidth.c (mbswidth): Add a flags argument.
132426         (mbsnwidth): New function.
132428 2000-07-24  Jim Meyering  <meyering@lucent.com>
132430         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
132432 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132434         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
132436 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132438         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
132439         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
132440         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
132441         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
132442         invoke multibyte primitives.
132444 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132446         * lib/quotearg.c:
132447         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
132448         so that mbstate_t is always defined.
132450         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
132451         be 1 in at least one GCC installation, and this configuration
132452         error is likely to be common.  Ignoring MB_LEN_MAX hurts
132453         performance on hosts that have mbrtowc but have only unibyte
132454         locales, but I assume these hosts are rare.
132456 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132458         * lib/mbswidth.c (_XOPEN_SOURCE):
132459         Don't define; this causes problems on Solaris 7.
132460         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
132462 2000-07-23  Jim Meyering  <meyering@lucent.com>
132464         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
132465         too: getgrgid, getpwuid, getuid.
132467 2000-07-23  Jim Meyering  <meyering@lucent.com>
132469         * lib/basename.c (base_name): Add an assertion.
132471 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
132473         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
132474         shadow its mbsinit function.
132476 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
132478         * lib/mbswidth.h: New file.
132479         * lib/mbswidth.c: New file.
132480         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
132481         (noinst_HEADERS): Add mbswidth.h.
132483 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
132485         * lib/config.charset: Add support for FreeBSD. Improve support for
132486         HP-UX and IRIX 6.
132488 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
132490         * m4/mbswidth.m4: New file.
132491         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
132493 2000-07-15  Jim Meyering  <meyering@lucent.com>
132495         * lib/makepath.c: Include quote.h.
132496         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
132497         corresponding argument in a `quote (...)' call.
132498         Give better diagnostics.
132500         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
132501         (noinst_HEADERS): Add quote.h.
132503         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
132504         from tar's src/misc.c.
132505         * lib/quote.h: New file.  Prototypes for same.
132507 2000-07-14  Paul Eggert  <eggert@twinsun.com>
132509         From a suggestion by Bruno Haible.
132510         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
132511         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
132512         to decide whether to define the BeOS workaround macro;
132513         this adjusts to the change to AC_MBSTATE_T.
132515 2000-07-14  Jim Meyering  <meyering@lucent.com>
132517         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
132518         jm_AC_TYPE_UINTMAX_T.
132520 2000-07-13  Paul Eggert  <eggert@twinsun.com>
132522         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
132524         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
132525         quotearg_buffer_restyled): Add support for
132526         clocale_quoting_style.  Undo previous change to
132527         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
132528         and "{RIGHT QUOTATION MARK}" msgids.
132530 2000-07-10  Paul Eggert  <eggert@twinsun.com>
132532         From a suggestion by Bruno Haible.
132533         * m4/mbstate_t.m4 (AC_MBSTATE_T):
132534         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
132535         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
132536         and mbstate_t, to a single-part test that simply defines mbstate_t.
132537         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
132538         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
132540 2000-07-10  Jim Meyering  <meyering@lucent.com>
132542         * m4/strerror_r.m4: Mirror the correction made in autoconf.
132544         * m4/gnu-source.m4: Output to confdefs.h directly.
132545         Suggestion from Akim Demaille.
132547 2000-07-09  Paul Eggert  <eggert@twinsun.com>
132549         The old behavior of quoting `like this' doesn't look good with
132550         newer, ISO-style fonts.  See:
132551         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
132553         Instead, quote "like this" by default.  Let the translator
132554         tailor the locale-specific quoting behavior by providing
132555         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
132557         * lib/quotearg.c (N_): New macro.
132558         (gettext_default): New function.
132559         (quotearg_buffer_restyled): Use
132560         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
132561         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
132563 2000-07-09  Jim Meyering  <meyering@lucent.com>
132565         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
132566         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
132568         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
132569         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
132571 2000-07-09  Jim Meyering  <meyering@lucent.com>
132573         * lib/Most files: Update copyright dates to include 2000.
132575 2000-07-08  Jim Meyering  <meyering@lucent.com>
132577         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
132578         if not defined.
132579         (xgethostname): Remove now-unnecessary #ifdef.
132580         Move declaration of `err' into loop where it's used.
132582 2000-07-05  Paul Eggert  <eggert@twinsun.com>
132583         and Bruno Haible  <haible@clisp.cons.org>
132585         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
132586         only if the test for an object-type mbstate_t fails.  This
132587         prevents us from mistakenly reporting that mbstate_t is a
132588         system object type after we "#define mbstate_t int" to work
132589         around its lack.
132591 2000-07-05  Paul Eggert  <eggert@twinsun.com>
132592         and Bruno Haible  <haible@clisp.cons.org>
132594         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
132596 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132598         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
132599         to strerror_r.
132600         Include <ctype.h> for use of isalpha.
132602 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132604         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
132605         by allocating a larger buffer. Test the gethostname return value for
132606         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
132607         returns an error and ENAMETOOLONG isn't defined.
132609 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132611         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
132612         dimension.
132614 2000-07-04  Jim Meyering  <meyering@lucent.com>
132616         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
132617         of the deprecated AC_CHECKING.
132619 2000-07-04  Jim Meyering  <meyering@lucent.com>
132621         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
132622         Reported by Bruno Haible.
132624 2000-07-04  Jim Meyering  <meyering@lucent.com>
132626         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
132627         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
132628         lacks mbrtowc.
132630 2000-07-03  Paul Eggert  <eggert@twinsun.com>
132632         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
132633         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
132635 2000-07-03  Paul Eggert  <eggert@twinsun.com>
132636         and Bruno Haible  <haible@clisp.cons.org>
132638         * lib/quotearg.c (mbrtowc):
132639         Assign to *pwc, and return 1 only if result is nonzero.
132640         (iswprint): Use ISPRINT when substituting our own mbrtowc.
132642 2000-07-03  Jim Meyering  <meyering@lucent.com>
132644         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
132646 2000-07-03  Jim Meyering  <meyering@lucent.com>
132648         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
132649         This is necessary to get a definition of e.g., UTMP_FILE on
132650         HP-UX 10.20.
132651         From Bob Proulx.
132653 2000-07-02  Jim Meyering  <meyering@lucent.com>
132655         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
132657         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
132658         AC_LIBOBJ(function_name).
132659         * m4/chown.m4: Likewise.
132660         * m4/fnmatch.m4: Likewise.
132661         * m4/ftruncate.m4: Likewise.
132662         * m4/getgroups.m4: Likewise.
132663         * m4/getline.m4: Likewise.
132664         * m4/group-member.m4: Likewise.
132665         * m4/jm-macros.m4: Likewise.
132666         * m4/lstat.m4: Likewise.
132667         * m4/malloc.m4: Likewise.
132668         * m4/memcmp.m4: Likewise.
132669         * m4/nanosleep.m4: Likewise.
132670         * m4/putenv.m4: Likewise.
132671         * m4/realloc.m4: Likewise.
132672         * m4/regex.m4: Likewise.
132673         * m4/stat.m4: Likewise.
132674         * m4/strftime.m4: Likewise.
132676 2000-07-02  Jim Meyering  <meyering@lucent.com>
132678         * lib/quotearg.c (mbstate_t): Don't define here.
132680 2000-07-02  Jim Meyering  <meyering@lucent.com>
132682         * lib/nanosleep.c (SIGCONT): Define if not already defined.
132684 2000-07-01  Jim Meyering  <meyering@lucent.com>
132686         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
132688 2000-07-01  Jim Meyering  <meyering@lucent.com>
132690         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
132691         problem.
132693 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
132695         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
132696         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
132698 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
132700         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
132701         per change in ../m4/ls-mntd-fs.m4.
132702         (read_filesystem_list): Ignore symbolic links.
132704 2000-06-29  Jim Meyering  <meyering@lucent.com>
132706         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
132707         for declaration of strcmp.
132709         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
132711         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
132712         Avoid warning by casting result to `char *' to remove `const'.
132714 2000-06-28  Jim Meyering  <meyering@lucent.com>
132716         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
132717         included by quotearg.c, for which we perform this test.  From
132718         Bruno Haible.
132720 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
132722         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
132723         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
132724         <utmpx.h> exists, put readutmp.o into LIBOBJS.
132726 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
132728         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
132730 2000-06-26  Paul Eggert  <eggert@twinsun.com>
132732         savedir now sets errno on failure and invokes xmalloc to get memory.
132733         Fix a couple of other minor bugs while we're at it.
132735         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
132736         (NAMLEN): Remove macro.
132737         (malloc, realloc): Remove decls.
132738         (stpcpy): Likewise.
132739         ("xalloc.h"): Include.
132740         (NAME_SIZE_DEFAULT): New macro.
132741         (savedir): Use xmalloc / xrealloc to allocate memory.
132742         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
132743         Skip "" directory entries.
132744         Use strlen to calculate directory entry length, since the old method
132745         is rarely used these days and isn't worth supporting.
132746         Don't use a pointer after freeing it.
132747         Check for integer overflow when calculating allocation size.
132748         Use memcpy to copy entries, instead of stpcpy.
132749         Set errno properly when returning NULL.
132750         Check for readdir error.
132752 2000-06-26  Jim Meyering  <meyering@lucent.com>
132754         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
132756 2000-06-25  Jim Meyering  <meyering@lucent.com>
132758         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
132759         Linux header bug when _XOPEN_SOURCE is defined to 500.
132761 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
132763         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
132764         deficiency.
132766 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
132768         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
132769         Include xalloc.h.
132770         Don't include <stdlib.h>.  Don't declare malloc, realloc.
132772 2000-06-24  Jim Meyering  <meyering@lucent.com>
132774         * m4/strerror_r.m4: Revive this file -- to try out an experimental
132775         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
132776         for which strerror does return char*, but which lacks a conveniently
132777         accessible declaration of the function.  If the compile-test says
132778         strerror_r doesn't work, then resort to a `run'-test that works on
132779         BeOS and segfaults on DEC Unix.
132781 2000-06-24  Jim Meyering  <meyering@lucent.com>
132783         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
132785 2000-06-23  Paul Eggert  <eggert@twinsun.com>
132787         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
132788         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
132790 2000-06-23  Paul Eggert  <eggert@twinsun.com>
132792         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
132793         (mbrtowc, mbstate_t): Define substitutes if
132794         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
132795         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
132796         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
132798 2000-06-23  Jim Meyering  <meyering@lucent.com>
132800         * m4/afs.m4: Add missing AC_MSG_RESULT.
132801         Reported by Bruno Haible.
132803         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
132804         Suggestion from Bruno Haible.
132806 2000-06-23  Jim Meyering  <meyering@lucent.com>
132808         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
132810 2000-06-21  Jim Meyering  <meyering@lucent.com>
132812         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
132814 2000-06-21  Jim Meyering  <meyering@lucent.com>
132816         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
132817         (noinst_HEADERS): Add getstr.h.
132819         * lib/getline.c (getstr): Move into a separate file.
132820         * lib/getstr.c (getstr): New file, extracted from getline.c, with
132821         the following changes: new parameter, delim2; both delim[12]
132822         parameters have type `int', not `char'.  The latter would lose
132823         with 8-bit delimiters.
132824         * lib/getstr.h: New file.
132826 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
132828         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
132829         than 1024, return a memory chunk of least possible size, instead
132830         of size PATH_MAX + 2. In the loop, increment the size proportionally.
132831         Use free/xmalloc instead of xrealloc to avoid copying for very long
132832         paths.
132834 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
132836         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
132837         the empty string.
132839 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
132841         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
132842         address, not strdup.  Include <stdlib.h> and don't declare free().
132844 2000-06-19  Jim Meyering  <meyering@lucent.com>
132846         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
132848 2000-06-18  Jim Meyering  <meyering@lucent.com>
132850         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
132852         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
132853         `checking whether...' message to be consistent with that of the
132854         lstat test.
132856 2000-06-18  Jim Meyering  <meyering@lucent.com>
132858         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
132859         Besides, these days every porting target provides a mkdir function.
132861         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
132862         needed. (this snippet comes from src/system.h).
132864 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
132866         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
132868 2000-06-15  Paul Eggert  <eggert@twinsun.com>
132870         * lib/human.c (adjust_value): New function.
132871         (human_readable_inexact): Apply rounding style even when
132872         printing approximate values.
132874 2000-06-14  Paul Eggert  <eggert@twinsun.com>
132876         * lib/human.c (human_readable_inexact): Allow an input block
132877         size that is not a multiple of the output block size, and vice versa.
132878         Reported by Piergiorgio Sartor.
132880 2000-06-14  Paul Eggert  <eggert@twinsun.com>
132882         * lib/getdate.y (get_date): Apply relative times after time
132883         zone indicator, not before.  Reported by Todd A. Jacobs.
132885 2000-06-13  Jim Meyering  <meyering@lucent.com>
132887         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
132889         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
132891 2000-06-12  Paul Eggert  <eggert@twinsun.com>
132893         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
132895 2000-06-12  Jim Meyering  <meyering@lucent.com>
132897         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
132898         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
132899         optional argument.
132900         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
132901         the optional argument, `lib'.
132903 2000-06-08  Jim Meyering  <meyering@lucent.com>
132905         * m4/largefile.m4: Remove file (now that it's part of autoconf).
132907 2000-06-04  Paul Eggert  <eggert@twinsun.com>
132909         Rewrite largefile configuration so that we don't need to run
132910         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
132911         AC_CANONICAL_HOST in configure.in -- jmm]
132913         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
132914         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
132915         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
132916         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
132917         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
132918         All uses changed.
132919         Instead of inspecting the output of getconf, try to compile the
132920         test program without and with the macro definition.
132921         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
132922         for getconf.  Instead, check for the needed flags by compiling
132923         test programs.
132925 2000-06-04  Paul Eggert  <eggert@twinsun.com>
132927         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
132929 2000-06-04  Jim Meyering  <meyering@lucent.com>
132931         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
132932         SunOS 4.1.4 for which gid_t is an unsigned type.
132934 2000-06-03  Jim Meyering  <meyering@lucent.com>
132936         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
132937         now that autoconf requires that.
132939         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
132940         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
132941         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
132943 2000-06-03  Jim Meyering  <meyering@lucent.com>
132945         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
132947 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
132949         * m4/glibc21.m4: New file.
132950         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
132952 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
132954         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
132955         newer, don't install charset.alias.
132956         * lib/config.charset: Change the Linux/glibc rules so they become empty
132957         on glibc-2.1 or newer.
132959 2000-06-02  Jim Meyering  <meyering@lucent.com>
132961         * lib/mountlist.c: Back out last change.  Instead, do this...
132962         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
132963         me_dummy member using the same `ignore'-testing code.
132964         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
132965         fs_type strings.
132966         From Mark D. Roth.
132968 2000-05-29  Jim Meyering  <meyering@lucent.com>
132970         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
132971         mounts with the `ignore' attribute.  Based on a patch from
132972         Mark D. Roth.
132974 2000-05-28  Jim Meyering  <meyering@lucent.com>
132976         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
132977         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
132978         * m4/stat.m4: Likewise.
132979         * m4/lstat.m4: Likewise.
132980         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
132982         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
132983         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
132985 2000-05-26  Jim Meyering  <meyering@lucent.com>
132987         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
132989 2000-05-24  Jim Meyering  <meyering@lucent.com>
132991         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
132992         autoconf requires that.
132993         * m4/lib-check.m4: Likewise.
132994         * m4/jm-macros.m4: Likewise.
132995         * m4/strftime.m4: Likewise.
132997         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
132998         AC_CHECK_DECLS, now that autoconf requires that.
133000 2000-05-22  Jim Meyering  <meyering@lucent.com>
133002         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133003         * m4/lstat.m4: Likewise.
133005 2000-05-22  Jim Meyering  <meyering@lucent.com>
133007         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
133009 2000-05-20  Jim Meyering  <meyering@lucent.com>
133011         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
133012         (jm_PREREQ): Use it.
133014 2000-05-18  Jim Meyering  <meyering@lucent.com>
133016         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
133017         back, too, since it may have been modified by allocate_entry.
133018         (hash_delete): Rewrite to use neither the assignment operator
133019         nor the comma operator in an if-expression.
133021 2000-05-15  Paul Eggert  <eggert@twinsun.com>
133023         * lib/closeout.c:
133024         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
133025         Remove; no longer needed.
133026         "quotearg.h": Add include.
133027         (file_name): Do not bother to explicitly initialize to NULL; it's less
133028         efficient on some hosts.
133029         (close_stdout_status): Remove test as to whether stdout was already
133030         closed; it breaks for the case "echo x | sort >&-".
133031         Quote file name colons.
133032         Do not assume that _("write error") lacks format strings.
133034 2000-05-15  Jim Meyering  <meyering@lucent.com>
133036         * lib/version-etc.c (version_etc_copyright): Update the copyright
133037         string used in all --version output.
133039 2000-05-14  Jim Meyering  <meyering@lucent.com>
133041         * lib/closeout.c (close_stdout_set_file_name): New function.
133042         (close_stdout_status): Use new file-scoped global.
133043         Return right away if fstat says the stdout file descriptor is invalid.
133044         * lib/closeout.h (close_stdout_set_file_name): Declare.
133046 2000-05-10  Jim Meyering  <meyering@lucent.com>
133048         * lib/closeout.c [default_exit_status]: New file-scoped variable.
133049         (close_stdout_set_status): New function.
133050         * lib/closeout.h (close_stdout_set_status): Declare.
133052 2000-05-09  Jim Meyering  <meyering@lucent.com>
133054         * m4/gettext.m4: Rename this...
133055         * m4/libintl.m4: ...to this.
133057 2000-05-08  Jim Meyering  <meyering@lucent.com>
133059         * lib/long-options.c: Don't include closeout.h.
133060         (parse_long_options): Don't call close_stdout for --version.
133062 2000-05-06  Paul Eggert  <eggert@twinsun.com>
133064         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
133065         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
133066         2.1.3 bug.  This avoids a clash when files like regex.c define
133067         _GNU_SOURCE.
133069 2000-05-06  Jim Meyering  <meyering@lucent.com>
133071         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
133072         (AC_REPLACE_FUNCS): Add strnlen.
133074         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
133075         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
133077         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
133078         AC_SEARCH_LIBS call for nanosleep.
133079         (LIB_NANOSLEEP): Set and AC_SUBST.
133081 2000-05-06  Jim Meyering  <meyering@lucent.com>
133083         * lib/strnlen.c: Undefine __strnlen and strnlen.
133084         [!weak_alias]: Define __strnlen to strnlen.
133086         * lib/atexit.c: New file, from libiberty.
133088 2000-05-06  Jim Meyering  <meyering@lucent.com>
133090         * lib/closeout.c (close_stdout_status): Also check for errors on the
133091         stderr stream.
133093 2000-05-05  Jim Meyering  <meyering@lucent.com>
133095         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
133096         AC_SEARCH_LIBS call for clock_gettime.
133097         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
133099         * m4/search-libs.m4: Update from autoconf.
133101         su doesn't work on Solaris 2.6.
133102         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
133103         <shadow.h>.  Reported by Dragos Harabor.
133105 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
133107         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
133108         memcpy instead of xmalloc, xrealloc, path_concat.
133109         (locale_charset): Treat empty environment variables as absent.
133110         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
133112 2000-05-04  Jim Meyering  <meyering@lucent.com>
133114         * lib/getopt.c: Update from glibc.
133115         * lib/obstack.c: Likewise.
133116         * lib/obstack.h: Likewise.
133117         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
133118         file
133120         * lib/regex.h: Likewise.
133121         * lib/strndup.c: Likewise.
133122         * lib/strnlen.c: New file, from glibc.
133124 2000-05-03  Jim Meyering  <meyering@lucent.com>
133126         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
133128 2000-05-02  Paul Eggert  <eggert@twinsun.com>
133130         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
133131         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
133132         compile-time test, rather than inspecting host and OS, to
133133         decide whether to define _LARGEFILE_SOURCE.
133135 2000-05-01  Jim Meyering  <meyering@lucent.com>
133137         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
133139         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
133140         Based on a patch from Bruno Haible.
133142 2000-05-01  Jim Meyering  <meyering@lucent.com>
133144         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
133146 2000-04-29  Jim Meyering  <meyering@lucent.com>
133148         * lib/path-concat.c: Declare strdup only if it's not defined.
133149         * lib/canon-host.c: Likewise.
133151 2000-04-28  Jim Meyering  <meyering@lucent.com>
133153         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
133154         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
133155         is included first, then limits.h is included by locale.h by libintl.h.
133156         From John David Anglin.
133158 2000-04-25  Jim Meyering  <meyering@lucent.com>
133160         * lib/makepath.c (S_IRWXUGO): Define.
133161         (make_path): Always perform explicit chmod if MODE specifies any
133162         of the `special' permission bits.  Prompted by a bug report against
133163         install from Mate Wierdl and Joost van Baal.
133165 2000-04-18  Jim Meyering  <meyering@lucent.com>
133167         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
133168         (jm_PREREQ): Use it.
133170 2000-04-18  Jim Meyering  <meyering@lucent.com>
133172         * lib/README: New file.
133174         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
133175         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
133177 2000-04-17  Jim Meyering  <meyering@lucent.com>
133179         Get it right :-)
133180         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
133181         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
133182         Suggestion from Akim Demaille.
133184 2000-04-17  Jim Meyering  <meyering@lucent.com>
133186         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
133187         the definition of it to rpl_strftime also defined-away the system's
133188         declaration.
133190 2000-04-15  Jim Meyering  <meyering@lucent.com>
133192         Use `C' to denote so-called `contiguous' files, the same way
133193         that tar does.
133194         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
133195         (ftypelet): Use S_ISCTG.
133196         From Michael Deutschmann.
133198 2000-04-14  Jim Meyering  <meyering@lucent.com>
133200         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
133201         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
133202         clobbered.
133204 2000-04-14  Jim Meyering  <meyering@lucent.com>
133206         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
133208 2000-04-13  Jim Meyering  <meyering@lucent.com>
133210         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
133211         AH_VERBATIM to insert required #ifndef into config.h.in.
133212         Suggestion from Akim Demaille.
133214 2000-04-12  Jim Meyering  <meyering@lucent.com>
133216         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
133217         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
133218         Christian Krackowizer.
133220         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
133221         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
133222         (AC_SYS_LARGEFILE): Require.
133223         (AM_C_PROTOTYPES): Require.
133225 2000-04-08  Jim Meyering  <meyering@lucent.com>
133227         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
133228         names don't conflict.  Reported by Eli Zaretskii.
133230 2000-04-07  Jim Meyering  <meyering@lucent.com>
133232         * lib/putenv.c: Move inclusion of errno.h so it follows that of
133233         sys/types.h, to work around system header problems on AIX 3.2.5.
133234         From Bruno Haible.
133236 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
133238         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
133239         bug.  Deal with the different error behavior of Irix iconv.
133241 2000-04-05  Paul Eggert  <eggert@twinsun.com>
133243         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
133244         IRIX if the installer said otherwise.
133246 2000-04-05  Jim Meyering  <meyering@lucent.com>
133248         Portability tweaks required for ultrix4.3.
133249         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
133250         (jm_CHECK_DECLS): Add getutent to the list of functions.
133251         (_jm_DECL_HEADERS): Add utmpx.h.
133252         From John David Anglin.
133254         * m4/strftime.m4: Back out the 2000-04-02 change.
133255         Instead of that change, simply undefine putenv in the test program.
133257 2000-04-05  Jim Meyering  <meyering@lucent.com>
133259         Portability tweaks required for ultrix4.3.
133260         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
133261         getutent.
133262         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
133263         * lib/canon-host.c: Declare strdup.
133264         * lib/path-concat.c: Likewise.
133265         From John David Anglin.
133267 2000-04-04  Jim Meyering  <meyering@lucent.com>
133269         Be more DOS 8.3-friendly.
133270         * lib/ref-add.sin: Renamed from ref-add.sed.in.
133271         * lib/ref-del.sin: Renamed from ref-del.sed.in.
133272         * lib/Makefile.am: Reflect renaming.
133273         Reported by Eli Zaretskii.
133275         Use a temporary file name that won't clash with `charset.alias'
133276         in the DOS 8.3 name space.
133277         * lib/Makefile.am (charset_tmp): Define.
133278         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
133279         (uninstall-local): Likewise.
133280         Reported by Eli Zaretskii.
133282 2000-04-03  Jim Meyering  <meyering@lucent.com>
133284         * m4/gettext.m4: Fix typo in comment.
133286         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
133287         textutils/configure.in).  Suggestion from Paul Eggert.
133288         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
133290 2000-04-02  Paul Eggert  <eggert@twinsun.com>
133292         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
133293         variable in the shell rather than using putenv, which isn't
133294         portable.  This avoids the configure-time inter-test dependency
133295         on the potentially-renamed putenv function.
133297 2000-03-30  Paul Eggert  <eggert@twinsun.com>
133299         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
133300         before checking struct stat.st_blksize, so that
133301         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
133303 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133305         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
133306         since strftime.c uses HAVE_STRFTIME to decide whether to use
133307         the underlying strftime.
133309 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133311         * lib/time/strftime.c (my_strftime): Make sure we call the system
133312         strftime, not ourselves, when invoking the underlying strftime.
133314 2000-03-24  Jim Meyering  <meyering@lucent.com>
133316         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
133317         (charset_alias): Define.
133318         (install-exec-local): Factor out common code.
133319         (uninstall-local): Split lines longer than 80.
133320         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
133321         (SUFFIXES): Define.
133322         (.sed.in.sed): New rule.  Don't redirect directly to $@.
133323         (CLEANFILES): Add ref-add.sed and ref-del.sed.
133325 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
133327         * lib/config.charset: Output a line containing "Packages using this
133328         file".
133329         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
133330         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
133331         ref-del.sed): New rules.
133333 2000-03-17  Jim Meyering  <meyering@lucent.com>
133335         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
133336         Otherwise, include <strings.h>
133338 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
133340         * lib/unicodeio.c (utf8_wctomb): New function.
133341         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
133342         format instead of in UCS-4 with platform dependent endianness.
133344 2000-03-10  Jim Meyering  <meyering@lucent.com>
133346         * m4/lib-check.m4: Look for getspnam in -lgen, too.
133347         From Marco Franzen.
133349 2000-03-07  Paul Eggert  <eggert@twinsun.com>
133351         * lib/savedir.c (savedir): Work even if directory size is
133352         negative; this can happen with some screwy NFS configurations.
133354 2000-03-06  Jim Meyering  <meyering@lucent.com>
133356         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
133357         if it's NULL (because we ran out of memory).  From Bruno Haible.
133359 2000-03-05  Jim Meyering  <meyering@lucent.com>
133361         * lib/localcharset.c ("path-concat.h"): Include.
133362         (get_charset_aliases): Use path_concat instead of ANSI string
133363         concatenation.
133365         * lib/unicodeio.h (PARAMS): Define.
133366         Use it to guard prototype.
133368 2000-03-04  Jim Meyering  <meyering@lucent.com>
133370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
133371         for lib/localcharset.c.
133373 2000-03-04  Jim Meyering  <meyering@lucent.com>
133375         * lib/Makefile.am (install-exec-local): Create $(libdir) before
133376         installing into it.
133377         (uninstall-local): Uncomment this rule so `make distcheck' works
133378         once again.
133380         * lib/unicodeio.c (<errno.h>): Include it.
133381         (errno): Declare if not defined.
133383         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
133385         * lib/config.charset: New version, incorporating remarks from a linux
133386         i18n mailing list.  From Bruno Haible.
133388 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
133390         * m4/codeset.m4: New file.
133391         * m4/iconv.m4: New file.
133392         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
133394 2000-03-03  Jim Meyering  <meyering@lucent.com>
133396         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
133398 2000-03-02  Jim Meyering  <meyering@lucent.com>
133400         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
133401         the messages come out on separate lines.
133403         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
133404         rather than jm_CHECK_DECLARATIONS.
133405         * m4/decl.m4: Remove now-unused file.
133407         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
133408         geteuid.
133410 2000-03-02  Jim Meyering  <meyering@lucent.com>
133412         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
133414 2000-03-01  Jim Meyering  <meyering@lucent.com>
133416         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
133417         * lib/unicodeio.c: Likewise.
133419 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
133421         * lib/config.charset: New file.
133422         * lib/localcharset.c: New file.
133423         * lib/unicodeio.h, lib/unicodeio.c: New files.
133424         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
133425         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
133426         (noinst_HEADERS): Add unicodeio.h.
133427         (all-local, install-exec-local, charset.alias): New targets.
133429 2000-02-28  Paul Eggert  <eggert@twinsun.com>
133431         * lib/quotearg.c (ALERT_CHAR): New macro.
133432         (quotearg_buffer_restyled): Use it.
133434 2000-02-27  Jim Meyering  <meyering@lucent.com>
133436         * m4/check-decl.m4: Add getenv to the list.
133438 2000-02-27  Jim Meyering  <meyering@lucent.com>
133440         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
133441         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
133443         * lib/backupfile.c: Guard inclusion of stdlib.h with
133444         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
133445         Declare malloc if needed.
133447         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
133448         `#ifndef HAVE_DECL..'
133449         now that autoconf always defines the HAVE_DECL_ symbols.
133450         * lib/human.c: Likewise.
133451         * lib/same.c: Likewise.
133452         * lib/strtoumax.c: Likewise.
133454         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
133455         declaration check was not run.
133456         * lib/hash.c: Likewise.
133457         * lib/human.c: Likewise.
133458         * lib/same.c: Likewise.
133459         * lib/strtoumax.c: Likewise.
133461         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
133462         `.', then first look up the entire `.'-containing string as a login
133463         name.
133465 2000-02-23  Jim Meyering  <meyering@lucent.com>
133467         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
133468         in place of my hack.
133470 2000-02-18  Paul Eggert  <eggert@twinsun.com>
133472         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
133473         (textint): New typedef.
133474         (parser_control): Member year changed from int to textint.
133475         All uses changed.
133476         (YYSTYPE): Removed; replaced by %union with int and textint members.
133477         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
133478         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
133479         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
133480         (tSNUMBER, tUNUMBER): Now of type <textintval>.
133481         (date, number, to_year): Use width of number in digits, not its value,
133482         to determine whether it's a 2-digit year, or a 2-digit time.
133483         (yylex): Store number of digits of numeric tokens.
133484         Reported by John Kendall.
133486         (parser_control): Changed from struct parser_control to typedef (for
133487         consistency).  All uses changed.
133489         (tID): Removed; not used.
133490         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
133492 2000-02-14  Paul Eggert  <eggert@twinsun.com>
133494         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
133495         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
133497 2000-02-12  Jim Meyering  <meyering@lucent.com>
133499         * lib/userspec.c (ISDIGIT): Define it.
133500         (isdigit): Remove definition.
133501         (is_number): Use ISDIGIT, not isdigit.
133502         <libintl.h>: Include.
133503         (_ and N_): Define.
133504         (parse_user_spec): Mark translatable strings.
133506 2000-02-10  Jim Meyering  <meyering@lucent.com>
133508         With these changes, nanosleep.[ch] are finally enough like the other
133509         lib/* replacement files to compile on a few more losing systems.
133511         * lib/nanosleep.h: Don't include config.h.
133512         Remove prototype from declaration of nanosleep.
133513         (PARAMS): Remove now-unneeded definition.
133514         * lib/nanosleep.c: #undef nanosleep.
133515         (rpl_nanosleep): Rename from nanosleep.
133517 2000-02-10  Jim Meyering  <meyering@lucent.com>
133519         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
133520         gnu_nanosleep to rpl_nanosleep.
133522 2000-02-09  Jim Meyering  <meyering@lucent.com>
133524         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
133525         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
133527 2000-02-08  Akim Demaille  <akim@epita.fr>
133529         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
133530         `[' and `]' and remove uses of `changequote'.
133531         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
133532         (AC_SYS_LARGEFILE): Likewise.
133533         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
133534         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
133535         of changequote.
133536         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
133537         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
133538         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
133539         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
133541 2000-02-05  Jim Meyering  <meyering@lucent.com>
133543         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
133544         Remove explicit use of AC_HEADER_TIME.  It is required by
133545         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
133546         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
133547         in autoconf whereby the expansion of the latter ended up preceding
133548         the expansion of its prerequisite, AC_HEADER_TIME.
133549         Reported by Volker Borchert.
133551 2000-02-03  Jim Meyering  <meyering@lucent.com>
133553         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
133555 2000-02-03  Jim Meyering  <meyering@lucent.com>
133557         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
133558         rather than with `#if HAVE_UTMPNAME'.
133560 2000-02-02  Jim Meyering  <meyering@lucent.com>
133562         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
133563         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
133564         Reported by Eli Zaretskii.
133566 2000-02-01  Jim Meyering  <meyering@lucent.com>
133568         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
133570 2000-01-31  Jim Meyering  <meyering@lucent.com>
133572         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
133573         functions.  Add the time.h and sys/time.h headers along with the
133574         AC_REQUIRE'ment of AC_HEADER_TIME.
133576 2000-01-31  Jim Meyering  <meyering@lucent.com>
133578         * lib/nanosleep.h (nanosleep): Guard declaration with
133579         `#if ! HAVE_DECL_NANOSLEEP'.
133580         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
133581         the declaration in that vendor's sys/timers.h.
133582         Reported by Christian Krackowizer.
133584         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
133585         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
133586         (ISPRINT): Likewise.
133587         Reported by Tom Tromey.
133589 2000-01-30  Jim Meyering  <meyering@lucent.com>
133591         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
133593         * m4/prereq.m4 (utmp_includes): Define.
133594         Check for ut_user and ut_name members in both struct utmpx
133595         and struct utmp.
133597 2000-01-30  Jim Meyering  <meyering@lucent.com>
133599         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
133600         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
133601         header files where only utmpx.ut_user is declared.
133603         * lib/readutmp.h (UT_USER): Define.
133605 2000-01-29  Jim Meyering  <meyering@lucent.com>
133607         * m4/lib-check.m4: New file containing library-related checks from
133608         fileutils and sh-utils (textutils had none).
133610 2000-01-28  Jim Meyering  <meyering@lucent.com>
133612         * m4/perl.m4: Change format of warning message to look more like that
133613         from the missing script.  Suggestion from François Pinard.
133615 2000-01-25  Jim Meyering  <meyering@lucent.com>
133617         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
133618         well as time.h in the compile check.
133619         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
133620         Fix typo in cross-compiling case: s/yes/no/.
133622 2000-01-23  Jim Meyering  <meyering@lucent.com>
133624         * m4/jm-macros.m4: Move df-related tests here from
133625         fileutils/configure.in
133627         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
133628         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
133630         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
133631         s/space/ac_fsusage_space/.
133632         (jm_FILE_SYSTEM_USAGE): Take two parameters.
133634         * m4/ftruncate.m4: New file (derived from part of
133635         fileutils/configure.in).
133636         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
133637         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
133639         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
133640         AC_SUBST these here, rather than just in sh-util/configure.in, so
133641         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
133642         all the same.
133643         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
133644         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
133645         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
133646         (AC_SUBST(POW_LIBM)): Likewise.
133647         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
133649 2000-01-23  Jim Meyering  <meyering@lucent.com>
133651         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
133652         obstack.c.
133654 2000-01-22  Jim Meyering  <meyering@lucent.com>
133656         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
133658         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
133660         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
133661         configure.in
133662         (AC_CHECK_HEADERS): Likewise for sh-utils.
133663         (AC_CHECK_HEADERS): Likewise for textutils.
133664         Merge the three lists of headers.
133666         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
133667         from fileutils' configure.in.
133669         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
133670         code. Moved tests into their own function (_jm_DECL_HEADERS) in
133671         check-decl.m4.
133673         * m4/check-decl.m4: Use #if rather than #ifdef.
133674         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
133675         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
133676         (_jm_DECL_HEADERS): Define new function.
133677         (jm_CHECK_DECLARATIONS): Require it.
133679 2000-01-22  Jim Meyering  <meyering@lucent.com>
133681         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
133682         [! HAVE_DECL_STRTOULL]: Declare strtoull.
133683         Required for some AIX systems.  Reported by Christian Krackowizer.
133684         [TESTING] (main): New function.
133686         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
133687         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
133688         letters.
133690         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
133691         iswprint.
133693         * lib/strverscmp.c (ISDIGIT): Define.
133694         (strverscmp): Use ISDIGIT, not isdigit.
133696 2000-01-19  Jim Meyering  <meyering@lucent.com>
133698         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
133699         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
133700         defines `struct timespec' in <sys/time.h>
133702         * m4/c-bs-a.m4: Remove uses of changequote altogether.
133703         Thanks to Akim for explaining.
133705 2000-01-17  Paul Eggert  <eggert@twinsun.com>
133707         * lib/nanosleep.c (nanosleep):
133708         Don't use SA_INTERRUPT to decide whether to call sigaction, as
133709         POSIX.1 doesn't require SA_INTERRUPT and some systems
133710         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
133711         it's been part of POSIX.1 since day 1 (in 1988).
133713 2000-01-17  Jim Meyering  <meyering@lucent.com>
133715         * lib/interlock: Remove unused file.  Reported by François Pinard.
133717 2000-01-16  Paul Eggert  <eggert@twinsun.com>
133719         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
133720         alert, backslash, formfeed, and vertical tab unnecessarily in
133721         shell quoting style.
133723 2000-01-16  Jim Meyering  <meyering@lucent.com>
133725         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
133726         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
133727         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
133728         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
133730 2000-01-16  Jim Meyering  <meyering@lucent.com>
133732         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
133733         because the latter didn't work.
133735 2000-01-15  Jim Meyering  <meyering@lucent.com>
133737         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
133738         (AC_REPLACE_FUNCS): Add memcpy and memset.
133739         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
133740         Add strpbrk.
133741         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
133743 2000-01-12  Jim Meyering  <meyering@lucent.com>
133745         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
133746         (jm_PREREQ): Use it.
133747         (jm_PREREQ_READUTMP): New macro.
133748         (jm_PREREQ): Use it.
133750 2000-01-11  Paul Eggert  <eggert@twinsun.com>
133752         Quote multibyte characters correctly.
133753         * m4/c-bs-a.m4: New file.
133754         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
133755         (jm_PREREQ): Use it.
133757 2000-01-11  Paul Eggert  <eggert@twinsun.com>
133759         * m4/uintmax_t.m4: Port to autoconf 2.13.
133761 2000-01-08  Jim Meyering  <meyering@ascend.com>
133763         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
133764         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
133766 2000-01-04  Jim Meyering  <meyering@ascend.com>
133768         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
133769         jm_STRUCT_DIRENT_D_TYPE.
133770         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
133771         jm_STRUCT_DIRENT_D_INO.
133772         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
133773         jm_STRUCT_UTIMBUF.
133774         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
133775         renamings.
133776         * m4/utime.m4: Likewise.
133778         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
133779         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
133781 2000-01-03  Paul Eggert  <eggert@twinsun.com>
133783         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
133784         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
133786 2000-01-02  Jim Meyering  <meyering@ascend.com>
133788         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
133789         remember if this is necessary.
133791 1999-12-26  Jim Meyering  <meyering@ascend.com>
133793         * m4/jm-macros.m4: Use it here.
133794         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
133796 1999-12-23  Jim Meyering  <meyering@ascend.com>
133798         * m4/jm-macros.m4: Check for clock_gettime (moved from
133799         fileutils/configure.in)
133800         Check for gettimeofday.
133802 1999-12-20  Jim Meyering  <meyering@ascend.com>
133804         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
133805         autoconf-2.14a-1999-12-20.
133807 1999-12-19  Jim Meyering  <meyering@ascend.com>
133809         * m4/lstat-slash.m4: New file.
133810         * m4/jm-macros.m4: Use the new macro:
133811         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133813 1999-12-07  Jim Meyering  <meyering@ascend.com>
133815         * m4/perl.m4: Require that File::Compare be available, too.
133816         Too many systems seem to lack it.
133818         * m4/strftime.m4: Add checks for most of the cpp macros tested in
133819         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
133821 1999-11-18  Paul Eggert  <eggert@twinsun.com>
133823         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
133824         problem with the QNX 4.25 shell, which doesn't propagate exit
133825         status of failed commands inside shell assignments.
133827 1999-11-17  Jim Meyering  <meyering@ascend.com>
133829         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
133831 1999-11-07  Jim Meyering  <meyering@ascend.com>
133833         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
133835 1999-11-06  Jim Meyering  <meyering@ascend.com>
133837         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
133838         * m4/jm-macros.m4 (jm_MACROS): Use it here.
133840 1999-11-05  Jim Meyering  <meyering@ascend.com>
133842         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
133843         configure.in of textutils, fileutils, and sh-utils into this one
133844         (shared between those packages) file.
133845         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
133846         AC_STRUCT_ST_BLKSIZE.
133848 1999-11-03  Jim Meyering  <meyering@ascend.com>
133850         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
133851         of AC_CHECK_TYPE checks includes unistd.h.
133852         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
133853         Suggestion from Akim Demaille.
133855 1999-10-30  Jim Meyering  <meyering@ascend.com>
133857         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
133858         m4-quoted string.
133859         * m4/ls-mntd-fs.m4: Likewise.
133860         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
133861         * m4/jm-winsz1.m4: Likewise.
133863         * m4/const.m4: Remove file, since the fix made it into the experimental
133864         version of autoconf.
133865         * m4/mktime.m4: Likewise.
133867         * m4/check-type.m4: Remove file, now that the latest version of
133868         AC_CHECK_TYPE takes a third arg to specify additional #includes.
133870         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
133871         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
133872         AC_CHECK_TYPE.
133874 1999-10-04  Jim Meyering  <meyering@ascend.com>
133876         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
133878 1999-09-22  Paul Eggert  <eggert@twinsun.com>
133880         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
133881         2.95.1 bug with HP-UX 10.20.
133883 1999-09-17  Jim Meyering  <meyering@ascend.com>
133885         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
133886         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
133887         due to missing strdup (against sh-utils-2.0).
133889 1999-08-29  Jim Meyering  <meyering@ascend.com>
133891         * m4/jm-macros.m4: Require jm_BISON.
133892         * m4/bison.m4: New file.
133894 1999-08-17  Paul Eggert  <eggert@twinsun.com>
133896         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
133897         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
133899 1999-08-05  Jim Meyering  <meyering@ascend.com>
133901         * m4/getline.m4: Rename test file from conftestdata to conftest.data
133902         to avoid conflicts with `conftest' on 8+3 filesystems.
133903         Suggestion from Eli Zaretskii.
133905 1999-08-04  Jim Meyering  <meyering@ascend.com>
133907         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
133908         fileutils and sh-utils (textutils's getline test was inadequate).
133909         (AM_FUNC_GETLINE): Run this test.
133910         (AC_CHECK_FUNCS): Check for getdelim.
133911         Reported by Bob Proulx.
133913 1999-08-02  Jim Meyering  <meyering@ascend.com>
133915         * m4/jm-macros.m4: Add a comment.
133917 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133919         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
133920         <inttypes.h> defines strtoumax as a macro (and not as a
133921         function).
133923 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133925         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
133926         that we can shift, multiply and divide unsigned long long
133927         values; Ultrix cc can't do it.
133929 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133931         * m4/mktime.m4: New file, which is a preview of what should appear
133932         in the next public autoconf release.
133934 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133936         * m4/lfs.m4: Remove this file.
133937         * m4/largefile.m4: New file.  It contains the old contents of
133938         lfs.m4, except that all names with prefix AC_LFS have been
133939         changed to use the prefix AC_SYS_LARGEFILE instead, to be
133940         compatible with future autoconf versions.  Also, some minor m4
133941         quoting problems have been fixed.
133943 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133945         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
133946         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
133947         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
133948         and simplify the shell code.
133950 1999-08-01  Jim Meyering  <meyering@ascend.com>
133952         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
133953         m4.
133955 1999-07-20  Jim Meyering  <meyering@ascend.com>
133957         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
133959 1999-07-15  Jim Meyering  <meyering@ascend.com>
133961         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
133963 1999-05-22  Jim Meyering  <meyering@ascend.com>
133965         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
133967 1999-05-20  Jim Meyering  <meyering@ascend.com>
133969         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
133970         Add a colon after each `then' in case $4 is empty.
133972 1999-05-16  Jim Meyering  <meyering@ascend.com>
133974         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
133976 1999-05-10  Jim Meyering  <meyering@ascend.com>
133978         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
133980         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
133981         AC_FUNC_MKTIME.
133983 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
133985         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
133987 1999-05-04  Paul Eggert  <eggert@twinsun.com>
133989         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
133990         not CPPFLAGS, so that linking works correctly in IRIX.
133992 1999-04-30  Paul Eggert  <eggert@twinsun.com>
133994         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
133996 1999-04-20  Paul Eggert  <eggert@twinsun.com>
133998         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
133999         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
134000         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
134001         jm_AC_TYPE_UNSIGNED_LONG_LONG.
134002         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
134004         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
134006 1999-04-20  Jim Meyering  <meyering@ascend.com>
134008         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
134009         AC_REPLACE xstroull if necessary.  From Paul Eggert.
134010         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
134012 1999-04-18  Jim Meyering  <meyering@ascend.com>
134014         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
134015         * m4/jm-macros.m4: Use it.
134017 1999-04-06  Jim Meyering  <meyering@ascend.com>
134019         * m4/strftime.m4: Remove test for %f.
134021 1999-03-29  Jim Meyering  <meyering@ascend.com>
134023         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
134024         superset of the AC_TYPE_* checks in the textutils, fileutils,
134025         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
134026         AC_TYPE_PID_T.
134028 1999-03-28  Jim Meyering  <meyering@ascend.com>
134030         * m4/jm-macros.m4: Define GNU_PACKAGE here.
134031         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
134032         replaced e.g., in the *.sh files of the sh-utils.
134034 1999-03-20  Jim Meyering  <meyering@ascend.com>
134036         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
134037         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
134038         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
134040 1999-03-19  Jim Meyering  <meyering@ascend.com>
134042         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
134044 1999-03-12  Jim Meyering  <meyering@ascend.com>
134046         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
134048 1999-03-07  Jim Meyering  <meyering@ascend.com>
134050         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
134051         declared.
134053 1999-02-17  Jim Meyering  <meyering@ascend.com>
134055         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
134056         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
134058 1999-02-07  Jim Meyering  <meyering@ascend.com>
134060         * m4/group-member.m4: New file -- extracted from sh-utils'
134061         configure.in.
134063         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
134064         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
134066 1999-02-06  Jim Meyering  <meyering@ascend.com>
134068         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
134069         * m4/fnmatch.m4: Likewise.
134070         * m4/getgroups.m4: Likewise.
134071         * m4/lstat.m4: Likewise.
134072         * m4/malloc.m4: Likewise.
134073         * m4/putenv.m4: Likewise.
134074         * m4/realloc.m4: Likewise.
134075         * m4/regex.m4: Likewise.
134076         * m4/stat.m4: Likewise.
134077         * m4/strftime.m4: Likewise.
134078         Suggestion from Alain Magloire.
134080         * m4/chown.m4: Use `.$ac_objext', not `.o'.
134081         * m4/fnmatch.m4: Likewise.
134082         * m4/getgroups.m4: Likewise.
134083         * m4/getline.m4: Likewise.
134084         * m4/lstat.m4: Likewise.
134085         * m4/malloc.m4: Likewise.
134086         * m4/memcmp.m4: Likewise.
134087         * m4/putenv.m4: Likewise.
134088         * m4/realloc.m4: Likewise.
134089         * m4/regex.m4: Likewise.
134090         * m4/stat.m4: Likewise.
134091         * m4/strftime.m4: Likewise.
134092         Suggestion from Alain Magloire.
134094         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
134095         an argument.
134097         * m4/regex.m4: Add a run-time Test for proper operation of
134098         re_compile_pattern.
134100 1999-01-31  Jim Meyering  <meyering@ascend.com>
134102         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
134104 1999-01-30  Jim Meyering  <meyering@ascend.com>
134106         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
134108         * m4/jm-mktime.m4: Make this a wrapper around the official
134109         AM_FUNC_MKTIME rather than my private copy, now that the official one
134110         is up to date.
134111         * m4/mktime.m4: Remove file.
134113         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
134114         * m4/uptime.m4: Likewise.
134115         * m4/uintmax_t.m4: Likewise.
134117 1999-01-28  Jim Meyering  <meyering@ascend.com>
134119         * m4/jm-macros.m4: Use jm_AFS.
134120         * m4/afs.m4: New file (from fileutils' configure.in).
134122         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
134123         * m4/chown.m4: Likewise.
134124         * m4/d-ino.m4: Likewise.
134125         * m4/d-type.m4: Likewise.
134126         * m4/fnmatch.m4: Likewise.
134127         * m4/getgroups.m4: Likewise.
134128         * m4/gettext.m4: Likewise.
134129         * m4/jm-mktime.m4: Likewise.
134130         * m4/jm-winsz2.m4: Likewise.
134131         * m4/lcmessage.m4: Likewise.
134132         * m4/ls-mntd-fs.m4: Likewise.
134133         * m4/malloc.m4: Likewise.
134134         * m4/memcmp.m4: Likewise.
134135         * m4/putenv.m4: Likewise.
134136         * m4/realloc.m4: Likewise.
134137         * m4/st_mtim.m4: Likewise.
134138         * m4/strftime.m4: Likewise.
134140 1999-01-16  Jim Meyering  <meyering@ascend.com>
134142         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
134143         (ARGMATCH_DIE_DECL): Define.
134145 1999-01-12  Jim Meyering  <meyering@ascend.com>
134147         * m4/Makefile.am.in: Rewrite to avoid using fmt.
134148         Reported by Lars Hecking.
134150 1999-01-10  Jim Meyering  <meyering@ascend.com>
134152         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
134153         gross kludge.
134154         * m4/inttypes_h.m4: Likewise.
134155         * m4/lstat.m4: Likewise.
134156         * m4/malloc.m4: Likewise.
134157         * m4/readdir.m4: Likewise.
134158         * m4/realloc.m4: Likewise.
134159         * m4/st_dm_mode.m4: Likewise.
134160         * m4/stat.m4: Likewise.
134161         * m4/utimbuf.m4: Likewise.
134162         * m4/utimes.m4: Likewise.
134164         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
134165         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
134166         comments in config.h.in are meaningful.
134168         * m4/jm-macros.m4: Require autoconf-2.13 here.
134170         * m4/regex.m4: By default, don't use the included regex.c on systems
134171         with glibc 2.  Suggestion from Uli Drepper.
134173 1999-01-02  Jim Meyering  <meyering@ascend.com>
134175         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
134177 1998-12-18  Jim Meyering  <meyering@ascend.com>
134179         * m4/Makefile.am.in (Makefile.am): Simplify rule.
134180         Based on a suggestion from Lars Hecking.
134182 1998-11-16  Paul Eggert  <eggert@twinsun.com>
134184         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
134186 1998-11-16  Jim Meyering  <meyering@ascend.com>
134188         * m4/lfs.m4: Double-quote the `uname...` expression.
134190 1998-11-14  Jim Meyering  <meyering@ascend.com>
134192         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
134193         * m4/stat.m4: Likewise.
134195 1998-11-03  Jim Meyering  <meyering@ascend.com>
134197         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
134198         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
134200 1998-10-18  Jim Meyering  <meyering@ascend.com>
134202         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
134204 1998-10-17  Jim Meyering  <meyering@ascend.com>
134206         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
134207         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
134208         calls for those previously hard-coded headers.  Instead, take a new
134209         parameter.
134210         (jm_CHECK_DECLARATIONS): Reflect interface change.
134211         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
134212         (jm_CHECK_DECL_LOCALTIME_R): New macro.
134214         * m4/mktime.m4: Test for spring-forward gap before long-running test.
134216 1998-10-14  Jim Meyering  <meyering@ascend.com>
134218         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
134219         instead of "TZ=America/Vancouver".  From Paul Eggert.
134221 1998-10-11  Jim Meyering  <meyering@ascend.com>
134223         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
134224         This adds a test for a recently added compatibility fix for mktime.c.
134225         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
134227 1998-09-27  Jim Meyering  <meyering@ascend.com>
134229         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
134231         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
134232         ../configure.in, including a change from Gordon Matzigkeit to allow
134233         cross-compiling for the Hurd.
134235         * m4/glibc.m4: New file/macro to test for the GNU C Library
134236         versions 1 and 2.  From Gordon Matzigkeit.
134237         Indent.
134239 1998-09-21  Jim Meyering  <meyering@ascend.com>
134241         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
134243 1998-08-18  Paul Eggert  <eggert@twinsun.com>
134245         Port nanosecond-resolution times to UnixWare 2.1.2 and
134246         pedantic Solaris 2.6.
134248         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
134249         AC_STRUCT_ST_MTIM.
134250         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
134251         Generate name of ns member, instead of just 1 or undef.
134252         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
134254 1998-08-15  Jim Meyering  <meyering@ascend.com>
134256         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
134257         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
134258         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
134259         instead of jm_TYPE_SSIZE_T.
134261 1998-08-12  Jim Meyering  <meyering@ascend.com>
134263         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
134265 1998-08-02  Jim Meyering  <meyering@ascend.com>
134267         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
134268         in acconfig.h manually.
134270 1998-07-31  Paul Eggert  <eggert@twinsun.com>
134272         * m4/st_mtim.m4: New file.
134274 1998-07-28  Jim Meyering  <meyering@ascend.com>
134276         * m4/utimes.m4: Undef stat.
134278 1998-07-25  Jim Meyering  <meyering@ascend.com>
134280         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
134281         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
134283 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
134285         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
134286         uid and gid actually remain unchanged.
134288 1998-07-07  Jim Meyering  <meyering@ascend.com>
134290         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
134292 1998-07-04  Jim Meyering  <meyering@ascend.com>
134294         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
134295         to prove that this macro can be used in packages without regex.c.
134297 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
134299         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
134300         is to be used.
134302 1998-07-03  Jim Meyering  <meyering@ascend.com>
134304         * m4/gettext.m4: Add -lintl if it's found to be necessary.
134306         * m4/gettext.m4: New file -- from gettext-0.10.35.
134307         * m4/lcmessage.m4: Likewise.
134308         * m4/progtest.m4: Likewise.
134310         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
134311         * m4/jm-macros.m4: Require the new macro.
134313 1998-06-29  Jim Meyering  <meyering@ascend.com>
134315         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
134316         for the definition of NGROUPS (used in a system header included
134317         by sys/mount.h).
134319 1998-06-28  Jim Meyering  <meyering@ascend.com>
134321         * m4/ls-mntd-fs.m4: New file.
134322         * m4/fstypename.m4: New file.
134324         * m4/jm-macros.m4: Require the new macro.
134325         * m4/jm-glibc-io.m4: New file.
134327 1998-05-19  Jim Meyering  <meyering@ascend.com>
134329         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
134330         * m4/lchown.m4: New file.
134332         * m4/Makefile.am.in: New file.
134333         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
134335 1998-05-14  Jim Meyering  <meyering@ascend.com>
134337         * m4/Makefile.am (EXTRA_DIST): Add them.
134338         * m4/jm-macros.m4: New file.
134339         * m4/utimbuf.m4: New file.
134341 1998-05-12  Jim Meyering  <meyering@ascend.com>
134343         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
134345 1998-05-11  Jim Meyering  <meyering@ascend.com>
134347         * m4/isc-posix.m4: New file.
134349 1998-05-10  Jim Meyering  <meyering@ascend.com>
134351         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
134353 1998-05-09  Jim Meyering  <meyering@ascend.com>
134355         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
134356         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
134357         with automake.
134359         * m4/ssize_t.m4: New file.
134360         * m4/mktime.m4: Remove file -- the new automake has this now.
134362 1998-04-26  Jim Meyering  <meyering@ascend.com>
134364         * m4/assert.m4: New file.
134365         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
134367 1998-04-05  Jim Meyering  <meyering@ascend.com>
134369         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
134370         (jm_PREREQ): Use it here.
134372 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
134374         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
134375         in acconfig.h.
134377 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
134379         * m4/prereq.m4: New file.
134380         * m4/error.m4: New file.
134381         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
134383 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
134385         * m4/getline.m4: Don't set am_cv_func_working_getline before the
134386         cache-check for the same variable -- that defeated the purpose of
134387         the test; the test program was never run.  This was a problem only
134388         on systems with losing getline functions -- HP-UX 10.20 is one.
134389         Reported by Bjorn Helgaas.
134391 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
134393         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
134395 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
134397         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
134399         * m4/const.m4: New file.  Use an initializer in this declaration
134400         typedef int charset[2]; const charset x;
134401         Reported by Bob Glickstein.
134403 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
134405         * m4/chown.m4: Fix reversed types on -1 args to chown.
134406         From Kaveh Ghazi.
134408 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
134410         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
134411         Add lseek and memchr.
134413         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
134414         T.E.Dickey <dickey@clark.net> said that some older preprocessors
134415         have a 20-character limit on names.
134417 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
134419         * m4/inttypes_h.m4: New file.
134420         * m4/uintmax_t.m4: New file.
134421         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
134424         -----
134426         Local Variables:
134427         coding: utf-8
134428         End:
134430         Copyright (C) 1997-2020 Free Software Foundation, Inc.
134432         Copying and distribution of this file, with or without
134433         modification, are permitted provided the copyright notice
134434         and this notice are preserved.